aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorPrashanth Mundkur <prashanth.mundkur@gmail.com>2019-09-12 17:33:52 -0700
committerPrashanth Mundkur <prashanth.mundkur@gmail.com>2019-09-12 17:33:52 -0700
commitbcb00de616cad2bc0342076407b6e57bafc0f563 (patch)
tree532353cea834ecdd653478fef020fe9822777d09 /test
parent86ff4e00905f1202bffb7e2be3709030d2cba1c2 (diff)
downloadsail-riscv-bcb00de616cad2bc0342076407b6e57bafc0f563.zip
sail-riscv-bcb00de616cad2bc0342076407b6e57bafc0f563.tar.gz
sail-riscv-bcb00de616cad2bc0342076407b6e57bafc0f563.tar.bz2
Add floating-point tests.fdext
Diffstat (limited to 'test')
-rw-r--r--test/riscv-tests/rv32ud-p-fadd.dump478
-rw-r--r--test/riscv-tests/rv32ud-p-fadd.elfbin0 -> 13892 bytes
-rw-r--r--test/riscv-tests/rv32ud-p-fclass.dump277
-rw-r--r--test/riscv-tests/rv32ud-p-fclass.elfbin0 -> 13652 bytes
-rw-r--r--test/riscv-tests/rv32ud-p-fcmp.dump612
-rw-r--r--test/riscv-tests/rv32ud-p-fcmp.elfbin0 -> 14316 bytes
-rw-r--r--test/riscv-tests/rv32ud-p-fcvt.dump286
-rw-r--r--test/riscv-tests/rv32ud-p-fcvt.elfbin0 -> 13564 bytes
-rw-r--r--test/riscv-tests/rv32ud-p-fcvt_w.dump604
-rw-r--r--test/riscv-tests/rv32ud-p-fcvt_w.elfbin0 -> 14432 bytes
-rw-r--r--test/riscv-tests/rv32ud-p-fdiv.dump407
-rw-r--r--test/riscv-tests/rv32ud-p-fdiv.elfbin0 -> 13724 bytes
-rw-r--r--test/riscv-tests/rv32ud-p-fmadd.dump555
-rw-r--r--test/riscv-tests/rv32ud-p-fmadd.elfbin0 -> 14064 bytes
-rw-r--r--test/riscv-tests/rv32ud-p-fmin.dump760
-rw-r--r--test/riscv-tests/rv32ud-p-fmin.elfbin0 -> 14576 bytes
-rw-r--r--test/riscv-tests/rv32ud-v-fadd.dump1273
-rw-r--r--test/riscv-tests/rv32ud-v-fadd.elfbin0 -> 22876 bytes
-rw-r--r--test/riscv-tests/rv32ud-v-fclass.dump1064
-rw-r--r--test/riscv-tests/rv32ud-v-fclass.elfbin0 -> 18540 bytes
-rw-r--r--test/riscv-tests/rv32ud-v-fcmp.dump1421
-rw-r--r--test/riscv-tests/rv32ud-v-fcmp.elfbin0 -> 23304 bytes
-rw-r--r--test/riscv-tests/rv32ud-v-fcvt.dump1095
-rw-r--r--test/riscv-tests/rv32ud-v-fcvt.elfbin0 -> 18444 bytes
-rw-r--r--test/riscv-tests/rv32ud-v-fcvt_w.dump1401
-rw-r--r--test/riscv-tests/rv32ud-v-fcvt_w.elfbin0 -> 23416 bytes
-rw-r--r--test/riscv-tests/rv32ud-v-fdiv.dump1198
-rw-r--r--test/riscv-tests/rv32ud-v-fdiv.elfbin0 -> 18612 bytes
-rw-r--r--test/riscv-tests/rv32ud-v-fmadd.dump1354
-rw-r--r--test/riscv-tests/rv32ud-v-fmadd.elfbin0 -> 23048 bytes
-rw-r--r--test/riscv-tests/rv32ud-v-fmin.dump1571
-rw-r--r--test/riscv-tests/rv32ud-v-fmin.elfbin0 -> 23560 bytes
-rw-r--r--test/riscv-tests/rv32uf-p-fadd.dump342
-rw-r--r--test/riscv-tests/rv32uf-p-fadd.elfbin0 -> 13732 bytes
-rw-r--r--test/riscv-tests/rv32uf-p-fclass.dump190
-rw-r--r--test/riscv-tests/rv32uf-p-fclass.elfbin0 -> 9204 bytes
-rw-r--r--test/riscv-tests/rv32uf-p-fcmp.dump450
-rw-r--r--test/riscv-tests/rv32uf-p-fcmp.elfbin0 -> 14076 bytes
-rw-r--r--test/riscv-tests/rv32uf-p-fcvt.dump159
-rw-r--r--test/riscv-tests/rv32uf-p-fcvt.elfbin0 -> 13280 bytes
-rw-r--r--test/riscv-tests/rv32uf-p-fcvt_w.dump604
-rw-r--r--test/riscv-tests/rv32uf-p-fcvt_w.elfbin0 -> 14432 bytes
-rw-r--r--test/riscv-tests/rv32uf-p-fdiv.dump294
-rw-r--r--test/riscv-tests/rv32uf-p-fdiv.elfbin0 -> 13544 bytes
-rw-r--r--test/riscv-tests/rv32uf-p-fmadd.dump411
-rw-r--r--test/riscv-tests/rv32uf-p-fmadd.elfbin0 -> 13872 bytes
-rw-r--r--test/riscv-tests/rv32uf-p-fmin.dump553
-rw-r--r--test/riscv-tests/rv32uf-p-fmin.elfbin0 -> 14288 bytes
-rw-r--r--test/riscv-tests/rv32uf-v-fadd.dump1153
-rw-r--r--test/riscv-tests/rv32uf-v-fadd.elfbin0 -> 18620 bytes
-rw-r--r--test/riscv-tests/rv32uf-v-fclass.dump995
-rw-r--r--test/riscv-tests/rv32uf-v-fclass.elfbin0 -> 17800 bytes
-rw-r--r--test/riscv-tests/rv32uf-v-fcmp.dump1265
-rw-r--r--test/riscv-tests/rv32uf-v-fcmp.elfbin0 -> 23064 bytes
-rw-r--r--test/riscv-tests/rv32uf-v-fcvt.dump974
-rw-r--r--test/riscv-tests/rv32uf-v-fcvt.elfbin0 -> 18168 bytes
-rw-r--r--test/riscv-tests/rv32uf-v-fcvt_w.dump1401
-rw-r--r--test/riscv-tests/rv32uf-v-fcvt_w.elfbin0 -> 23416 bytes
-rw-r--r--test/riscv-tests/rv32uf-v-fdiv.dump1091
-rw-r--r--test/riscv-tests/rv32uf-v-fdiv.elfbin0 -> 18432 bytes
-rw-r--r--test/riscv-tests/rv32uf-v-fmadd.dump1210
-rw-r--r--test/riscv-tests/rv32uf-v-fmadd.elfbin0 -> 22856 bytes
-rw-r--r--test/riscv-tests/rv32uf-v-fmin.dump1348
-rw-r--r--test/riscv-tests/rv32uf-v-fmin.elfbin0 -> 23272 bytes
-rw-r--r--test/riscv-tests/rv64ud-p-fadd.dump422
-rw-r--r--test/riscv-tests/rv64ud-p-fadd.elfbin0 -> 14368 bytes
-rw-r--r--test/riscv-tests/rv64ud-p-fclass.dump212
-rw-r--r--test/riscv-tests/rv64ud-p-fclass.elfbin0 -> 9568 bytes
-rw-r--r--test/riscv-tests/rv64ud-p-fcmp.dump561
-rw-r--r--test/riscv-tests/rv64ud-p-fcmp.elfbin0 -> 14872 bytes
-rw-r--r--test/riscv-tests/rv64ud-p-fcvt.dump327
-rw-r--r--test/riscv-tests/rv64ud-p-fcvt.elfbin0 -> 14240 bytes
-rw-r--r--test/riscv-tests/rv64ud-p-fcvt_w.dump1364
-rw-r--r--test/riscv-tests/rv64ud-p-fcvt_w.elfbin0 -> 17408 bytes
-rw-r--r--test/riscv-tests/rv64ud-p-fdiv.dump375
-rw-r--r--test/riscv-tests/rv64ud-p-fdiv.elfbin0 -> 14168 bytes
-rw-r--r--test/riscv-tests/rv64ud-p-fmadd.dump507
-rw-r--r--test/riscv-tests/rv64ud-p-fmadd.elfbin0 -> 14568 bytes
-rw-r--r--test/riscv-tests/rv64ud-p-fmin.dump704
-rw-r--r--test/riscv-tests/rv64ud-p-fmin.elfbin0 -> 15176 bytes
-rw-r--r--test/riscv-tests/rv64ud-v-fadd.dump1163
-rw-r--r--test/riscv-tests/rv64ud-v-fadd.elfbin0 -> 19552 bytes
-rw-r--r--test/riscv-tests/rv64ud-v-fclass.dump935
-rw-r--r--test/riscv-tests/rv64ud-v-fclass.elfbin0 -> 18248 bytes
-rw-r--r--test/riscv-tests/rv64ud-v-fcmp.dump1306
-rw-r--r--test/riscv-tests/rv64ud-v-fcmp.elfbin0 -> 20064 bytes
-rw-r--r--test/riscv-tests/rv64ud-v-fcvt.dump1060
-rw-r--r--test/riscv-tests/rv64ud-v-fcvt.elfbin0 -> 19424 bytes
-rw-r--r--test/riscv-tests/rv64ud-v-fcvt_w.dump2105
-rw-r--r--test/riscv-tests/rv64ud-v-fcvt_w.elfbin0 -> 26696 bytes
-rw-r--r--test/riscv-tests/rv64ud-v-fdiv.dump1096
-rw-r--r--test/riscv-tests/rv64ud-v-fdiv.elfbin0 -> 19352 bytes
-rw-r--r--test/riscv-tests/rv64ud-v-fmadd.dump1236
-rw-r--r--test/riscv-tests/rv64ud-v-fmadd.elfbin0 -> 19760 bytes
-rw-r--r--test/riscv-tests/rv64ud-v-fmin.dump1429
-rw-r--r--test/riscv-tests/rv64ud-v-fmin.elfbin0 -> 24464 bytes
-rw-r--r--test/riscv-tests/rv64uf-p-fadd.dump342
-rw-r--r--test/riscv-tests/rv64uf-p-fadd.elfbin0 -> 14208 bytes
-rw-r--r--test/riscv-tests/rv64uf-p-fclass.dump186
-rw-r--r--test/riscv-tests/rv64uf-p-fclass.elfbin0 -> 9568 bytes
-rw-r--r--test/riscv-tests/rv64uf-p-fcmp.dump450
-rw-r--r--test/riscv-tests/rv64uf-p-fcmp.elfbin0 -> 14632 bytes
-rw-r--r--test/riscv-tests/rv64uf-p-fcvt.dump243
-rw-r--r--test/riscv-tests/rv64uf-p-fcvt.elfbin0 -> 13944 bytes
-rw-r--r--test/riscv-tests/rv64uf-p-fcvt_w.dump1005
-rw-r--r--test/riscv-tests/rv64uf-p-fcvt_w.elfbin0 -> 16440 bytes
-rw-r--r--test/riscv-tests/rv64uf-p-fdiv.dump294
-rw-r--r--test/riscv-tests/rv64uf-p-fdiv.elfbin0 -> 13968 bytes
-rw-r--r--test/riscv-tests/rv64uf-p-fmadd.dump411
-rw-r--r--test/riscv-tests/rv64uf-p-fmadd.elfbin0 -> 14376 bytes
-rw-r--r--test/riscv-tests/rv64uf-p-fmin.dump553
-rw-r--r--test/riscv-tests/rv64uf-p-fmin.elfbin0 -> 14888 bytes
-rw-r--r--test/riscv-tests/rv64uf-v-fadd.dump1083
-rw-r--r--test/riscv-tests/rv64uf-v-fadd.elfbin0 -> 19392 bytes
-rw-r--r--test/riscv-tests/rv64uf-v-fclass.dump929
-rw-r--r--test/riscv-tests/rv64uf-v-fclass.elfbin0 -> 18224 bytes
-rw-r--r--test/riscv-tests/rv64uf-v-fcmp.dump1195
-rw-r--r--test/riscv-tests/rv64uf-v-fcmp.elfbin0 -> 19824 bytes
-rw-r--r--test/riscv-tests/rv64uf-v-fcvt.dump964
-rw-r--r--test/riscv-tests/rv64uf-v-fcvt.elfbin0 -> 19128 bytes
-rw-r--r--test/riscv-tests/rv64uf-v-fcvt_w.dump1722
-rw-r--r--test/riscv-tests/rv64uf-v-fcvt_w.elfbin0 -> 25728 bytes
-rw-r--r--test/riscv-tests/rv64uf-v-fdiv.dump1021
-rw-r--r--test/riscv-tests/rv64uf-v-fdiv.elfbin0 -> 19160 bytes
-rw-r--r--test/riscv-tests/rv64uf-v-fmadd.dump1140
-rw-r--r--test/riscv-tests/rv64uf-v-fmadd.elfbin0 -> 19568 bytes
-rw-r--r--test/riscv-tests/rv64uf-v-fmin.dump1278
-rw-r--r--test/riscv-tests/rv64uf-v-fmin.elfbin0 -> 24176 bytes
128 files changed, 54414 insertions, 0 deletions
diff --git a/test/riscv-tests/rv32ud-p-fadd.dump b/test/riscv-tests/rv32ud-p-fadd.dump
new file mode 100644
index 0000000..4c152c5
--- /dev/null
+++ b/test/riscv-tests/rv32ud-p-fadd.dump
@@ -0,0 +1,478 @@
+
+rv32ud-p-fadd: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 04c0006f j 8000004c <reset_vector>
+
+80000004 <trap_vector>:
+80000004: 34202f73 csrr t5,mcause
+80000008: 00800f93 li t6,8
+8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+80000010: 00900f93 li t6,9
+80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+80000018: 00b00f93 li t6,11
+8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+80000020: 80000f17 auipc t5,0x80000
+80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+8000002c: 000f0067 jr t5
+80000030: 34202f73 csrr t5,mcause
+80000034: 000f5463 bgez t5,8000003c <handle_exception>
+80000038: 0040006f j 8000003c <handle_exception>
+
+8000003c <handle_exception>:
+8000003c: 5391e193 ori gp,gp,1337
+
+80000040 <write_tohost>:
+80000040: 00001f17 auipc t5,0x1
+80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+80000048: ff9ff06f j 80000040 <write_tohost>
+
+8000004c <reset_vector>:
+8000004c: f1402573 csrr a0,mhartid
+80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+80000054: 00000297 auipc t0,0x0
+80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+8000005c: 30529073 csrw mtvec,t0
+80000060: 18005073 csrwi satp,0
+80000064: 00000297 auipc t0,0x0
+80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+8000006c: 30529073 csrw mtvec,t0
+80000070: fff00293 li t0,-1
+80000074: 3b029073 csrw pmpaddr0,t0
+80000078: 01f00293 li t0,31
+8000007c: 3a029073 csrw pmpcfg0,t0
+80000080: 00000297 auipc t0,0x0
+80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+80000088: 30529073 csrw mtvec,t0
+8000008c: 30205073 csrwi medeleg,0
+80000090: 30305073 csrwi mideleg,0
+80000094: 30405073 csrwi mie,0
+80000098: 00000193 li gp,0
+8000009c: 00000297 auipc t0,0x0
+800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+800000a4: 30529073 csrw mtvec,t0
+800000a8: 00100513 li a0,1
+800000ac: 01f51513 slli a0,a0,0x1f
+800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74>
+800000b4: 0ff0000f fence
+800000b8: 00100193 li gp,1
+800000bc: 00000073 ecall
+800000c0: 80000297 auipc t0,0x80000
+800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+800000cc: 10529073 csrw stvec,t0
+800000d0: 0000b2b7 lui t0,0xb
+800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
+800000d8: 30229073 csrw medeleg,t0
+800000dc: 30202373 csrr t1,medeleg
+800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+800000e4: 30005073 csrwi mstatus,0
+800000e8: 00002537 lui a0,0x2
+800000ec: 30052073 csrs mstatus,a0
+800000f0: 00305073 csrwi fcsr,0
+800000f4: 00000297 auipc t0,0x0
+800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+800000fc: 34129073 csrw mepc,t0
+80000100: f1402573 csrr a0,mhartid
+80000104: 30200073 mret
+
+80000108 <test_2>:
+80000108: 00200193 li gp,2
+8000010c: 00002517 auipc a0,0x2
+80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+80000114: 00053007 fld ft0,0(a0)
+80000118: 00853087 fld ft1,8(a0)
+8000011c: 01053107 fld ft2,16(a0)
+80000120: 01852683 lw a3,24(a0)
+80000124: 01c52303 lw t1,28(a0)
+80000128: 021071d3 fadd.d ft3,ft0,ft1
+8000012c: 00353027 fsd ft3,0(a0)
+80000130: 00452383 lw t2,4(a0)
+80000134: 00052503 lw a0,0(a0)
+80000138: 001015f3 fsflags a1,zero
+8000013c: 00000613 li a2,0
+80000140: 26d51a63 bne a0,a3,800003b4 <fail>
+80000144: 26731863 bne t1,t2,800003b4 <fail>
+80000148: 26c59663 bne a1,a2,800003b4 <fail>
+
+8000014c <test_3>:
+8000014c: 00300193 li gp,3
+80000150: 00002517 auipc a0,0x2
+80000154: ed050513 addi a0,a0,-304 # 80002020 <test_3_data>
+80000158: 00053007 fld ft0,0(a0)
+8000015c: 00853087 fld ft1,8(a0)
+80000160: 01053107 fld ft2,16(a0)
+80000164: 01852683 lw a3,24(a0)
+80000168: 01c52303 lw t1,28(a0)
+8000016c: 021071d3 fadd.d ft3,ft0,ft1
+80000170: 00353027 fsd ft3,0(a0)
+80000174: 00452383 lw t2,4(a0)
+80000178: 00052503 lw a0,0(a0)
+8000017c: 001015f3 fsflags a1,zero
+80000180: 00100613 li a2,1
+80000184: 22d51863 bne a0,a3,800003b4 <fail>
+80000188: 22731663 bne t1,t2,800003b4 <fail>
+8000018c: 22c59463 bne a1,a2,800003b4 <fail>
+
+80000190 <test_4>:
+80000190: 00400193 li gp,4
+80000194: 00002517 auipc a0,0x2
+80000198: eac50513 addi a0,a0,-340 # 80002040 <test_4_data>
+8000019c: 00053007 fld ft0,0(a0)
+800001a0: 00853087 fld ft1,8(a0)
+800001a4: 01053107 fld ft2,16(a0)
+800001a8: 01852683 lw a3,24(a0)
+800001ac: 01c52303 lw t1,28(a0)
+800001b0: 021071d3 fadd.d ft3,ft0,ft1
+800001b4: 00353027 fsd ft3,0(a0)
+800001b8: 00452383 lw t2,4(a0)
+800001bc: 00052503 lw a0,0(a0)
+800001c0: 001015f3 fsflags a1,zero
+800001c4: 00100613 li a2,1
+800001c8: 1ed51663 bne a0,a3,800003b4 <fail>
+800001cc: 1e731463 bne t1,t2,800003b4 <fail>
+800001d0: 1ec59263 bne a1,a2,800003b4 <fail>
+
+800001d4 <test_5>:
+800001d4: 00500193 li gp,5
+800001d8: 00002517 auipc a0,0x2
+800001dc: e8850513 addi a0,a0,-376 # 80002060 <test_5_data>
+800001e0: 00053007 fld ft0,0(a0)
+800001e4: 00853087 fld ft1,8(a0)
+800001e8: 01053107 fld ft2,16(a0)
+800001ec: 01852683 lw a3,24(a0)
+800001f0: 01c52303 lw t1,28(a0)
+800001f4: 0a1071d3 fsub.d ft3,ft0,ft1
+800001f8: 00353027 fsd ft3,0(a0)
+800001fc: 00452383 lw t2,4(a0)
+80000200: 00052503 lw a0,0(a0)
+80000204: 001015f3 fsflags a1,zero
+80000208: 00000613 li a2,0
+8000020c: 1ad51463 bne a0,a3,800003b4 <fail>
+80000210: 1a731263 bne t1,t2,800003b4 <fail>
+80000214: 1ac59063 bne a1,a2,800003b4 <fail>
+
+80000218 <test_6>:
+80000218: 00600193 li gp,6
+8000021c: 00002517 auipc a0,0x2
+80000220: e6450513 addi a0,a0,-412 # 80002080 <test_6_data>
+80000224: 00053007 fld ft0,0(a0)
+80000228: 00853087 fld ft1,8(a0)
+8000022c: 01053107 fld ft2,16(a0)
+80000230: 01852683 lw a3,24(a0)
+80000234: 01c52303 lw t1,28(a0)
+80000238: 0a1071d3 fsub.d ft3,ft0,ft1
+8000023c: 00353027 fsd ft3,0(a0)
+80000240: 00452383 lw t2,4(a0)
+80000244: 00052503 lw a0,0(a0)
+80000248: 001015f3 fsflags a1,zero
+8000024c: 00100613 li a2,1
+80000250: 16d51263 bne a0,a3,800003b4 <fail>
+80000254: 16731063 bne t1,t2,800003b4 <fail>
+80000258: 14c59e63 bne a1,a2,800003b4 <fail>
+
+8000025c <test_7>:
+8000025c: 00700193 li gp,7
+80000260: 00002517 auipc a0,0x2
+80000264: e4050513 addi a0,a0,-448 # 800020a0 <test_7_data>
+80000268: 00053007 fld ft0,0(a0)
+8000026c: 00853087 fld ft1,8(a0)
+80000270: 01053107 fld ft2,16(a0)
+80000274: 01852683 lw a3,24(a0)
+80000278: 01c52303 lw t1,28(a0)
+8000027c: 0a1071d3 fsub.d ft3,ft0,ft1
+80000280: 00353027 fsd ft3,0(a0)
+80000284: 00452383 lw t2,4(a0)
+80000288: 00052503 lw a0,0(a0)
+8000028c: 001015f3 fsflags a1,zero
+80000290: 00100613 li a2,1
+80000294: 12d51063 bne a0,a3,800003b4 <fail>
+80000298: 10731e63 bne t1,t2,800003b4 <fail>
+8000029c: 10c59c63 bne a1,a2,800003b4 <fail>
+
+800002a0 <test_8>:
+800002a0: 00800193 li gp,8
+800002a4: 00002517 auipc a0,0x2
+800002a8: e1c50513 addi a0,a0,-484 # 800020c0 <test_8_data>
+800002ac: 00053007 fld ft0,0(a0)
+800002b0: 00853087 fld ft1,8(a0)
+800002b4: 01053107 fld ft2,16(a0)
+800002b8: 01852683 lw a3,24(a0)
+800002bc: 01c52303 lw t1,28(a0)
+800002c0: 121071d3 fmul.d ft3,ft0,ft1
+800002c4: 00353027 fsd ft3,0(a0)
+800002c8: 00452383 lw t2,4(a0)
+800002cc: 00052503 lw a0,0(a0)
+800002d0: 001015f3 fsflags a1,zero
+800002d4: 00000613 li a2,0
+800002d8: 0cd51e63 bne a0,a3,800003b4 <fail>
+800002dc: 0c731c63 bne t1,t2,800003b4 <fail>
+800002e0: 0cc59a63 bne a1,a2,800003b4 <fail>
+
+800002e4 <test_9>:
+800002e4: 00900193 li gp,9
+800002e8: 00002517 auipc a0,0x2
+800002ec: df850513 addi a0,a0,-520 # 800020e0 <test_9_data>
+800002f0: 00053007 fld ft0,0(a0)
+800002f4: 00853087 fld ft1,8(a0)
+800002f8: 01053107 fld ft2,16(a0)
+800002fc: 01852683 lw a3,24(a0)
+80000300: 01c52303 lw t1,28(a0)
+80000304: 121071d3 fmul.d ft3,ft0,ft1
+80000308: 00353027 fsd ft3,0(a0)
+8000030c: 00452383 lw t2,4(a0)
+80000310: 00052503 lw a0,0(a0)
+80000314: 001015f3 fsflags a1,zero
+80000318: 00100613 li a2,1
+8000031c: 08d51c63 bne a0,a3,800003b4 <fail>
+80000320: 08731a63 bne t1,t2,800003b4 <fail>
+80000324: 08c59863 bne a1,a2,800003b4 <fail>
+
+80000328 <test_10>:
+80000328: 00a00193 li gp,10
+8000032c: 00002517 auipc a0,0x2
+80000330: dd450513 addi a0,a0,-556 # 80002100 <test_10_data>
+80000334: 00053007 fld ft0,0(a0)
+80000338: 00853087 fld ft1,8(a0)
+8000033c: 01053107 fld ft2,16(a0)
+80000340: 01852683 lw a3,24(a0)
+80000344: 01c52303 lw t1,28(a0)
+80000348: 121071d3 fmul.d ft3,ft0,ft1
+8000034c: 00353027 fsd ft3,0(a0)
+80000350: 00452383 lw t2,4(a0)
+80000354: 00052503 lw a0,0(a0)
+80000358: 001015f3 fsflags a1,zero
+8000035c: 00100613 li a2,1
+80000360: 04d51a63 bne a0,a3,800003b4 <fail>
+80000364: 04731863 bne t1,t2,800003b4 <fail>
+80000368: 04c59663 bne a1,a2,800003b4 <fail>
+
+8000036c <test_11>:
+8000036c: 00b00193 li gp,11
+80000370: 00002517 auipc a0,0x2
+80000374: db050513 addi a0,a0,-592 # 80002120 <test_11_data>
+80000378: 00053007 fld ft0,0(a0)
+8000037c: 00853087 fld ft1,8(a0)
+80000380: 01053107 fld ft2,16(a0)
+80000384: 01852683 lw a3,24(a0)
+80000388: 01c52303 lw t1,28(a0)
+8000038c: 0a1071d3 fsub.d ft3,ft0,ft1
+80000390: 00353027 fsd ft3,0(a0)
+80000394: 00452383 lw t2,4(a0)
+80000398: 00052503 lw a0,0(a0)
+8000039c: 001015f3 fsflags a1,zero
+800003a0: 01000613 li a2,16
+800003a4: 00d51863 bne a0,a3,800003b4 <fail>
+800003a8: 00731663 bne t1,t2,800003b4 <fail>
+800003ac: 00c59463 bne a1,a2,800003b4 <fail>
+800003b0: 00301c63 bne zero,gp,800003c8 <pass>
+
+800003b4 <fail>:
+800003b4: 0ff0000f fence
+800003b8: 00018063 beqz gp,800003b8 <fail+0x4>
+800003bc: 00119193 slli gp,gp,0x1
+800003c0: 0011e193 ori gp,gp,1
+800003c4: 00000073 ecall
+
+800003c8 <pass>:
+800003c8: 0ff0000f fence
+800003cc: 00100193 li gp,1
+800003d0: 00000073 ecall
+800003d4: c0001073 unimp
+800003d8: 0000 unimp
+800003da: 0000 unimp
+800003dc: 0000 unimp
+800003de: 0000 unimp
+800003e0: 0000 unimp
+800003e2: 0000 unimp
+800003e4: 0000 unimp
+800003e6: 0000 unimp
+800003e8: 0000 unimp
+800003ea: 0000 unimp
+800003ec: 0000 unimp
+800003ee: 0000 unimp
+800003f0: 0000 unimp
+800003f2: 0000 unimp
+800003f4: 0000 unimp
+800003f6: 0000 unimp
+800003f8: 0000 unimp
+800003fa: 0000 unimp
+800003fc: 0000 unimp
+800003fe: 0000 unimp
+80000400: 0000 unimp
+80000402: 0000 unimp
+
+Disassembly of section .data:
+
+80002000 <test_2_data>:
+80002000: 0000 unimp
+80002002: 0000 unimp
+80002004: 0000 unimp
+80002006: 4004 lw s1,0(s0)
+80002008: 0000 unimp
+8000200a: 0000 unimp
+8000200c: 0000 unimp
+8000200e: 3ff0 fld fa2,248(a5)
+80002010: 0000 unimp
+80002012: 0000 unimp
+80002014: 0000 unimp
+80002016: 0000 unimp
+80002018: 0000 unimp
+8000201a: 0000 unimp
+8000201c: 0000 unimp
+8000201e: 400c lw a1,0(s0)
+
+80002020 <test_3_data>:
+80002020: 6666 flw fa2,88(sp)
+80002022: 6666 flw fa2,88(sp)
+80002024: 4c66 lw s8,88(sp)
+80002026: 999ac093 xori ra,s5,-1639
+8000202a: 9999 andi a1,a1,-26
+8000202c: 9999 andi a1,a1,-26
+8000202e: 3ff1 jal 8000200a <test_2_data+0xa>
+80002030: 0000 unimp
+80002032: 0000 unimp
+80002034: 0000 unimp
+80002036: 0000 unimp
+80002038: 0000 unimp
+8000203a: 0000 unimp
+8000203c: 4800 lw s0,16(s0)
+8000203e: xori ra,gp,-689
+
+80002040 <test_4_data>:
+80002040: d4f1 beqz s1,8000200c <test_2_data+0xc>
+80002042: 53c8 lw a0,36(a5)
+80002044: 400921fb 0x400921fb
+80002048: 8c3a mv s8,a4
+8000204a: e230 fsw fa2,64(a2)
+8000204c: 798e flw fs3,224(sp)
+8000204e: 3e45 jal 80001bfe <fromhost+0xbbe>
+80002050: 0000 unimp
+80002052: 0000 unimp
+80002054: 0000 unimp
+80002056: 0000 unimp
+80002058: 6ddf 5520 21fb 0x21fb55206ddf
+8000205e: 4009 c.li zero,2
+
+80002060 <test_5_data>:
+80002060: 0000 unimp
+80002062: 0000 unimp
+80002064: 0000 unimp
+80002066: 4004 lw s1,0(s0)
+80002068: 0000 unimp
+8000206a: 0000 unimp
+8000206c: 0000 unimp
+8000206e: 3ff0 fld fa2,248(a5)
+80002070: 0000 unimp
+80002072: 0000 unimp
+80002074: 0000 unimp
+80002076: 0000 unimp
+80002078: 0000 unimp
+8000207a: 0000 unimp
+8000207c: 0000 unimp
+8000207e: 3ff8 fld fa4,248(a5)
+
+80002080 <test_6_data>:
+80002080: 6666 flw fa2,88(sp)
+80002082: 6666 flw fa2,88(sp)
+80002084: 4c66 lw s8,88(sp)
+80002086: 999ac093 xori ra,s5,-1639
+8000208a: 9999 andi a1,a1,-26
+8000208c: 9999 andi a1,a1,-26
+8000208e: bff1 j 8000206a <test_5_data+0xa>
+80002090: 0000 unimp
+80002092: 0000 unimp
+80002094: 0000 unimp
+80002096: 0000 unimp
+80002098: 0000 unimp
+8000209a: 0000 unimp
+8000209c: 4800 lw s0,16(s0)
+8000209e: xori ra,gp,-689
+
+800020a0 <test_7_data>:
+800020a0: d4f1 beqz s1,8000206c <test_5_data+0xc>
+800020a2: 53c8 lw a0,36(a5)
+800020a4: 400921fb 0x400921fb
+800020a8: 8c3a mv s8,a4
+800020aa: e230 fsw fa2,64(a2)
+800020ac: 798e flw fs3,224(sp)
+800020ae: 3e45 jal 80001c5e <fromhost+0xc1e>
+800020b0: 0000 unimp
+800020b2: 0000 unimp
+800020b4: 0000 unimp
+800020b6: 0000 unimp
+800020b8: 52713c03 0x52713c03
+800020bc: 400921fb 0x400921fb
+
+800020c0 <test_8_data>:
+800020c0: 0000 unimp
+800020c2: 0000 unimp
+800020c4: 0000 unimp
+800020c6: 4004 lw s1,0(s0)
+800020c8: 0000 unimp
+800020ca: 0000 unimp
+800020cc: 0000 unimp
+800020ce: 3ff0 fld fa2,248(a5)
+800020d0: 0000 unimp
+800020d2: 0000 unimp
+800020d4: 0000 unimp
+800020d6: 0000 unimp
+800020d8: 0000 unimp
+800020da: 0000 unimp
+800020dc: 0000 unimp
+800020de: 4004 lw s1,0(s0)
+
+800020e0 <test_9_data>:
+800020e0: 6666 flw fa2,88(sp)
+800020e2: 6666 flw fa2,88(sp)
+800020e4: 4c66 lw s8,88(sp)
+800020e6: 999ac093 xori ra,s5,-1639
+800020ea: 9999 andi a1,a1,-26
+800020ec: 9999 andi a1,a1,-26
+800020ee: bff1 j 800020ca <test_8_data+0xa>
+800020f0: 0000 unimp
+800020f2: 0000 unimp
+800020f4: 0000 unimp
+800020f6: 0000 unimp
+800020f8: 0a3d addi s4,s4,15
+800020fa: 3a70a3d7 0x3a70a3d7
+800020fe: 4095 li ra,5
+
+80002100 <test_10_data>:
+80002100: d4f1 beqz s1,800020cc <test_8_data+0xc>
+80002102: 53c8 lw a0,36(a5)
+80002104: 400921fb 0x400921fb
+80002108: 8c3a mv s8,a4
+8000210a: e230 fsw fa2,64(a2)
+8000210c: 798e flw fs3,224(sp)
+8000210e: 3e45 jal 80001cbe <fromhost+0xc7e>
+80002110: 0000 unimp
+80002112: 0000 unimp
+80002114: 0000 unimp
+80002116: 0000 unimp
+80002118: ff09 bnez a4,80002032 <test_3_data+0x12>
+8000211a: a5c1 j 800027da <_end+0x69a>
+8000211c: ddc5 beqz a1,800020d4 <test_8_data+0x14>
+8000211e: 3e60 fld fs0,248(a2)
+
+80002120 <test_11_data>:
+80002120: 0000 unimp
+80002122: 0000 unimp
+80002124: 0000 unimp
+80002126: 7ff0 flw fa2,124(a5)
+80002128: 0000 unimp
+8000212a: 0000 unimp
+8000212c: 0000 unimp
+8000212e: 7ff0 flw fa2,124(a5)
+80002130: 0000 unimp
+80002132: 0000 unimp
+80002134: 0000 unimp
+80002136: 0000 unimp
+80002138: 0000 unimp
+8000213a: 0000 unimp
+8000213c: 0000 unimp
+8000213e: 7ff8 flw fa4,124(a5)
diff --git a/test/riscv-tests/rv32ud-p-fadd.elf b/test/riscv-tests/rv32ud-p-fadd.elf
new file mode 100644
index 0000000..d183561
--- /dev/null
+++ b/test/riscv-tests/rv32ud-p-fadd.elf
Binary files differ
diff --git a/test/riscv-tests/rv32ud-p-fclass.dump b/test/riscv-tests/rv32ud-p-fclass.dump
new file mode 100644
index 0000000..c581415
--- /dev/null
+++ b/test/riscv-tests/rv32ud-p-fclass.dump
@@ -0,0 +1,277 @@
+
+rv32ud-p-fclass: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 04c0006f j 8000004c <reset_vector>
+
+80000004 <trap_vector>:
+80000004: 34202f73 csrr t5,mcause
+80000008: 00800f93 li t6,8
+8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+80000010: 00900f93 li t6,9
+80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+80000018: 00b00f93 li t6,11
+8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+80000020: 80000f17 auipc t5,0x80000
+80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+8000002c: 000f0067 jr t5
+80000030: 34202f73 csrr t5,mcause
+80000034: 000f5463 bgez t5,8000003c <handle_exception>
+80000038: 0040006f j 8000003c <handle_exception>
+
+8000003c <handle_exception>:
+8000003c: 5391e193 ori gp,gp,1337
+
+80000040 <write_tohost>:
+80000040: 00001f17 auipc t5,0x1
+80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+80000048: ff9ff06f j 80000040 <write_tohost>
+
+8000004c <reset_vector>:
+8000004c: f1402573 csrr a0,mhartid
+80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+80000054: 00000297 auipc t0,0x0
+80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+8000005c: 30529073 csrw mtvec,t0
+80000060: 18005073 csrwi satp,0
+80000064: 00000297 auipc t0,0x0
+80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+8000006c: 30529073 csrw mtvec,t0
+80000070: fff00293 li t0,-1
+80000074: 3b029073 csrw pmpaddr0,t0
+80000078: 01f00293 li t0,31
+8000007c: 3a029073 csrw pmpcfg0,t0
+80000080: 00000297 auipc t0,0x0
+80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+80000088: 30529073 csrw mtvec,t0
+8000008c: 30205073 csrwi medeleg,0
+80000090: 30305073 csrwi mideleg,0
+80000094: 30405073 csrwi mie,0
+80000098: 00000193 li gp,0
+8000009c: 00000297 auipc t0,0x0
+800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+800000a4: 30529073 csrw mtvec,t0
+800000a8: 00100513 li a0,1
+800000ac: 01f51513 slli a0,a0,0x1f
+800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74>
+800000b4: 0ff0000f fence
+800000b8: 00100193 li gp,1
+800000bc: 00000073 ecall
+800000c0: 80000297 auipc t0,0x80000
+800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+800000cc: 10529073 csrw stvec,t0
+800000d0: 0000b2b7 lui t0,0xb
+800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
+800000d8: 30229073 csrw medeleg,t0
+800000dc: 30202373 csrr t1,medeleg
+800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+800000e4: 30005073 csrwi mstatus,0
+800000e8: 00002537 lui a0,0x2
+800000ec: 30052073 csrs mstatus,a0
+800000f0: 00305073 csrwi fcsr,0
+800000f4: 00000297 auipc t0,0x0
+800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+800000fc: 34129073 csrw mepc,t0
+80000100: f1402573 csrr a0,mhartid
+80000104: 30200073 mret
+
+80000108 <test_2>:
+80000108: 00002517 auipc a0,0x2
+8000010c: ef850513 addi a0,a0,-264 # 80002000 <test_2_data>
+80000110: 00053507 fld fa0,0(a0)
+80000114: e2051553 fclass.d a0,fa0
+80000118: 00100e93 li t4,1
+8000011c: 00200193 li gp,2
+80000120: 11d51263 bne a0,t4,80000224 <fail>
+
+80000124 <test_3>:
+80000124: 00002517 auipc a0,0x2
+80000128: ee450513 addi a0,a0,-284 # 80002008 <test_3_data>
+8000012c: 00053507 fld fa0,0(a0)
+80000130: e2051553 fclass.d a0,fa0
+80000134: 00200e93 li t4,2
+80000138: 00300193 li gp,3
+8000013c: 0fd51463 bne a0,t4,80000224 <fail>
+
+80000140 <test_4>:
+80000140: 00002517 auipc a0,0x2
+80000144: ed050513 addi a0,a0,-304 # 80002010 <test_4_data>
+80000148: 00053507 fld fa0,0(a0)
+8000014c: e2051553 fclass.d a0,fa0
+80000150: 00400e93 li t4,4
+80000154: 00400193 li gp,4
+80000158: 0dd51663 bne a0,t4,80000224 <fail>
+
+8000015c <test_5>:
+8000015c: 00002517 auipc a0,0x2
+80000160: ebc50513 addi a0,a0,-324 # 80002018 <test_5_data>
+80000164: 00053507 fld fa0,0(a0)
+80000168: e2051553 fclass.d a0,fa0
+8000016c: 00800e93 li t4,8
+80000170: 00500193 li gp,5
+80000174: 0bd51863 bne a0,t4,80000224 <fail>
+
+80000178 <test_6>:
+80000178: 00002517 auipc a0,0x2
+8000017c: ea850513 addi a0,a0,-344 # 80002020 <test_6_data>
+80000180: 00053507 fld fa0,0(a0)
+80000184: e2051553 fclass.d a0,fa0
+80000188: 01000e93 li t4,16
+8000018c: 00600193 li gp,6
+80000190: 09d51a63 bne a0,t4,80000224 <fail>
+
+80000194 <test_7>:
+80000194: 00002517 auipc a0,0x2
+80000198: e9450513 addi a0,a0,-364 # 80002028 <test_7_data>
+8000019c: 00053507 fld fa0,0(a0)
+800001a0: e2051553 fclass.d a0,fa0
+800001a4: 02000e93 li t4,32
+800001a8: 00700193 li gp,7
+800001ac: 07d51c63 bne a0,t4,80000224 <fail>
+
+800001b0 <test_8>:
+800001b0: 00002517 auipc a0,0x2
+800001b4: e8050513 addi a0,a0,-384 # 80002030 <test_8_data>
+800001b8: 00053507 fld fa0,0(a0)
+800001bc: e2051553 fclass.d a0,fa0
+800001c0: 04000e93 li t4,64
+800001c4: 00800193 li gp,8
+800001c8: 05d51e63 bne a0,t4,80000224 <fail>
+
+800001cc <test_9>:
+800001cc: 00002517 auipc a0,0x2
+800001d0: e6c50513 addi a0,a0,-404 # 80002038 <test_9_data>
+800001d4: 00053507 fld fa0,0(a0)
+800001d8: e2051553 fclass.d a0,fa0
+800001dc: 08000e93 li t4,128
+800001e0: 00900193 li gp,9
+800001e4: 05d51063 bne a0,t4,80000224 <fail>
+
+800001e8 <test_10>:
+800001e8: 00002517 auipc a0,0x2
+800001ec: e5850513 addi a0,a0,-424 # 80002040 <test_10_data>
+800001f0: 00053507 fld fa0,0(a0)
+800001f4: e2051553 fclass.d a0,fa0
+800001f8: 10000e93 li t4,256
+800001fc: 00a00193 li gp,10
+80000200: 03d51263 bne a0,t4,80000224 <fail>
+
+80000204 <test_11>:
+80000204: 00002517 auipc a0,0x2
+80000208: e4450513 addi a0,a0,-444 # 80002048 <test_11_data>
+8000020c: 00053507 fld fa0,0(a0)
+80000210: e2051553 fclass.d a0,fa0
+80000214: 20000e93 li t4,512
+80000218: 00b00193 li gp,11
+8000021c: 01d51463 bne a0,t4,80000224 <fail>
+80000220: 00301c63 bne zero,gp,80000238 <pass>
+
+80000224 <fail>:
+80000224: 0ff0000f fence
+80000228: 00018063 beqz gp,80000228 <fail+0x4>
+8000022c: 00119193 slli gp,gp,0x1
+80000230: 0011e193 ori gp,gp,1
+80000234: 00000073 ecall
+
+80000238 <pass>:
+80000238: 0ff0000f fence
+8000023c: 00100193 li gp,1
+80000240: 00000073 ecall
+80000244: c0001073 unimp
+80000248: 0000 unimp
+8000024a: 0000 unimp
+8000024c: 0000 unimp
+8000024e: 0000 unimp
+80000250: 0000 unimp
+80000252: 0000 unimp
+80000254: 0000 unimp
+80000256: 0000 unimp
+80000258: 0000 unimp
+8000025a: 0000 unimp
+8000025c: 0000 unimp
+8000025e: 0000 unimp
+80000260: 0000 unimp
+80000262: 0000 unimp
+80000264: 0000 unimp
+80000266: 0000 unimp
+80000268: 0000 unimp
+8000026a: 0000 unimp
+8000026c: 0000 unimp
+8000026e: 0000 unimp
+80000270: 0000 unimp
+80000272: 0000 unimp
+80000274: 0000 unimp
+80000276: 0000 unimp
+80000278: 0000 unimp
+8000027a: 0000 unimp
+8000027c: 0000 unimp
+8000027e: 0000 unimp
+80000280: 0000 unimp
+80000282: 0000 unimp
+
+Disassembly of section .data:
+
+80002000 <test_2_data>:
+80002000: 0000 unimp
+80002002: 0000 unimp
+80002004: 0000 unimp
+80002006: fff0 fsw fa2,124(a5)
+
+80002008 <test_3_data>:
+80002008: 0000 unimp
+8000200a: 0000 unimp
+8000200c: 0000 unimp
+8000200e: bff0 fsd fa2,248(a5)
+
+80002010 <test_4_data>:
+80002010: ffff 0xffff
+80002012: ffff 0xffff
+80002014: ffff 0xffff
+80002016: 0x800f
+
+80002018 <test_5_data>:
+80002018: 0000 unimp
+8000201a: 0000 unimp
+8000201c: 0000 unimp
+8000201e: 8000 0x8000
+
+80002020 <test_6_data>:
+80002020: 0000 unimp
+80002022: 0000 unimp
+80002024: 0000 unimp
+80002026: 0000 unimp
+
+80002028 <test_7_data>:
+80002028: ffff 0xffff
+8000202a: ffff 0xffff
+8000202c: ffff 0xffff
+8000202e: fence unknown,unknown
+
+80002030 <test_8_data>:
+80002030: 0000 unimp
+80002032: 0000 unimp
+80002034: 0000 unimp
+80002036: 3ff0 fld fa2,248(a5)
+
+80002038 <test_9_data>:
+80002038: 0000 unimp
+8000203a: 0000 unimp
+8000203c: 0000 unimp
+8000203e: 7ff0 flw fa2,124(a5)
+
+80002040 <test_10_data>:
+80002040: 0001 nop
+80002042: 0000 unimp
+80002044: 0000 unimp
+80002046: 7ff0 flw fa2,124(a5)
+
+80002048 <test_11_data>:
+80002048: 0000 unimp
+8000204a: 0000 unimp
+8000204c: 0000 unimp
+8000204e: 7ff8 flw fa4,124(a5)
diff --git a/test/riscv-tests/rv32ud-p-fclass.elf b/test/riscv-tests/rv32ud-p-fclass.elf
new file mode 100644
index 0000000..7e67e8b
--- /dev/null
+++ b/test/riscv-tests/rv32ud-p-fclass.elf
Binary files differ
diff --git a/test/riscv-tests/rv32ud-p-fcmp.dump b/test/riscv-tests/rv32ud-p-fcmp.dump
new file mode 100644
index 0000000..e0b297e
--- /dev/null
+++ b/test/riscv-tests/rv32ud-p-fcmp.dump
@@ -0,0 +1,612 @@
+
+rv32ud-p-fcmp: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 04c0006f j 8000004c <reset_vector>
+
+80000004 <trap_vector>:
+80000004: 34202f73 csrr t5,mcause
+80000008: 00800f93 li t6,8
+8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+80000010: 00900f93 li t6,9
+80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+80000018: 00b00f93 li t6,11
+8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+80000020: 80000f17 auipc t5,0x80000
+80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+8000002c: 000f0067 jr t5
+80000030: 34202f73 csrr t5,mcause
+80000034: 000f5463 bgez t5,8000003c <handle_exception>
+80000038: 0040006f j 8000003c <handle_exception>
+
+8000003c <handle_exception>:
+8000003c: 5391e193 ori gp,gp,1337
+
+80000040 <write_tohost>:
+80000040: 00001f17 auipc t5,0x1
+80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+80000048: ff9ff06f j 80000040 <write_tohost>
+
+8000004c <reset_vector>:
+8000004c: f1402573 csrr a0,mhartid
+80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+80000054: 00000297 auipc t0,0x0
+80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+8000005c: 30529073 csrw mtvec,t0
+80000060: 18005073 csrwi satp,0
+80000064: 00000297 auipc t0,0x0
+80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+8000006c: 30529073 csrw mtvec,t0
+80000070: fff00293 li t0,-1
+80000074: 3b029073 csrw pmpaddr0,t0
+80000078: 01f00293 li t0,31
+8000007c: 3a029073 csrw pmpcfg0,t0
+80000080: 00000297 auipc t0,0x0
+80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+80000088: 30529073 csrw mtvec,t0
+8000008c: 30205073 csrwi medeleg,0
+80000090: 30305073 csrwi mideleg,0
+80000094: 30405073 csrwi mie,0
+80000098: 00000193 li gp,0
+8000009c: 00000297 auipc t0,0x0
+800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+800000a4: 30529073 csrw mtvec,t0
+800000a8: 00100513 li a0,1
+800000ac: 01f51513 slli a0,a0,0x1f
+800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74>
+800000b4: 0ff0000f fence
+800000b8: 00100193 li gp,1
+800000bc: 00000073 ecall
+800000c0: 80000297 auipc t0,0x80000
+800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+800000cc: 10529073 csrw stvec,t0
+800000d0: 0000b2b7 lui t0,0xb
+800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
+800000d8: 30229073 csrw medeleg,t0
+800000dc: 30202373 csrr t1,medeleg
+800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+800000e4: 30005073 csrwi mstatus,0
+800000e8: 00002537 lui a0,0x2
+800000ec: 30052073 csrs mstatus,a0
+800000f0: 00305073 csrwi fcsr,0
+800000f4: 00000297 auipc t0,0x0
+800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+800000fc: 34129073 csrw mepc,t0
+80000100: f1402573 csrr a0,mhartid
+80000104: 30200073 mret
+
+80000108 <test_2>:
+80000108: 00200193 li gp,2
+8000010c: 00002517 auipc a0,0x2
+80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+80000114: 00053007 fld ft0,0(a0)
+80000118: 00853087 fld ft1,8(a0)
+8000011c: 01053107 fld ft2,16(a0)
+80000120: 01852683 lw a3,24(a0)
+80000124: 01c52303 lw t1,28(a0)
+80000128: a2102553 feq.d a0,ft0,ft1
+8000012c: 00000393 li t2,0
+80000130: 001015f3 fsflags a1,zero
+80000134: 00000613 li a2,0
+80000138: 34d51c63 bne a0,a3,80000490 <fail>
+8000013c: 34731a63 bne t1,t2,80000490 <fail>
+80000140: 34c59863 bne a1,a2,80000490 <fail>
+
+80000144 <test_3>:
+80000144: 00300193 li gp,3
+80000148: 00002517 auipc a0,0x2
+8000014c: ed850513 addi a0,a0,-296 # 80002020 <test_3_data>
+80000150: 00053007 fld ft0,0(a0)
+80000154: 00853087 fld ft1,8(a0)
+80000158: 01053107 fld ft2,16(a0)
+8000015c: 01852683 lw a3,24(a0)
+80000160: 01c52303 lw t1,28(a0)
+80000164: a2100553 fle.d a0,ft0,ft1
+80000168: 00000393 li t2,0
+8000016c: 001015f3 fsflags a1,zero
+80000170: 00000613 li a2,0
+80000174: 30d51e63 bne a0,a3,80000490 <fail>
+80000178: 30731c63 bne t1,t2,80000490 <fail>
+8000017c: 30c59a63 bne a1,a2,80000490 <fail>
+
+80000180 <test_4>:
+80000180: 00400193 li gp,4
+80000184: 00002517 auipc a0,0x2
+80000188: ebc50513 addi a0,a0,-324 # 80002040 <test_4_data>
+8000018c: 00053007 fld ft0,0(a0)
+80000190: 00853087 fld ft1,8(a0)
+80000194: 01053107 fld ft2,16(a0)
+80000198: 01852683 lw a3,24(a0)
+8000019c: 01c52303 lw t1,28(a0)
+800001a0: a2101553 flt.d a0,ft0,ft1
+800001a4: 00000393 li t2,0
+800001a8: 001015f3 fsflags a1,zero
+800001ac: 00000613 li a2,0
+800001b0: 2ed51063 bne a0,a3,80000490 <fail>
+800001b4: 2c731e63 bne t1,t2,80000490 <fail>
+800001b8: 2cc59c63 bne a1,a2,80000490 <fail>
+
+800001bc <test_5>:
+800001bc: 00500193 li gp,5
+800001c0: 00002517 auipc a0,0x2
+800001c4: ea050513 addi a0,a0,-352 # 80002060 <test_5_data>
+800001c8: 00053007 fld ft0,0(a0)
+800001cc: 00853087 fld ft1,8(a0)
+800001d0: 01053107 fld ft2,16(a0)
+800001d4: 01852683 lw a3,24(a0)
+800001d8: 01c52303 lw t1,28(a0)
+800001dc: a2102553 feq.d a0,ft0,ft1
+800001e0: 00000393 li t2,0
+800001e4: 001015f3 fsflags a1,zero
+800001e8: 00000613 li a2,0
+800001ec: 2ad51263 bne a0,a3,80000490 <fail>
+800001f0: 2a731063 bne t1,t2,80000490 <fail>
+800001f4: 28c59e63 bne a1,a2,80000490 <fail>
+
+800001f8 <test_6>:
+800001f8: 00600193 li gp,6
+800001fc: 00002517 auipc a0,0x2
+80000200: e8450513 addi a0,a0,-380 # 80002080 <test_6_data>
+80000204: 00053007 fld ft0,0(a0)
+80000208: 00853087 fld ft1,8(a0)
+8000020c: 01053107 fld ft2,16(a0)
+80000210: 01852683 lw a3,24(a0)
+80000214: 01c52303 lw t1,28(a0)
+80000218: a2100553 fle.d a0,ft0,ft1
+8000021c: 00000393 li t2,0
+80000220: 001015f3 fsflags a1,zero
+80000224: 00000613 li a2,0
+80000228: 26d51463 bne a0,a3,80000490 <fail>
+8000022c: 26731263 bne t1,t2,80000490 <fail>
+80000230: 26c59063 bne a1,a2,80000490 <fail>
+
+80000234 <test_7>:
+80000234: 00700193 li gp,7
+80000238: 00002517 auipc a0,0x2
+8000023c: e6850513 addi a0,a0,-408 # 800020a0 <test_7_data>
+80000240: 00053007 fld ft0,0(a0)
+80000244: 00853087 fld ft1,8(a0)
+80000248: 01053107 fld ft2,16(a0)
+8000024c: 01852683 lw a3,24(a0)
+80000250: 01c52303 lw t1,28(a0)
+80000254: a2101553 flt.d a0,ft0,ft1
+80000258: 00000393 li t2,0
+8000025c: 001015f3 fsflags a1,zero
+80000260: 00000613 li a2,0
+80000264: 22d51663 bne a0,a3,80000490 <fail>
+80000268: 22731463 bne t1,t2,80000490 <fail>
+8000026c: 22c59263 bne a1,a2,80000490 <fail>
+
+80000270 <test_8>:
+80000270: 00800193 li gp,8
+80000274: 00002517 auipc a0,0x2
+80000278: e4c50513 addi a0,a0,-436 # 800020c0 <test_8_data>
+8000027c: 00053007 fld ft0,0(a0)
+80000280: 00853087 fld ft1,8(a0)
+80000284: 01053107 fld ft2,16(a0)
+80000288: 01852683 lw a3,24(a0)
+8000028c: 01c52303 lw t1,28(a0)
+80000290: a2102553 feq.d a0,ft0,ft1
+80000294: 00000393 li t2,0
+80000298: 001015f3 fsflags a1,zero
+8000029c: 00000613 li a2,0
+800002a0: 1ed51863 bne a0,a3,80000490 <fail>
+800002a4: 1e731663 bne t1,t2,80000490 <fail>
+800002a8: 1ec59463 bne a1,a2,80000490 <fail>
+
+800002ac <test_9>:
+800002ac: 00900193 li gp,9
+800002b0: 00002517 auipc a0,0x2
+800002b4: e3050513 addi a0,a0,-464 # 800020e0 <test_9_data>
+800002b8: 00053007 fld ft0,0(a0)
+800002bc: 00853087 fld ft1,8(a0)
+800002c0: 01053107 fld ft2,16(a0)
+800002c4: 01852683 lw a3,24(a0)
+800002c8: 01c52303 lw t1,28(a0)
+800002cc: a2102553 feq.d a0,ft0,ft1
+800002d0: 00000393 li t2,0
+800002d4: 001015f3 fsflags a1,zero
+800002d8: 00000613 li a2,0
+800002dc: 1ad51a63 bne a0,a3,80000490 <fail>
+800002e0: 1a731863 bne t1,t2,80000490 <fail>
+800002e4: 1ac59663 bne a1,a2,80000490 <fail>
+
+800002e8 <test_10>:
+800002e8: 00a00193 li gp,10
+800002ec: 00002517 auipc a0,0x2
+800002f0: e1450513 addi a0,a0,-492 # 80002100 <test_10_data>
+800002f4: 00053007 fld ft0,0(a0)
+800002f8: 00853087 fld ft1,8(a0)
+800002fc: 01053107 fld ft2,16(a0)
+80000300: 01852683 lw a3,24(a0)
+80000304: 01c52303 lw t1,28(a0)
+80000308: a2102553 feq.d a0,ft0,ft1
+8000030c: 00000393 li t2,0
+80000310: 001015f3 fsflags a1,zero
+80000314: 01000613 li a2,16
+80000318: 16d51c63 bne a0,a3,80000490 <fail>
+8000031c: 16731a63 bne t1,t2,80000490 <fail>
+80000320: 16c59863 bne a1,a2,80000490 <fail>
+
+80000324 <test_11>:
+80000324: 00b00193 li gp,11
+80000328: 00002517 auipc a0,0x2
+8000032c: df850513 addi a0,a0,-520 # 80002120 <test_11_data>
+80000330: 00053007 fld ft0,0(a0)
+80000334: 00853087 fld ft1,8(a0)
+80000338: 01053107 fld ft2,16(a0)
+8000033c: 01852683 lw a3,24(a0)
+80000340: 01c52303 lw t1,28(a0)
+80000344: a2101553 flt.d a0,ft0,ft1
+80000348: 00000393 li t2,0
+8000034c: 001015f3 fsflags a1,zero
+80000350: 01000613 li a2,16
+80000354: 12d51e63 bne a0,a3,80000490 <fail>
+80000358: 12731c63 bne t1,t2,80000490 <fail>
+8000035c: 12c59a63 bne a1,a2,80000490 <fail>
+
+80000360 <test_12>:
+80000360: 00c00193 li gp,12
+80000364: 00002517 auipc a0,0x2
+80000368: ddc50513 addi a0,a0,-548 # 80002140 <test_12_data>
+8000036c: 00053007 fld ft0,0(a0)
+80000370: 00853087 fld ft1,8(a0)
+80000374: 01053107 fld ft2,16(a0)
+80000378: 01852683 lw a3,24(a0)
+8000037c: 01c52303 lw t1,28(a0)
+80000380: a2101553 flt.d a0,ft0,ft1
+80000384: 00000393 li t2,0
+80000388: 001015f3 fsflags a1,zero
+8000038c: 01000613 li a2,16
+80000390: 10d51063 bne a0,a3,80000490 <fail>
+80000394: 0e731e63 bne t1,t2,80000490 <fail>
+80000398: 0ec59c63 bne a1,a2,80000490 <fail>
+
+8000039c <test_13>:
+8000039c: 00d00193 li gp,13
+800003a0: 00002517 auipc a0,0x2
+800003a4: dc050513 addi a0,a0,-576 # 80002160 <test_13_data>
+800003a8: 00053007 fld ft0,0(a0)
+800003ac: 00853087 fld ft1,8(a0)
+800003b0: 01053107 fld ft2,16(a0)
+800003b4: 01852683 lw a3,24(a0)
+800003b8: 01c52303 lw t1,28(a0)
+800003bc: a2101553 flt.d a0,ft0,ft1
+800003c0: 00000393 li t2,0
+800003c4: 001015f3 fsflags a1,zero
+800003c8: 01000613 li a2,16
+800003cc: 0cd51263 bne a0,a3,80000490 <fail>
+800003d0: 0c731063 bne t1,t2,80000490 <fail>
+800003d4: 0ac59e63 bne a1,a2,80000490 <fail>
+
+800003d8 <test_14>:
+800003d8: 00e00193 li gp,14
+800003dc: 00002517 auipc a0,0x2
+800003e0: da450513 addi a0,a0,-604 # 80002180 <test_14_data>
+800003e4: 00053007 fld ft0,0(a0)
+800003e8: 00853087 fld ft1,8(a0)
+800003ec: 01053107 fld ft2,16(a0)
+800003f0: 01852683 lw a3,24(a0)
+800003f4: 01c52303 lw t1,28(a0)
+800003f8: a2100553 fle.d a0,ft0,ft1
+800003fc: 00000393 li t2,0
+80000400: 001015f3 fsflags a1,zero
+80000404: 01000613 li a2,16
+80000408: 08d51463 bne a0,a3,80000490 <fail>
+8000040c: 08731263 bne t1,t2,80000490 <fail>
+80000410: 08c59063 bne a1,a2,80000490 <fail>
+
+80000414 <test_15>:
+80000414: 00f00193 li gp,15
+80000418: 00002517 auipc a0,0x2
+8000041c: d8850513 addi a0,a0,-632 # 800021a0 <test_15_data>
+80000420: 00053007 fld ft0,0(a0)
+80000424: 00853087 fld ft1,8(a0)
+80000428: 01053107 fld ft2,16(a0)
+8000042c: 01852683 lw a3,24(a0)
+80000430: 01c52303 lw t1,28(a0)
+80000434: a2100553 fle.d a0,ft0,ft1
+80000438: 00000393 li t2,0
+8000043c: 001015f3 fsflags a1,zero
+80000440: 01000613 li a2,16
+80000444: 04d51663 bne a0,a3,80000490 <fail>
+80000448: 04731463 bne t1,t2,80000490 <fail>
+8000044c: 04c59263 bne a1,a2,80000490 <fail>
+
+80000450 <test_16>:
+80000450: 01000193 li gp,16
+80000454: 00002517 auipc a0,0x2
+80000458: d6c50513 addi a0,a0,-660 # 800021c0 <test_16_data>
+8000045c: 00053007 fld ft0,0(a0)
+80000460: 00853087 fld ft1,8(a0)
+80000464: 01053107 fld ft2,16(a0)
+80000468: 01852683 lw a3,24(a0)
+8000046c: 01c52303 lw t1,28(a0)
+80000470: a2100553 fle.d a0,ft0,ft1
+80000474: 00000393 li t2,0
+80000478: 001015f3 fsflags a1,zero
+8000047c: 01000613 li a2,16
+80000480: 00d51863 bne a0,a3,80000490 <fail>
+80000484: 00731663 bne t1,t2,80000490 <fail>
+80000488: 00c59463 bne a1,a2,80000490 <fail>
+8000048c: 00301c63 bne zero,gp,800004a4 <pass>
+
+80000490 <fail>:
+80000490: 0ff0000f fence
+80000494: 00018063 beqz gp,80000494 <fail+0x4>
+80000498: 00119193 slli gp,gp,0x1
+8000049c: 0011e193 ori gp,gp,1
+800004a0: 00000073 ecall
+
+800004a4 <pass>:
+800004a4: 0ff0000f fence
+800004a8: 00100193 li gp,1
+800004ac: 00000073 ecall
+800004b0: c0001073 unimp
+800004b4: 0000 unimp
+800004b6: 0000 unimp
+800004b8: 0000 unimp
+800004ba: 0000 unimp
+800004bc: 0000 unimp
+800004be: 0000 unimp
+800004c0: 0000 unimp
+800004c2: 0000 unimp
+
+Disassembly of section .data:
+
+80002000 <test_2_data>:
+80002000: 5c28f5c3 0x5c28f5c3
+80002004: bff5c28f 0xbff5c28f
+80002008: 5c28f5c3 0x5c28f5c3
+8000200c: bff5c28f 0xbff5c28f
+80002010: 0000 unimp
+80002012: 0000 unimp
+80002014: 0000 unimp
+80002016: 0000 unimp
+80002018: 0001 nop
+8000201a: 0000 unimp
+8000201c: 0000 unimp
+8000201e: 0000 unimp
+
+80002020 <test_3_data>:
+80002020: 5c28f5c3 0x5c28f5c3
+80002024: bff5c28f 0xbff5c28f
+80002028: 5c28f5c3 0x5c28f5c3
+8000202c: bff5c28f 0xbff5c28f
+80002030: 0000 unimp
+80002032: 0000 unimp
+80002034: 0000 unimp
+80002036: 0000 unimp
+80002038: 0001 nop
+8000203a: 0000 unimp
+8000203c: 0000 unimp
+8000203e: 0000 unimp
+
+80002040 <test_4_data>:
+80002040: 5c28f5c3 0x5c28f5c3
+80002044: bff5c28f 0xbff5c28f
+80002048: 5c28f5c3 0x5c28f5c3
+8000204c: bff5c28f 0xbff5c28f
+80002050: 0000 unimp
+80002052: 0000 unimp
+80002054: 0000 unimp
+80002056: 0000 unimp
+80002058: 0000 unimp
+8000205a: 0000 unimp
+8000205c: 0000 unimp
+8000205e: 0000 unimp
+
+80002060 <test_5_data>:
+80002060: 51ec lw a1,100(a1)
+80002062: 1eb8 addi a4,sp,888
+80002064: eb85 bnez a5,80002094 <test_6_data+0x14>
+80002066: bff5 j 80002062 <test_5_data+0x2>
+80002068: 5c28f5c3 0x5c28f5c3
+8000206c: bff5c28f 0xbff5c28f
+80002070: 0000 unimp
+80002072: 0000 unimp
+80002074: 0000 unimp
+80002076: 0000 unimp
+80002078: 0000 unimp
+8000207a: 0000 unimp
+8000207c: 0000 unimp
+8000207e: 0000 unimp
+
+80002080 <test_6_data>:
+80002080: 51ec lw a1,100(a1)
+80002082: 1eb8 addi a4,sp,888
+80002084: eb85 bnez a5,800020b4 <test_7_data+0x14>
+80002086: bff5 j 80002082 <test_6_data+0x2>
+80002088: 5c28f5c3 0x5c28f5c3
+8000208c: bff5c28f 0xbff5c28f
+80002090: 0000 unimp
+80002092: 0000 unimp
+80002094: 0000 unimp
+80002096: 0000 unimp
+80002098: 0001 nop
+8000209a: 0000 unimp
+8000209c: 0000 unimp
+8000209e: 0000 unimp
+
+800020a0 <test_7_data>:
+800020a0: 51ec lw a1,100(a1)
+800020a2: 1eb8 addi a4,sp,888
+800020a4: eb85 bnez a5,800020d4 <test_8_data+0x14>
+800020a6: bff5 j 800020a2 <test_7_data+0x2>
+800020a8: 5c28f5c3 0x5c28f5c3
+800020ac: bff5c28f 0xbff5c28f
+800020b0: 0000 unimp
+800020b2: 0000 unimp
+800020b4: 0000 unimp
+800020b6: 0000 unimp
+800020b8: 0001 nop
+800020ba: 0000 unimp
+800020bc: 0000 unimp
+800020be: 0000 unimp
+
+800020c0 <test_8_data>:
+800020c0: ffff 0xffff
+800020c2: ffff 0xffff
+800020c4: ffff 0xffff
+800020c6: 7fff 0x7fff
+800020c8: 0000 unimp
+800020ca: 0000 unimp
+800020cc: 0000 unimp
+800020ce: 0000 unimp
+800020d0: 0000 unimp
+800020d2: 0000 unimp
+800020d4: 0000 unimp
+800020d6: 0000 unimp
+800020d8: 0000 unimp
+800020da: 0000 unimp
+800020dc: 0000 unimp
+800020de: 0000 unimp
+
+800020e0 <test_9_data>:
+800020e0: ffff 0xffff
+800020e2: ffff 0xffff
+800020e4: ffff 0xffff
+800020e6: 7fff 0x7fff
+800020e8: ffff 0xffff
+800020ea: ffff 0xffff
+800020ec: ffff 0xffff
+800020ee: 7fff 0x7fff
+800020f0: 0000 unimp
+800020f2: 0000 unimp
+800020f4: 0000 unimp
+800020f6: 0000 unimp
+800020f8: 0000 unimp
+800020fa: 0000 unimp
+800020fc: 0000 unimp
+800020fe: 0000 unimp
+
+80002100 <test_10_data>:
+80002100: 0001 nop
+80002102: 0000 unimp
+80002104: 0000 unimp
+80002106: 7ff0 flw fa2,124(a5)
+80002108: 0000 unimp
+8000210a: 0000 unimp
+8000210c: 0000 unimp
+8000210e: 0000 unimp
+80002110: 0000 unimp
+80002112: 0000 unimp
+80002114: 0000 unimp
+80002116: 0000 unimp
+80002118: 0000 unimp
+8000211a: 0000 unimp
+8000211c: 0000 unimp
+8000211e: 0000 unimp
+
+80002120 <test_11_data>:
+80002120: ffff 0xffff
+80002122: ffff 0xffff
+80002124: ffff 0xffff
+80002126: 7fff 0x7fff
+80002128: 0000 unimp
+8000212a: 0000 unimp
+8000212c: 0000 unimp
+8000212e: 0000 unimp
+80002130: 0000 unimp
+80002132: 0000 unimp
+80002134: 0000 unimp
+80002136: 0000 unimp
+80002138: 0000 unimp
+8000213a: 0000 unimp
+8000213c: 0000 unimp
+8000213e: 0000 unimp
+
+80002140 <test_12_data>:
+80002140: ffff 0xffff
+80002142: ffff 0xffff
+80002144: ffff 0xffff
+80002146: 7fff 0x7fff
+80002148: ffff 0xffff
+8000214a: ffff 0xffff
+8000214c: ffff 0xffff
+8000214e: 7fff 0x7fff
+80002150: 0000 unimp
+80002152: 0000 unimp
+80002154: 0000 unimp
+80002156: 0000 unimp
+80002158: 0000 unimp
+8000215a: 0000 unimp
+8000215c: 0000 unimp
+8000215e: 0000 unimp
+
+80002160 <test_13_data>:
+80002160: 0001 nop
+80002162: 0000 unimp
+80002164: 0000 unimp
+80002166: 7ff0 flw fa2,124(a5)
+80002168: 0000 unimp
+8000216a: 0000 unimp
+8000216c: 0000 unimp
+8000216e: 0000 unimp
+80002170: 0000 unimp
+80002172: 0000 unimp
+80002174: 0000 unimp
+80002176: 0000 unimp
+80002178: 0000 unimp
+8000217a: 0000 unimp
+8000217c: 0000 unimp
+8000217e: 0000 unimp
+
+80002180 <test_14_data>:
+80002180: ffff 0xffff
+80002182: ffff 0xffff
+80002184: ffff 0xffff
+80002186: 7fff 0x7fff
+80002188: 0000 unimp
+8000218a: 0000 unimp
+8000218c: 0000 unimp
+8000218e: 0000 unimp
+80002190: 0000 unimp
+80002192: 0000 unimp
+80002194: 0000 unimp
+80002196: 0000 unimp
+80002198: 0000 unimp
+8000219a: 0000 unimp
+8000219c: 0000 unimp
+8000219e: 0000 unimp
+
+800021a0 <test_15_data>:
+800021a0: ffff 0xffff
+800021a2: ffff 0xffff
+800021a4: ffff 0xffff
+800021a6: 7fff 0x7fff
+800021a8: ffff 0xffff
+800021aa: ffff 0xffff
+800021ac: ffff 0xffff
+800021ae: 7fff 0x7fff
+800021b0: 0000 unimp
+800021b2: 0000 unimp
+800021b4: 0000 unimp
+800021b6: 0000 unimp
+800021b8: 0000 unimp
+800021ba: 0000 unimp
+800021bc: 0000 unimp
+800021be: 0000 unimp
+
+800021c0 <test_16_data>:
+800021c0: 0001 nop
+800021c2: 0000 unimp
+800021c4: 0000 unimp
+800021c6: 7ff0 flw fa2,124(a5)
+800021c8: 0000 unimp
+800021ca: 0000 unimp
+800021cc: 0000 unimp
+800021ce: 0000 unimp
+800021d0: 0000 unimp
+800021d2: 0000 unimp
+800021d4: 0000 unimp
+800021d6: 0000 unimp
+800021d8: 0000 unimp
+800021da: 0000 unimp
+800021dc: 0000 unimp
+800021de: 0000 unimp
diff --git a/test/riscv-tests/rv32ud-p-fcmp.elf b/test/riscv-tests/rv32ud-p-fcmp.elf
new file mode 100644
index 0000000..110986d
--- /dev/null
+++ b/test/riscv-tests/rv32ud-p-fcmp.elf
Binary files differ
diff --git a/test/riscv-tests/rv32ud-p-fcvt.dump b/test/riscv-tests/rv32ud-p-fcvt.dump
new file mode 100644
index 0000000..98a0897
--- /dev/null
+++ b/test/riscv-tests/rv32ud-p-fcvt.dump
@@ -0,0 +1,286 @@
+
+rv32ud-p-fcvt: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 04c0006f j 8000004c <reset_vector>
+
+80000004 <trap_vector>:
+80000004: 34202f73 csrr t5,mcause
+80000008: 00800f93 li t6,8
+8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+80000010: 00900f93 li t6,9
+80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+80000018: 00b00f93 li t6,11
+8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+80000020: 80000f17 auipc t5,0x80000
+80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+8000002c: 000f0067 jr t5
+80000030: 34202f73 csrr t5,mcause
+80000034: 000f5463 bgez t5,8000003c <handle_exception>
+80000038: 0040006f j 8000003c <handle_exception>
+
+8000003c <handle_exception>:
+8000003c: 5391e193 ori gp,gp,1337
+
+80000040 <write_tohost>:
+80000040: 00001f17 auipc t5,0x1
+80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+80000048: ff9ff06f j 80000040 <write_tohost>
+
+8000004c <reset_vector>:
+8000004c: f1402573 csrr a0,mhartid
+80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+80000054: 00000297 auipc t0,0x0
+80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+8000005c: 30529073 csrw mtvec,t0
+80000060: 18005073 csrwi satp,0
+80000064: 00000297 auipc t0,0x0
+80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+8000006c: 30529073 csrw mtvec,t0
+80000070: fff00293 li t0,-1
+80000074: 3b029073 csrw pmpaddr0,t0
+80000078: 01f00293 li t0,31
+8000007c: 3a029073 csrw pmpcfg0,t0
+80000080: 00000297 auipc t0,0x0
+80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+80000088: 30529073 csrw mtvec,t0
+8000008c: 30205073 csrwi medeleg,0
+80000090: 30305073 csrwi mideleg,0
+80000094: 30405073 csrwi mie,0
+80000098: 00000193 li gp,0
+8000009c: 00000297 auipc t0,0x0
+800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+800000a4: 30529073 csrw mtvec,t0
+800000a8: 00100513 li a0,1
+800000ac: 01f51513 slli a0,a0,0x1f
+800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74>
+800000b4: 0ff0000f fence
+800000b8: 00100193 li gp,1
+800000bc: 00000073 ecall
+800000c0: 80000297 auipc t0,0x80000
+800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+800000cc: 10529073 csrw stvec,t0
+800000d0: 0000b2b7 lui t0,0xb
+800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
+800000d8: 30229073 csrw medeleg,t0
+800000dc: 30202373 csrr t1,medeleg
+800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+800000e4: 30005073 csrwi mstatus,0
+800000e8: 00002537 lui a0,0x2
+800000ec: 30052073 csrs mstatus,a0
+800000f0: 00305073 csrwi fcsr,0
+800000f4: 00000297 auipc t0,0x0
+800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+800000fc: 34129073 csrw mepc,t0
+80000100: f1402573 csrr a0,mhartid
+80000104: 30200073 mret
+
+80000108 <test_2>:
+80000108: 00200193 li gp,2
+8000010c: 00002517 auipc a0,0x2
+80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+80000114: 00052683 lw a3,0(a0)
+80000118: 00452703 lw a4,4(a0)
+8000011c: 00200593 li a1,2
+80000120: d2058053 fcvt.d.w ft0,a1
+80000124: 00053027 fsd ft0,0(a0)
+80000128: 00452583 lw a1,4(a0)
+8000012c: 00052503 lw a0,0(a0)
+80000130: 00101073 fsflags zero
+80000134: 16d51263 bne a0,a3,80000298 <fail>
+80000138: 16e59063 bne a1,a4,80000298 <fail>
+
+8000013c <test_3>:
+8000013c: 00300193 li gp,3
+80000140: 00002517 auipc a0,0x2
+80000144: ec850513 addi a0,a0,-312 # 80002008 <test_3_data>
+80000148: 00052683 lw a3,0(a0)
+8000014c: 00452703 lw a4,4(a0)
+80000150: ffe00593 li a1,-2
+80000154: d2058053 fcvt.d.w ft0,a1
+80000158: 00053027 fsd ft0,0(a0)
+8000015c: 00452583 lw a1,4(a0)
+80000160: 00052503 lw a0,0(a0)
+80000164: 00101073 fsflags zero
+80000168: 12d51863 bne a0,a3,80000298 <fail>
+8000016c: 12e59663 bne a1,a4,80000298 <fail>
+
+80000170 <test_4>:
+80000170: 00400193 li gp,4
+80000174: 00002517 auipc a0,0x2
+80000178: e9c50513 addi a0,a0,-356 # 80002010 <test_4_data>
+8000017c: 00052683 lw a3,0(a0)
+80000180: 00452703 lw a4,4(a0)
+80000184: 00200593 li a1,2
+80000188: d2158053 fcvt.d.wu ft0,a1
+8000018c: 00053027 fsd ft0,0(a0)
+80000190: 00452583 lw a1,4(a0)
+80000194: 00052503 lw a0,0(a0)
+80000198: 00101073 fsflags zero
+8000019c: 0ed51e63 bne a0,a3,80000298 <fail>
+800001a0: 0ee59c63 bne a1,a4,80000298 <fail>
+
+800001a4 <test_5>:
+800001a4: 00500193 li gp,5
+800001a8: 00002517 auipc a0,0x2
+800001ac: e7050513 addi a0,a0,-400 # 80002018 <test_5_data>
+800001b0: 00052683 lw a3,0(a0)
+800001b4: 00452703 lw a4,4(a0)
+800001b8: ffe00593 li a1,-2
+800001bc: d2158053 fcvt.d.wu ft0,a1
+800001c0: 00053027 fsd ft0,0(a0)
+800001c4: 00452583 lw a1,4(a0)
+800001c8: 00052503 lw a0,0(a0)
+800001cc: 00101073 fsflags zero
+800001d0: 0cd51463 bne a0,a3,80000298 <fail>
+800001d4: 0ce59263 bne a1,a4,80000298 <fail>
+
+800001d8 <test_10>:
+800001d8: 00a00193 li gp,10
+800001dc: 00002517 auipc a0,0x2
+800001e0: e4450513 addi a0,a0,-444 # 80002020 <test_10_data>
+800001e4: 00053007 fld ft0,0(a0)
+800001e8: 00853087 fld ft1,8(a0)
+800001ec: 01053107 fld ft2,16(a0)
+800001f0: 01852683 lw a3,24(a0)
+800001f4: 01c52303 lw t1,28(a0)
+800001f8: 401071d3 fcvt.s.d ft3,ft0
+800001fc: 420181d3 fcvt.d.s ft3,ft3
+80000200: 00353027 fsd ft3,0(a0)
+80000204: 00452383 lw t2,4(a0)
+80000208: 00052503 lw a0,0(a0)
+8000020c: 001015f3 fsflags a1,zero
+80000210: 00000613 li a2,0
+80000214: 08d51263 bne a0,a3,80000298 <fail>
+80000218: 08731063 bne t1,t2,80000298 <fail>
+8000021c: 06c59e63 bne a1,a2,80000298 <fail>
+
+80000220 <test_11>:
+80000220: 00b00193 li gp,11
+80000224: 00002517 auipc a0,0x2
+80000228: e1c50513 addi a0,a0,-484 # 80002040 <test_11_data>
+8000022c: 00052007 flw ft0,0(a0)
+80000230: 00452087 flw ft1,4(a0)
+80000234: 00852107 flw ft2,8(a0)
+80000238: 00c52683 lw a3,12(a0)
+8000023c: 420001d3 fcvt.d.s ft3,ft0
+80000240: 4011f1d3 fcvt.s.d ft3,ft3
+80000244: e0018553 fmv.x.w a0,ft3
+80000248: 001015f3 fsflags a1,zero
+8000024c: 00000613 li a2,0
+80000250: 04d51463 bne a0,a3,80000298 <fail>
+80000254: 04c59263 bne a1,a2,80000298 <fail>
+
+80000258 <test_12>:
+80000258: 00002597 auipc a1,0x2
+8000025c: e0858593 addi a1,a1,-504 # 80002060 <begin_signature>
+80000260: 0005b107 fld ft2,0(a1)
+80000264: 40117153 fcvt.s.d ft2,ft2
+80000268: 42010153 fcvt.d.s ft2,ft2
+8000026c: 0025b027 fsd ft2,0(a1)
+80000270: 0005a503 lw a0,0(a1)
+80000274: 0045a583 lw a1,4(a1)
+80000278: 00002f97 auipc t6,0x2
+8000027c: dd8f8f93 addi t6,t6,-552 # 80002050 <test_12_data>
+80000280: 000fae83 lw t4,0(t6)
+80000284: 004faf83 lw t6,4(t6)
+80000288: 00c00193 li gp,12
+8000028c: 01d51663 bne a0,t4,80000298 <fail>
+80000290: 01f59463 bne a1,t6,80000298 <fail>
+80000294: 00301c63 bne zero,gp,800002ac <pass>
+
+80000298 <fail>:
+80000298: 0ff0000f fence
+8000029c: 00018063 beqz gp,8000029c <fail+0x4>
+800002a0: 00119193 slli gp,gp,0x1
+800002a4: 0011e193 ori gp,gp,1
+800002a8: 00000073 ecall
+
+800002ac <pass>:
+800002ac: 0ff0000f fence
+800002b0: 00100193 li gp,1
+800002b4: 00000073 ecall
+800002b8: c0001073 unimp
+800002bc: 0000 unimp
+800002be: 0000 unimp
+800002c0: 0000 unimp
+800002c2: 0000 unimp
+
+Disassembly of section .data:
+
+80002000 <test_2_data>:
+80002000: 0000 unimp
+80002002: 0000 unimp
+80002004: 0000 unimp
+80002006: 4000 lw s0,0(s0)
+
+80002008 <test_3_data>:
+80002008: 0000 unimp
+8000200a: 0000 unimp
+8000200c: 0000 unimp
+8000200e: c000 sw s0,0(s0)
+
+80002010 <test_4_data>:
+80002010: 0000 unimp
+80002012: 0000 unimp
+80002014: 0000 unimp
+80002016: 4000 lw s0,0(s0)
+
+80002018 <test_5_data>:
+80002018: 0000 unimp
+8000201a: ffc0 fsw fs0,60(a5)
+8000201c: ffff 0xffff
+8000201e: jal gp,8000601e <_end+0x3fae>
+
+80002020 <test_10_data>:
+80002020: 0000 unimp
+80002022: 0000 unimp
+80002024: 0000 unimp
+80002026: bff8 fsd fa4,248(a5)
+80002028: 0000 unimp
+8000202a: 0000 unimp
+8000202c: 0000 unimp
+8000202e: 0000 unimp
+80002030: 0000 unimp
+80002032: 0000 unimp
+80002034: 0000 unimp
+80002036: 0000 unimp
+80002038: 0000 unimp
+8000203a: 0000 unimp
+8000203c: 0000 unimp
+8000203e: bff8 fsd fa4,248(a5)
+
+80002040 <test_11_data>:
+80002040: 0000 unimp
+80002042: bfc0 fsd fs0,184(a5)
+80002044: 0000 unimp
+80002046: 0000 unimp
+80002048: 0000 unimp
+8000204a: 0000 unimp
+8000204c: 0000 unimp
+8000204e: bfc0 fsd fs0,184(a5)
+
+80002050 <test_12_data>:
+80002050: 0000 unimp
+80002052: 0000 unimp
+80002054: 0000 unimp
+80002056: 7ff8 flw fa4,124(a5)
+80002058: 0000 unimp
+8000205a: 0000 unimp
+8000205c: 0000 unimp
+8000205e: 0000 unimp
+
+80002060 <begin_signature>:
+80002060: 8004 0x8004
+80002062: ffff 0xffff
+80002064: ffff 0xffff
+80002066: 7ffc flw fa5,124(a5)
+80002068: 0000 unimp
+8000206a: 0000 unimp
+8000206c: 0000 unimp
+8000206e: 0000 unimp
diff --git a/test/riscv-tests/rv32ud-p-fcvt.elf b/test/riscv-tests/rv32ud-p-fcvt.elf
new file mode 100644
index 0000000..fda1e44
--- /dev/null
+++ b/test/riscv-tests/rv32ud-p-fcvt.elf
Binary files differ
diff --git a/test/riscv-tests/rv32ud-p-fcvt_w.dump b/test/riscv-tests/rv32ud-p-fcvt_w.dump
new file mode 100644
index 0000000..e7027cb
--- /dev/null
+++ b/test/riscv-tests/rv32ud-p-fcvt_w.dump
@@ -0,0 +1,604 @@
+
+rv32ud-p-fcvt_w: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 04c0006f j 8000004c <reset_vector>
+
+80000004 <trap_vector>:
+80000004: 34202f73 csrr t5,mcause
+80000008: 00800f93 li t6,8
+8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+80000010: 00900f93 li t6,9
+80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+80000018: 00b00f93 li t6,11
+8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+80000020: 80000f17 auipc t5,0x80000
+80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+8000002c: 000f0067 jr t5
+80000030: 34202f73 csrr t5,mcause
+80000034: 000f5463 bgez t5,8000003c <handle_exception>
+80000038: 0040006f j 8000003c <handle_exception>
+
+8000003c <handle_exception>:
+8000003c: 5391e193 ori gp,gp,1337
+
+80000040 <write_tohost>:
+80000040: 00001f17 auipc t5,0x1
+80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+80000048: ff9ff06f j 80000040 <write_tohost>
+
+8000004c <reset_vector>:
+8000004c: f1402573 csrr a0,mhartid
+80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+80000054: 00000297 auipc t0,0x0
+80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+8000005c: 30529073 csrw mtvec,t0
+80000060: 18005073 csrwi satp,0
+80000064: 00000297 auipc t0,0x0
+80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+8000006c: 30529073 csrw mtvec,t0
+80000070: fff00293 li t0,-1
+80000074: 3b029073 csrw pmpaddr0,t0
+80000078: 01f00293 li t0,31
+8000007c: 3a029073 csrw pmpcfg0,t0
+80000080: 00000297 auipc t0,0x0
+80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+80000088: 30529073 csrw mtvec,t0
+8000008c: 30205073 csrwi medeleg,0
+80000090: 30305073 csrwi mideleg,0
+80000094: 30405073 csrwi mie,0
+80000098: 00000193 li gp,0
+8000009c: 00000297 auipc t0,0x0
+800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+800000a4: 30529073 csrw mtvec,t0
+800000a8: 00100513 li a0,1
+800000ac: 01f51513 slli a0,a0,0x1f
+800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74>
+800000b4: 0ff0000f fence
+800000b8: 00100193 li gp,1
+800000bc: 00000073 ecall
+800000c0: 80000297 auipc t0,0x80000
+800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+800000cc: 10529073 csrw stvec,t0
+800000d0: 0000b2b7 lui t0,0xb
+800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
+800000d8: 30229073 csrw medeleg,t0
+800000dc: 30202373 csrr t1,medeleg
+800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+800000e4: 30005073 csrwi mstatus,0
+800000e8: 00002537 lui a0,0x2
+800000ec: 30052073 csrs mstatus,a0
+800000f0: 00305073 csrwi fcsr,0
+800000f4: 00000297 auipc t0,0x0
+800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+800000fc: 34129073 csrw mepc,t0
+80000100: f1402573 csrr a0,mhartid
+80000104: 30200073 mret
+
+80000108 <test_2>:
+80000108: 00200193 li gp,2
+8000010c: 00002517 auipc a0,0x2
+80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+80000114: 00052007 flw ft0,0(a0)
+80000118: 00452087 flw ft1,4(a0)
+8000011c: 00852107 flw ft2,8(a0)
+80000120: 00c52683 lw a3,12(a0)
+80000124: c0001553 fcvt.w.s a0,ft0,rtz
+80000128: 001015f3 fsflags a1,zero
+8000012c: 00100613 li a2,1
+80000130: 3cd51463 bne a0,a3,800004f8 <fail>
+80000134: 3cc59263 bne a1,a2,800004f8 <fail>
+
+80000138 <test_3>:
+80000138: 00300193 li gp,3
+8000013c: 00002517 auipc a0,0x2
+80000140: ed450513 addi a0,a0,-300 # 80002010 <test_3_data>
+80000144: 00052007 flw ft0,0(a0)
+80000148: 00452087 flw ft1,4(a0)
+8000014c: 00852107 flw ft2,8(a0)
+80000150: 00c52683 lw a3,12(a0)
+80000154: c0001553 fcvt.w.s a0,ft0,rtz
+80000158: 001015f3 fsflags a1,zero
+8000015c: 00000613 li a2,0
+80000160: 38d51c63 bne a0,a3,800004f8 <fail>
+80000164: 38c59a63 bne a1,a2,800004f8 <fail>
+
+80000168 <test_4>:
+80000168: 00400193 li gp,4
+8000016c: 00002517 auipc a0,0x2
+80000170: eb450513 addi a0,a0,-332 # 80002020 <test_4_data>
+80000174: 00052007 flw ft0,0(a0)
+80000178: 00452087 flw ft1,4(a0)
+8000017c: 00852107 flw ft2,8(a0)
+80000180: 00c52683 lw a3,12(a0)
+80000184: c0001553 fcvt.w.s a0,ft0,rtz
+80000188: 001015f3 fsflags a1,zero
+8000018c: 00100613 li a2,1
+80000190: 36d51463 bne a0,a3,800004f8 <fail>
+80000194: 36c59263 bne a1,a2,800004f8 <fail>
+
+80000198 <test_5>:
+80000198: 00500193 li gp,5
+8000019c: 00002517 auipc a0,0x2
+800001a0: e9450513 addi a0,a0,-364 # 80002030 <test_5_data>
+800001a4: 00052007 flw ft0,0(a0)
+800001a8: 00452087 flw ft1,4(a0)
+800001ac: 00852107 flw ft2,8(a0)
+800001b0: 00c52683 lw a3,12(a0)
+800001b4: c0001553 fcvt.w.s a0,ft0,rtz
+800001b8: 001015f3 fsflags a1,zero
+800001bc: 00100613 li a2,1
+800001c0: 32d51c63 bne a0,a3,800004f8 <fail>
+800001c4: 32c59a63 bne a1,a2,800004f8 <fail>
+
+800001c8 <test_6>:
+800001c8: 00600193 li gp,6
+800001cc: 00002517 auipc a0,0x2
+800001d0: e7450513 addi a0,a0,-396 # 80002040 <test_6_data>
+800001d4: 00052007 flw ft0,0(a0)
+800001d8: 00452087 flw ft1,4(a0)
+800001dc: 00852107 flw ft2,8(a0)
+800001e0: 00c52683 lw a3,12(a0)
+800001e4: c0001553 fcvt.w.s a0,ft0,rtz
+800001e8: 001015f3 fsflags a1,zero
+800001ec: 00000613 li a2,0
+800001f0: 30d51463 bne a0,a3,800004f8 <fail>
+800001f4: 30c59263 bne a1,a2,800004f8 <fail>
+
+800001f8 <test_7>:
+800001f8: 00700193 li gp,7
+800001fc: 00002517 auipc a0,0x2
+80000200: e5450513 addi a0,a0,-428 # 80002050 <test_7_data>
+80000204: 00052007 flw ft0,0(a0)
+80000208: 00452087 flw ft1,4(a0)
+8000020c: 00852107 flw ft2,8(a0)
+80000210: 00c52683 lw a3,12(a0)
+80000214: c0001553 fcvt.w.s a0,ft0,rtz
+80000218: 001015f3 fsflags a1,zero
+8000021c: 00100613 li a2,1
+80000220: 2cd51c63 bne a0,a3,800004f8 <fail>
+80000224: 2cc59a63 bne a1,a2,800004f8 <fail>
+
+80000228 <test_8>:
+80000228: 00800193 li gp,8
+8000022c: 00002517 auipc a0,0x2
+80000230: e3450513 addi a0,a0,-460 # 80002060 <test_8_data>
+80000234: 00052007 flw ft0,0(a0)
+80000238: 00452087 flw ft1,4(a0)
+8000023c: 00852107 flw ft2,8(a0)
+80000240: 00c52683 lw a3,12(a0)
+80000244: c0001553 fcvt.w.s a0,ft0,rtz
+80000248: 001015f3 fsflags a1,zero
+8000024c: 01000613 li a2,16
+80000250: 2ad51463 bne a0,a3,800004f8 <fail>
+80000254: 2ac59263 bne a1,a2,800004f8 <fail>
+
+80000258 <test_9>:
+80000258: 00900193 li gp,9
+8000025c: 00002517 auipc a0,0x2
+80000260: e1450513 addi a0,a0,-492 # 80002070 <test_9_data>
+80000264: 00052007 flw ft0,0(a0)
+80000268: 00452087 flw ft1,4(a0)
+8000026c: 00852107 flw ft2,8(a0)
+80000270: 00c52683 lw a3,12(a0)
+80000274: c0001553 fcvt.w.s a0,ft0,rtz
+80000278: 001015f3 fsflags a1,zero
+8000027c: 01000613 li a2,16
+80000280: 26d51c63 bne a0,a3,800004f8 <fail>
+80000284: 26c59a63 bne a1,a2,800004f8 <fail>
+
+80000288 <test_12>:
+80000288: 00c00193 li gp,12
+8000028c: 00002517 auipc a0,0x2
+80000290: df450513 addi a0,a0,-524 # 80002080 <test_12_data>
+80000294: 00052007 flw ft0,0(a0)
+80000298: 00452087 flw ft1,4(a0)
+8000029c: 00852107 flw ft2,8(a0)
+800002a0: 00c52683 lw a3,12(a0)
+800002a4: c0101553 fcvt.wu.s a0,ft0,rtz
+800002a8: 001015f3 fsflags a1,zero
+800002ac: 01000613 li a2,16
+800002b0: 24d51463 bne a0,a3,800004f8 <fail>
+800002b4: 24c59263 bne a1,a2,800004f8 <fail>
+
+800002b8 <test_13>:
+800002b8: 00d00193 li gp,13
+800002bc: 00002517 auipc a0,0x2
+800002c0: dd450513 addi a0,a0,-556 # 80002090 <test_13_data>
+800002c4: 00052007 flw ft0,0(a0)
+800002c8: 00452087 flw ft1,4(a0)
+800002cc: 00852107 flw ft2,8(a0)
+800002d0: 00c52683 lw a3,12(a0)
+800002d4: c0101553 fcvt.wu.s a0,ft0,rtz
+800002d8: 001015f3 fsflags a1,zero
+800002dc: 01000613 li a2,16
+800002e0: 20d51c63 bne a0,a3,800004f8 <fail>
+800002e4: 20c59a63 bne a1,a2,800004f8 <fail>
+
+800002e8 <test_14>:
+800002e8: 00e00193 li gp,14
+800002ec: 00002517 auipc a0,0x2
+800002f0: db450513 addi a0,a0,-588 # 800020a0 <test_14_data>
+800002f4: 00052007 flw ft0,0(a0)
+800002f8: 00452087 flw ft1,4(a0)
+800002fc: 00852107 flw ft2,8(a0)
+80000300: 00c52683 lw a3,12(a0)
+80000304: c0101553 fcvt.wu.s a0,ft0,rtz
+80000308: 001015f3 fsflags a1,zero
+8000030c: 00100613 li a2,1
+80000310: 1ed51463 bne a0,a3,800004f8 <fail>
+80000314: 1ec59263 bne a1,a2,800004f8 <fail>
+
+80000318 <test_15>:
+80000318: 00f00193 li gp,15
+8000031c: 00002517 auipc a0,0x2
+80000320: d9450513 addi a0,a0,-620 # 800020b0 <test_15_data>
+80000324: 00052007 flw ft0,0(a0)
+80000328: 00452087 flw ft1,4(a0)
+8000032c: 00852107 flw ft2,8(a0)
+80000330: 00c52683 lw a3,12(a0)
+80000334: c0101553 fcvt.wu.s a0,ft0,rtz
+80000338: 001015f3 fsflags a1,zero
+8000033c: 00100613 li a2,1
+80000340: 1ad51c63 bne a0,a3,800004f8 <fail>
+80000344: 1ac59a63 bne a1,a2,800004f8 <fail>
+
+80000348 <test_16>:
+80000348: 01000193 li gp,16
+8000034c: 00002517 auipc a0,0x2
+80000350: d7450513 addi a0,a0,-652 # 800020c0 <test_16_data>
+80000354: 00052007 flw ft0,0(a0)
+80000358: 00452087 flw ft1,4(a0)
+8000035c: 00852107 flw ft2,8(a0)
+80000360: 00c52683 lw a3,12(a0)
+80000364: c0101553 fcvt.wu.s a0,ft0,rtz
+80000368: 001015f3 fsflags a1,zero
+8000036c: 00000613 li a2,0
+80000370: 18d51463 bne a0,a3,800004f8 <fail>
+80000374: 18c59263 bne a1,a2,800004f8 <fail>
+
+80000378 <test_17>:
+80000378: 01100193 li gp,17
+8000037c: 00002517 auipc a0,0x2
+80000380: d5450513 addi a0,a0,-684 # 800020d0 <test_17_data>
+80000384: 00052007 flw ft0,0(a0)
+80000388: 00452087 flw ft1,4(a0)
+8000038c: 00852107 flw ft2,8(a0)
+80000390: 00c52683 lw a3,12(a0)
+80000394: c0101553 fcvt.wu.s a0,ft0,rtz
+80000398: 001015f3 fsflags a1,zero
+8000039c: 00100613 li a2,1
+800003a0: 14d51c63 bne a0,a3,800004f8 <fail>
+800003a4: 14c59a63 bne a1,a2,800004f8 <fail>
+
+800003a8 <test_18>:
+800003a8: 01200193 li gp,18
+800003ac: 00002517 auipc a0,0x2
+800003b0: d3450513 addi a0,a0,-716 # 800020e0 <test_18_data>
+800003b4: 00052007 flw ft0,0(a0)
+800003b8: 00452087 flw ft1,4(a0)
+800003bc: 00852107 flw ft2,8(a0)
+800003c0: 00c52683 lw a3,12(a0)
+800003c4: c0101553 fcvt.wu.s a0,ft0,rtz
+800003c8: 001015f3 fsflags a1,zero
+800003cc: 01000613 li a2,16
+800003d0: 12d51463 bne a0,a3,800004f8 <fail>
+800003d4: 12c59263 bne a1,a2,800004f8 <fail>
+
+800003d8 <test_19>:
+800003d8: 01300193 li gp,19
+800003dc: 00002517 auipc a0,0x2
+800003e0: d1450513 addi a0,a0,-748 # 800020f0 <test_19_data>
+800003e4: 00052007 flw ft0,0(a0)
+800003e8: 00452087 flw ft1,4(a0)
+800003ec: 00852107 flw ft2,8(a0)
+800003f0: 00c52683 lw a3,12(a0)
+800003f4: c0101553 fcvt.wu.s a0,ft0,rtz
+800003f8: 001015f3 fsflags a1,zero
+800003fc: 00000613 li a2,0
+80000400: 0ed51c63 bne a0,a3,800004f8 <fail>
+80000404: 0ec59a63 bne a1,a2,800004f8 <fail>
+
+80000408 <test_42>:
+80000408: 00002097 auipc ra,0x2
+8000040c: cf808093 addi ra,ra,-776 # 80002100 <begin_signature>
+80000410: 0000a087 flw ft1,0(ra)
+80000414: c000f0d3 fcvt.w.s ra,ft1
+80000418: 80000eb7 lui t4,0x80000
+8000041c: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffdecf>
+80000420: 02a00193 li gp,42
+80000424: 0dd09a63 bne ra,t4,800004f8 <fail>
+
+80000428 <test_44>:
+80000428: 00002097 auipc ra,0x2
+8000042c: cd808093 addi ra,ra,-808 # 80002100 <begin_signature>
+80000430: 0080a087 flw ft1,8(ra)
+80000434: c000f0d3 fcvt.w.s ra,ft1
+80000438: 80000eb7 lui t4,0x80000
+8000043c: 02c00193 li gp,44
+80000440: 0bd09c63 bne ra,t4,800004f8 <fail>
+
+80000444 <test_52>:
+80000444: 00002097 auipc ra,0x2
+80000448: cbc08093 addi ra,ra,-836 # 80002100 <begin_signature>
+8000044c: 0040a087 flw ft1,4(ra)
+80000450: c000f0d3 fcvt.w.s ra,ft1
+80000454: 80000eb7 lui t4,0x80000
+80000458: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffdecf>
+8000045c: 03400193 li gp,52
+80000460: 09d09c63 bne ra,t4,800004f8 <fail>
+
+80000464 <test_54>:
+80000464: 00002097 auipc ra,0x2
+80000468: c9c08093 addi ra,ra,-868 # 80002100 <begin_signature>
+8000046c: 00c0a087 flw ft1,12(ra)
+80000470: c000f0d3 fcvt.w.s ra,ft1
+80000474: 80000eb7 lui t4,0x80000
+80000478: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffdecf>
+8000047c: 03600193 li gp,54
+80000480: 07d09c63 bne ra,t4,800004f8 <fail>
+
+80000484 <test_62>:
+80000484: 00002097 auipc ra,0x2
+80000488: c7c08093 addi ra,ra,-900 # 80002100 <begin_signature>
+8000048c: 0000a087 flw ft1,0(ra)
+80000490: c010f0d3 fcvt.wu.s ra,ft1
+80000494: fff00e93 li t4,-1
+80000498: 03e00193 li gp,62
+8000049c: 05d09e63 bne ra,t4,800004f8 <fail>
+
+800004a0 <test_63>:
+800004a0: 00002097 auipc ra,0x2
+800004a4: c6008093 addi ra,ra,-928 # 80002100 <begin_signature>
+800004a8: 0040a087 flw ft1,4(ra)
+800004ac: c010f0d3 fcvt.wu.s ra,ft1
+800004b0: fff00e93 li t4,-1
+800004b4: 03f00193 li gp,63
+800004b8: 05d09063 bne ra,t4,800004f8 <fail>
+
+800004bc <test_64>:
+800004bc: 00002097 auipc ra,0x2
+800004c0: c4408093 addi ra,ra,-956 # 80002100 <begin_signature>
+800004c4: 0080a087 flw ft1,8(ra)
+800004c8: c010f0d3 fcvt.wu.s ra,ft1
+800004cc: 00000e93 li t4,0
+800004d0: 04000193 li gp,64
+800004d4: 03d09263 bne ra,t4,800004f8 <fail>
+
+800004d8 <test_65>:
+800004d8: 00002097 auipc ra,0x2
+800004dc: c2808093 addi ra,ra,-984 # 80002100 <begin_signature>
+800004e0: 00c0a087 flw ft1,12(ra)
+800004e4: c010f0d3 fcvt.wu.s ra,ft1
+800004e8: fff00e93 li t4,-1
+800004ec: 04100193 li gp,65
+800004f0: 01d09463 bne ra,t4,800004f8 <fail>
+800004f4: 00301c63 bne zero,gp,8000050c <pass>
+
+800004f8 <fail>:
+800004f8: 0ff0000f fence
+800004fc: 00018063 beqz gp,800004fc <fail+0x4>
+80000500: 00119193 slli gp,gp,0x1
+80000504: 0011e193 ori gp,gp,1
+80000508: 00000073 ecall
+
+8000050c <pass>:
+8000050c: 0ff0000f fence
+80000510: 00100193 li gp,1
+80000514: 00000073 ecall
+80000518: c0001073 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:
+
+80002000 <test_2_data>:
+80002000: cccd beqz s1,800020ba <test_15_data+0xa>
+80002002: bf8c fsd fa1,56(a5)
+80002004: 0000 unimp
+80002006: 0000 unimp
+80002008: 0000 unimp
+8000200a: 0000 unimp
+8000200c: ffff 0xffff
+8000200e: ffff 0xffff
+
+80002010 <test_3_data>:
+80002010: 0000 unimp
+80002012: bf80 fsd fs0,56(a5)
+80002014: 0000 unimp
+80002016: 0000 unimp
+80002018: 0000 unimp
+8000201a: 0000 unimp
+8000201c: ffff 0xffff
+8000201e: ffff 0xffff
+
+80002020 <test_4_data>:
+80002020: 6666 flw fa2,88(sp)
+80002022: bf66 fsd fs9,440(sp)
+80002024: 0000 unimp
+80002026: 0000 unimp
+80002028: 0000 unimp
+8000202a: 0000 unimp
+8000202c: 0000 unimp
+8000202e: 0000 unimp
+
+80002030 <test_5_data>:
+80002030: 6666 flw fa2,88(sp)
+80002032: 3f66 fld ft10,120(sp)
+80002034: 0000 unimp
+80002036: 0000 unimp
+80002038: 0000 unimp
+8000203a: 0000 unimp
+8000203c: 0000 unimp
+8000203e: 0000 unimp
+
+80002040 <test_6_data>:
+80002040: 0000 unimp
+80002042: 3f80 fld fs0,56(a5)
+80002044: 0000 unimp
+80002046: 0000 unimp
+80002048: 0000 unimp
+8000204a: 0000 unimp
+8000204c: 0001 nop
+8000204e: 0000 unimp
+
+80002050 <test_7_data>:
+80002050: cccd beqz s1,8000210a <begin_signature+0xa>
+80002052: 3f8c fld fa1,56(a5)
+80002054: 0000 unimp
+80002056: 0000 unimp
+80002058: 0000 unimp
+8000205a: 0000 unimp
+8000205c: 0001 nop
+8000205e: 0000 unimp
+
+80002060 <test_8_data>:
+80002060: d05e sw s7,32(sp)
+80002062: cf32 sw a2,156(sp)
+80002064: 0000 unimp
+80002066: 0000 unimp
+80002068: 0000 unimp
+8000206a: 0000 unimp
+8000206c: 0000 unimp
+8000206e: 8000 0x8000
+
+80002070 <test_9_data>:
+80002070: d05e sw s7,32(sp)
+80002072: 4f32 lw t5,12(sp)
+80002074: 0000 unimp
+80002076: 0000 unimp
+80002078: 0000 unimp
+8000207a: 0000 unimp
+8000207c: ffff 0xffff
+8000207e: 7fff 0x7fff
+
+80002080 <test_12_data>:
+80002080: 0000 unimp
+80002082: c040 sw s0,4(s0)
+80002084: 0000 unimp
+80002086: 0000 unimp
+80002088: 0000 unimp
+8000208a: 0000 unimp
+8000208c: 0000 unimp
+8000208e: 0000 unimp
+
+80002090 <test_13_data>:
+80002090: 0000 unimp
+80002092: bf80 fsd fs0,56(a5)
+80002094: 0000 unimp
+80002096: 0000 unimp
+80002098: 0000 unimp
+8000209a: 0000 unimp
+8000209c: 0000 unimp
+8000209e: 0000 unimp
+
+800020a0 <test_14_data>:
+800020a0: 6666 flw fa2,88(sp)
+800020a2: bf66 fsd fs9,440(sp)
+800020a4: 0000 unimp
+800020a6: 0000 unimp
+800020a8: 0000 unimp
+800020aa: 0000 unimp
+800020ac: 0000 unimp
+800020ae: 0000 unimp
+
+800020b0 <test_15_data>:
+800020b0: 6666 flw fa2,88(sp)
+800020b2: 3f66 fld ft10,120(sp)
+800020b4: 0000 unimp
+800020b6: 0000 unimp
+800020b8: 0000 unimp
+800020ba: 0000 unimp
+800020bc: 0000 unimp
+800020be: 0000 unimp
+
+800020c0 <test_16_data>:
+800020c0: 0000 unimp
+800020c2: 3f80 fld fs0,56(a5)
+800020c4: 0000 unimp
+800020c6: 0000 unimp
+800020c8: 0000 unimp
+800020ca: 0000 unimp
+800020cc: 0001 nop
+800020ce: 0000 unimp
+
+800020d0 <test_17_data>:
+800020d0: cccd beqz s1,8000218a <_end+0x5a>
+800020d2: 3f8c fld fa1,56(a5)
+800020d4: 0000 unimp
+800020d6: 0000 unimp
+800020d8: 0000 unimp
+800020da: 0000 unimp
+800020dc: 0001 nop
+800020de: 0000 unimp
+
+800020e0 <test_18_data>:
+800020e0: d05e sw s7,32(sp)
+800020e2: cf32 sw a2,156(sp)
+800020e4: 0000 unimp
+800020e6: 0000 unimp
+800020e8: 0000 unimp
+800020ea: 0000 unimp
+800020ec: 0000 unimp
+800020ee: 0000 unimp
+
+800020f0 <test_19_data>:
+800020f0: d05e sw s7,32(sp)
+800020f2: 4f32 lw t5,12(sp)
+800020f4: 0000 unimp
+800020f6: 0000 unimp
+800020f8: 0000 unimp
+800020fa: 0000 unimp
+800020fc: 5e00 lw s0,56(a2)
+800020fe: b2d0 fsd fa2,160(a3)
+
+80002100 <begin_signature>:
+80002100: ffff 0xffff
+80002102: ffff 0xffff
+80002104: ffff 0xffff
+80002106: 7fff 0x7fff
+80002108: 0000 unimp
+8000210a: ff80 fsw fs0,56(a5)
+8000210c: 0000 unimp
+8000210e: 7f80 flw fs0,56(a5)
+
+80002110 <tdat_d>:
+80002110: ffff 0xffff
+80002112: ffff 0xffff
+80002114: ffff 0xffff
+80002116: ffff 0xffff
+80002118: ffff 0xffff
+8000211a: ffff 0xffff
+8000211c: ffff 0xffff
+8000211e: 7fff 0x7fff
+80002120: 0000 unimp
+80002122: 0000 unimp
+80002124: 0000 unimp
+80002126: fff0 fsw fa2,124(a5)
+80002128: 0000 unimp
+8000212a: 0000 unimp
+8000212c: 0000 unimp
+8000212e: 7ff0 flw fa2,124(a5)
diff --git a/test/riscv-tests/rv32ud-p-fcvt_w.elf b/test/riscv-tests/rv32ud-p-fcvt_w.elf
new file mode 100644
index 0000000..77b06c0
--- /dev/null
+++ b/test/riscv-tests/rv32ud-p-fcvt_w.elf
Binary files differ
diff --git a/test/riscv-tests/rv32ud-p-fdiv.dump b/test/riscv-tests/rv32ud-p-fdiv.dump
new file mode 100644
index 0000000..f4dd59c
--- /dev/null
+++ b/test/riscv-tests/rv32ud-p-fdiv.dump
@@ -0,0 +1,407 @@
+
+rv32ud-p-fdiv: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 04c0006f j 8000004c <reset_vector>
+
+80000004 <trap_vector>:
+80000004: 34202f73 csrr t5,mcause
+80000008: 00800f93 li t6,8
+8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+80000010: 00900f93 li t6,9
+80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+80000018: 00b00f93 li t6,11
+8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+80000020: 80000f17 auipc t5,0x80000
+80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+8000002c: 000f0067 jr t5
+80000030: 34202f73 csrr t5,mcause
+80000034: 000f5463 bgez t5,8000003c <handle_exception>
+80000038: 0040006f j 8000003c <handle_exception>
+
+8000003c <handle_exception>:
+8000003c: 5391e193 ori gp,gp,1337
+
+80000040 <write_tohost>:
+80000040: 00001f17 auipc t5,0x1
+80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+80000048: ff9ff06f j 80000040 <write_tohost>
+
+8000004c <reset_vector>:
+8000004c: f1402573 csrr a0,mhartid
+80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+80000054: 00000297 auipc t0,0x0
+80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+8000005c: 30529073 csrw mtvec,t0
+80000060: 18005073 csrwi satp,0
+80000064: 00000297 auipc t0,0x0
+80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+8000006c: 30529073 csrw mtvec,t0
+80000070: fff00293 li t0,-1
+80000074: 3b029073 csrw pmpaddr0,t0
+80000078: 01f00293 li t0,31
+8000007c: 3a029073 csrw pmpcfg0,t0
+80000080: 00000297 auipc t0,0x0
+80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+80000088: 30529073 csrw mtvec,t0
+8000008c: 30205073 csrwi medeleg,0
+80000090: 30305073 csrwi mideleg,0
+80000094: 30405073 csrwi mie,0
+80000098: 00000193 li gp,0
+8000009c: 00000297 auipc t0,0x0
+800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+800000a4: 30529073 csrw mtvec,t0
+800000a8: 00100513 li a0,1
+800000ac: 01f51513 slli a0,a0,0x1f
+800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74>
+800000b4: 0ff0000f fence
+800000b8: 00100193 li gp,1
+800000bc: 00000073 ecall
+800000c0: 80000297 auipc t0,0x80000
+800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+800000cc: 10529073 csrw stvec,t0
+800000d0: 0000b2b7 lui t0,0xb
+800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
+800000d8: 30229073 csrw medeleg,t0
+800000dc: 30202373 csrr t1,medeleg
+800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+800000e4: 30005073 csrwi mstatus,0
+800000e8: 00002537 lui a0,0x2
+800000ec: 30052073 csrs mstatus,a0
+800000f0: 00305073 csrwi fcsr,0
+800000f4: 00000297 auipc t0,0x0
+800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+800000fc: 34129073 csrw mepc,t0
+80000100: f1402573 csrr a0,mhartid
+80000104: 30200073 mret
+
+80000108 <test_2>:
+80000108: 00200193 li gp,2
+8000010c: 00002517 auipc a0,0x2
+80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+80000114: 00053007 fld ft0,0(a0)
+80000118: 00853087 fld ft1,8(a0)
+8000011c: 01053107 fld ft2,16(a0)
+80000120: 01852683 lw a3,24(a0)
+80000124: 01c52303 lw t1,28(a0)
+80000128: 1a1071d3 fdiv.d ft3,ft0,ft1
+8000012c: 00353027 fsd ft3,0(a0)
+80000130: 00452383 lw t2,4(a0)
+80000134: 00052503 lw a0,0(a0)
+80000138: 001015f3 fsflags a1,zero
+8000013c: 00100613 li a2,1
+80000140: 1ed51663 bne a0,a3,8000032c <fail>
+80000144: 1e731463 bne t1,t2,8000032c <fail>
+80000148: 1ec59263 bne a1,a2,8000032c <fail>
+
+8000014c <test_3>:
+8000014c: 00300193 li gp,3
+80000150: 00002517 auipc a0,0x2
+80000154: ed050513 addi a0,a0,-304 # 80002020 <test_3_data>
+80000158: 00053007 fld ft0,0(a0)
+8000015c: 00853087 fld ft1,8(a0)
+80000160: 01053107 fld ft2,16(a0)
+80000164: 01852683 lw a3,24(a0)
+80000168: 01c52303 lw t1,28(a0)
+8000016c: 1a1071d3 fdiv.d ft3,ft0,ft1
+80000170: 00353027 fsd ft3,0(a0)
+80000174: 00452383 lw t2,4(a0)
+80000178: 00052503 lw a0,0(a0)
+8000017c: 001015f3 fsflags a1,zero
+80000180: 00100613 li a2,1
+80000184: 1ad51463 bne a0,a3,8000032c <fail>
+80000188: 1a731263 bne t1,t2,8000032c <fail>
+8000018c: 1ac59063 bne a1,a2,8000032c <fail>
+
+80000190 <test_4>:
+80000190: 00400193 li gp,4
+80000194: 00002517 auipc a0,0x2
+80000198: eac50513 addi a0,a0,-340 # 80002040 <test_4_data>
+8000019c: 00053007 fld ft0,0(a0)
+800001a0: 00853087 fld ft1,8(a0)
+800001a4: 01053107 fld ft2,16(a0)
+800001a8: 01852683 lw a3,24(a0)
+800001ac: 01c52303 lw t1,28(a0)
+800001b0: 1a1071d3 fdiv.d ft3,ft0,ft1
+800001b4: 00353027 fsd ft3,0(a0)
+800001b8: 00452383 lw t2,4(a0)
+800001bc: 00052503 lw a0,0(a0)
+800001c0: 001015f3 fsflags a1,zero
+800001c4: 00000613 li a2,0
+800001c8: 16d51263 bne a0,a3,8000032c <fail>
+800001cc: 16731063 bne t1,t2,8000032c <fail>
+800001d0: 14c59e63 bne a1,a2,8000032c <fail>
+
+800001d4 <test_5>:
+800001d4: 00500193 li gp,5
+800001d8: 00002517 auipc a0,0x2
+800001dc: e8850513 addi a0,a0,-376 # 80002060 <test_5_data>
+800001e0: 00053007 fld ft0,0(a0)
+800001e4: 00853087 fld ft1,8(a0)
+800001e8: 01053107 fld ft2,16(a0)
+800001ec: 01852683 lw a3,24(a0)
+800001f0: 01c52303 lw t1,28(a0)
+800001f4: 5a0071d3 fsqrt.d ft3,ft0
+800001f8: 00353027 fsd ft3,0(a0)
+800001fc: 00452383 lw t2,4(a0)
+80000200: 00052503 lw a0,0(a0)
+80000204: 001015f3 fsflags a1,zero
+80000208: 00100613 li a2,1
+8000020c: 12d51063 bne a0,a3,8000032c <fail>
+80000210: 10731e63 bne t1,t2,8000032c <fail>
+80000214: 10c59c63 bne a1,a2,8000032c <fail>
+
+80000218 <test_6>:
+80000218: 00600193 li gp,6
+8000021c: 00002517 auipc a0,0x2
+80000220: e6450513 addi a0,a0,-412 # 80002080 <test_6_data>
+80000224: 00053007 fld ft0,0(a0)
+80000228: 00853087 fld ft1,8(a0)
+8000022c: 01053107 fld ft2,16(a0)
+80000230: 01852683 lw a3,24(a0)
+80000234: 01c52303 lw t1,28(a0)
+80000238: 5a0071d3 fsqrt.d ft3,ft0
+8000023c: 00353027 fsd ft3,0(a0)
+80000240: 00452383 lw t2,4(a0)
+80000244: 00052503 lw a0,0(a0)
+80000248: 001015f3 fsflags a1,zero
+8000024c: 00000613 li a2,0
+80000250: 0cd51e63 bne a0,a3,8000032c <fail>
+80000254: 0c731c63 bne t1,t2,8000032c <fail>
+80000258: 0cc59a63 bne a1,a2,8000032c <fail>
+
+8000025c <test_16>:
+8000025c: 01000193 li gp,16
+80000260: 00002517 auipc a0,0x2
+80000264: e4050513 addi a0,a0,-448 # 800020a0 <test_16_data>
+80000268: 00053007 fld ft0,0(a0)
+8000026c: 00853087 fld ft1,8(a0)
+80000270: 01053107 fld ft2,16(a0)
+80000274: 01852683 lw a3,24(a0)
+80000278: 01c52303 lw t1,28(a0)
+8000027c: 5a0071d3 fsqrt.d ft3,ft0
+80000280: 00353027 fsd ft3,0(a0)
+80000284: 00452383 lw t2,4(a0)
+80000288: 00052503 lw a0,0(a0)
+8000028c: 001015f3 fsflags a1,zero
+80000290: 01000613 li a2,16
+80000294: 08d51c63 bne a0,a3,8000032c <fail>
+80000298: 08731a63 bne t1,t2,8000032c <fail>
+8000029c: 08c59863 bne a1,a2,8000032c <fail>
+
+800002a0 <test_7>:
+800002a0: 00700193 li gp,7
+800002a4: 00002517 auipc a0,0x2
+800002a8: e1c50513 addi a0,a0,-484 # 800020c0 <test_7_data>
+800002ac: 00053007 fld ft0,0(a0)
+800002b0: 00853087 fld ft1,8(a0)
+800002b4: 01053107 fld ft2,16(a0)
+800002b8: 01852683 lw a3,24(a0)
+800002bc: 01c52303 lw t1,28(a0)
+800002c0: 5a0071d3 fsqrt.d ft3,ft0
+800002c4: 00353027 fsd ft3,0(a0)
+800002c8: 00452383 lw t2,4(a0)
+800002cc: 00052503 lw a0,0(a0)
+800002d0: 001015f3 fsflags a1,zero
+800002d4: 00100613 li a2,1
+800002d8: 04d51a63 bne a0,a3,8000032c <fail>
+800002dc: 04731863 bne t1,t2,8000032c <fail>
+800002e0: 04c59663 bne a1,a2,8000032c <fail>
+
+800002e4 <test_8>:
+800002e4: 00800193 li gp,8
+800002e8: 00002517 auipc a0,0x2
+800002ec: df850513 addi a0,a0,-520 # 800020e0 <test_8_data>
+800002f0: 00053007 fld ft0,0(a0)
+800002f4: 00853087 fld ft1,8(a0)
+800002f8: 01053107 fld ft2,16(a0)
+800002fc: 01852683 lw a3,24(a0)
+80000300: 01c52303 lw t1,28(a0)
+80000304: 5a0071d3 fsqrt.d ft3,ft0
+80000308: 00353027 fsd ft3,0(a0)
+8000030c: 00452383 lw t2,4(a0)
+80000310: 00052503 lw a0,0(a0)
+80000314: 001015f3 fsflags a1,zero
+80000318: 00100613 li a2,1
+8000031c: 00d51863 bne a0,a3,8000032c <fail>
+80000320: 00731663 bne t1,t2,8000032c <fail>
+80000324: 00c59463 bne a1,a2,8000032c <fail>
+80000328: 00301c63 bne zero,gp,80000340 <pass>
+
+8000032c <fail>:
+8000032c: 0ff0000f fence
+80000330: 00018063 beqz gp,80000330 <fail+0x4>
+80000334: 00119193 slli gp,gp,0x1
+80000338: 0011e193 ori gp,gp,1
+8000033c: 00000073 ecall
+
+80000340 <pass>:
+80000340: 0ff0000f fence
+80000344: 00100193 li gp,1
+80000348: 00000073 ecall
+8000034c: c0001073 unimp
+80000350: 0000 unimp
+80000352: 0000 unimp
+80000354: 0000 unimp
+80000356: 0000 unimp
+80000358: 0000 unimp
+8000035a: 0000 unimp
+8000035c: 0000 unimp
+8000035e: 0000 unimp
+80000360: 0000 unimp
+80000362: 0000 unimp
+80000364: 0000 unimp
+80000366: 0000 unimp
+80000368: 0000 unimp
+8000036a: 0000 unimp
+8000036c: 0000 unimp
+8000036e: 0000 unimp
+80000370: 0000 unimp
+80000372: 0000 unimp
+80000374: 0000 unimp
+80000376: 0000 unimp
+80000378: 0000 unimp
+8000037a: 0000 unimp
+8000037c: 0000 unimp
+8000037e: 0000 unimp
+80000380: 0000 unimp
+80000382: 0000 unimp
+
+Disassembly of section .data:
+
+80002000 <test_2_data>:
+80002000: d4f1 beqz s1,80001fcc <fromhost+0xf8c>
+80002002: 53c8 lw a0,36(a5)
+80002004: 400921fb 0x400921fb
+80002008: b0dd j 800018ee <fromhost+0x8ae>
+8000200a: 89f1 andi a1,a1,28
+8000200c: bf0a fsd ft2,440(sp)
+8000200e: 4005 c.li zero,1
+80002010: 0000 unimp
+80002012: 0000 unimp
+80002014: 0000 unimp
+80002016: 0000 unimp
+80002018: 83ec 0x83ec
+8000201a: 7ddbf6c3 0x7ddbf6c3
+8000201e: 3ff2 fld ft11,312(sp)
+
+80002020 <test_3_data>:
+80002020: 0000 unimp
+80002022: 0000 unimp
+80002024: 4800 lw s0,16(s0)
+80002026: 6666c093 xori ra,a3,1638
+8000202a: 6666 flw fa2,88(sp)
+8000202c: 4c66 lw s8,88(sp)
+8000202e: 00004093 xori ra,zero,0
+80002032: 0000 unimp
+80002034: 0000 unimp
+80002036: 0000 unimp
+80002038: 29a5 jal 800024b0 <_end+0x3b0>
+8000203a: 3e19 jal 80001b50 <fromhost+0xb10>
+8000203c: f8b4 fsw fa3,112(s1)
+8000203e: jal t6,7ff1dd8c <_start-0xe2274>
+
+80002040 <test_4_data>:
+80002040: d4f1 beqz s1,8000200c <test_2_data+0xc>
+80002042: 53c8 lw a0,36(a5)
+80002044: 400921fb 0x400921fb
+80002048: 0000 unimp
+8000204a: 0000 unimp
+8000204c: 0000 unimp
+8000204e: 3ff0 fld fa2,248(a5)
+80002050: 0000 unimp
+80002052: 0000 unimp
+80002054: 0000 unimp
+80002056: 0000 unimp
+80002058: d4f1 beqz s1,80002024 <test_3_data+0x4>
+8000205a: 53c8 lw a0,36(a5)
+8000205c: 400921fb 0x400921fb
+
+80002060 <test_5_data>:
+80002060: d4f1 beqz s1,8000202c <test_3_data+0xc>
+80002062: 53c8 lw a0,36(a5)
+80002064: 400921fb 0x400921fb
+80002068: 0000 unimp
+8000206a: 0000 unimp
+8000206c: 0000 unimp
+8000206e: 0000 unimp
+80002070: 0000 unimp
+80002072: 0000 unimp
+80002074: 0000 unimp
+80002076: 0000 unimp
+80002078: 916f587b 0x916f587b
+8000207c: 5bf8 lw a4,116(a5)
+8000207e: 3ffc fld fa5,248(a5)
+
+80002080 <test_6_data>:
+80002080: 0000 unimp
+80002082: 0000 unimp
+80002084: 8800 0x8800
+80002086: 000040c3 fmadd.s ft1,ft0,ft0,ft0,rmm
+8000208a: 0000 unimp
+8000208c: 0000 unimp
+8000208e: 0000 unimp
+80002090: 0000 unimp
+80002092: 0000 unimp
+80002094: 0000 unimp
+80002096: 0000 unimp
+80002098: 0000 unimp
+8000209a: 0000 unimp
+8000209c: 0000 unimp
+8000209e: 4059 c.li zero,22
+
+800020a0 <test_16_data>:
+800020a0: 0000 unimp
+800020a2: 0000 unimp
+800020a4: 0000 unimp
+800020a6: bff0 fsd fa2,248(a5)
+800020a8: 0000 unimp
+800020aa: 0000 unimp
+800020ac: 0000 unimp
+800020ae: 0000 unimp
+800020b0: 0000 unimp
+800020b2: 0000 unimp
+800020b4: 0000 unimp
+800020b6: 0000 unimp
+800020b8: 0000 unimp
+800020ba: 0000 unimp
+800020bc: 0000 unimp
+800020be: 7ff8 flw fa4,124(a5)
+
+800020c0 <test_7_data>:
+800020c0: 0000 unimp
+800020c2: 0000 unimp
+800020c4: 6000 flw fs0,0(s0)
+800020c6: 4065 c.li zero,25
+800020c8: 0000 unimp
+800020ca: 0000 unimp
+800020cc: 0000 unimp
+800020ce: 0000 unimp
+800020d0: 0000 unimp
+800020d2: 0000 unimp
+800020d4: 0000 unimp
+800020d6: 0000 unimp
+800020d8: 74f5 lui s1,0xffffd
+800020da: ce96 sw t0,92(sp)
+800020dc: 2744 fld fs1,136(a4)
+800020de: 402a 0x402a
+
+800020e0 <test_8_data>:
+800020e0: a105 j 80002500 <_end+0x400>
+800020e2: c70a sw sp,140(sp)
+800020e4: 94df 3e85 0000 0x3e8594df
+800020ea: 0000 unimp
+800020ec: 0000 unimp
+800020ee: 0000 unimp
+800020f0: 0000 unimp
+800020f2: 0000 unimp
+800020f4: 0000 unimp
+800020f6: 0000 unimp
+800020f8: 7f99 lui t6,0xfffe6
+800020fa: 4789c0e3 blt s3,s8,80002d5a <_end+0xc5a>
+800020fe: 3f3a fld ft10,424(sp)
diff --git a/test/riscv-tests/rv32ud-p-fdiv.elf b/test/riscv-tests/rv32ud-p-fdiv.elf
new file mode 100644
index 0000000..56fe7eb
--- /dev/null
+++ b/test/riscv-tests/rv32ud-p-fdiv.elf
Binary files differ
diff --git a/test/riscv-tests/rv32ud-p-fmadd.dump b/test/riscv-tests/rv32ud-p-fmadd.dump
new file mode 100644
index 0000000..c7fb072
--- /dev/null
+++ b/test/riscv-tests/rv32ud-p-fmadd.dump
@@ -0,0 +1,555 @@
+
+rv32ud-p-fmadd: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 04c0006f j 8000004c <reset_vector>
+
+80000004 <trap_vector>:
+80000004: 34202f73 csrr t5,mcause
+80000008: 00800f93 li t6,8
+8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+80000010: 00900f93 li t6,9
+80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+80000018: 00b00f93 li t6,11
+8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+80000020: 80000f17 auipc t5,0x80000
+80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+8000002c: 000f0067 jr t5
+80000030: 34202f73 csrr t5,mcause
+80000034: 000f5463 bgez t5,8000003c <handle_exception>
+80000038: 0040006f j 8000003c <handle_exception>
+
+8000003c <handle_exception>:
+8000003c: 5391e193 ori gp,gp,1337
+
+80000040 <write_tohost>:
+80000040: 00001f17 auipc t5,0x1
+80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+80000048: ff9ff06f j 80000040 <write_tohost>
+
+8000004c <reset_vector>:
+8000004c: f1402573 csrr a0,mhartid
+80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+80000054: 00000297 auipc t0,0x0
+80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+8000005c: 30529073 csrw mtvec,t0
+80000060: 18005073 csrwi satp,0
+80000064: 00000297 auipc t0,0x0
+80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+8000006c: 30529073 csrw mtvec,t0
+80000070: fff00293 li t0,-1
+80000074: 3b029073 csrw pmpaddr0,t0
+80000078: 01f00293 li t0,31
+8000007c: 3a029073 csrw pmpcfg0,t0
+80000080: 00000297 auipc t0,0x0
+80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+80000088: 30529073 csrw mtvec,t0
+8000008c: 30205073 csrwi medeleg,0
+80000090: 30305073 csrwi mideleg,0
+80000094: 30405073 csrwi mie,0
+80000098: 00000193 li gp,0
+8000009c: 00000297 auipc t0,0x0
+800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+800000a4: 30529073 csrw mtvec,t0
+800000a8: 00100513 li a0,1
+800000ac: 01f51513 slli a0,a0,0x1f
+800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74>
+800000b4: 0ff0000f fence
+800000b8: 00100193 li gp,1
+800000bc: 00000073 ecall
+800000c0: 80000297 auipc t0,0x80000
+800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+800000cc: 10529073 csrw stvec,t0
+800000d0: 0000b2b7 lui t0,0xb
+800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
+800000d8: 30229073 csrw medeleg,t0
+800000dc: 30202373 csrr t1,medeleg
+800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+800000e4: 30005073 csrwi mstatus,0
+800000e8: 00002537 lui a0,0x2
+800000ec: 30052073 csrs mstatus,a0
+800000f0: 00305073 csrwi fcsr,0
+800000f4: 00000297 auipc t0,0x0
+800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+800000fc: 34129073 csrw mepc,t0
+80000100: f1402573 csrr a0,mhartid
+80000104: 30200073 mret
+
+80000108 <test_2>:
+80000108: 00200193 li gp,2
+8000010c: 00002517 auipc a0,0x2
+80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+80000114: 00053007 fld ft0,0(a0)
+80000118: 00853087 fld ft1,8(a0)
+8000011c: 01053107 fld ft2,16(a0)
+80000120: 01852683 lw a3,24(a0)
+80000124: 01c52303 lw t1,28(a0)
+80000128: 121071c3 fmadd.d ft3,ft0,ft1,ft2
+8000012c: 00353027 fsd ft3,0(a0)
+80000130: 00452383 lw t2,4(a0)
+80000134: 00052503 lw a0,0(a0)
+80000138: 001015f3 fsflags a1,zero
+8000013c: 00000613 li a2,0
+80000140: 2ed51e63 bne a0,a3,8000043c <fail>
+80000144: 2e731c63 bne t1,t2,8000043c <fail>
+80000148: 2ec59a63 bne a1,a2,8000043c <fail>
+
+8000014c <test_3>:
+8000014c: 00300193 li gp,3
+80000150: 00002517 auipc a0,0x2
+80000154: ed050513 addi a0,a0,-304 # 80002020 <test_3_data>
+80000158: 00053007 fld ft0,0(a0)
+8000015c: 00853087 fld ft1,8(a0)
+80000160: 01053107 fld ft2,16(a0)
+80000164: 01852683 lw a3,24(a0)
+80000168: 01c52303 lw t1,28(a0)
+8000016c: 121071c3 fmadd.d ft3,ft0,ft1,ft2
+80000170: 00353027 fsd ft3,0(a0)
+80000174: 00452383 lw t2,4(a0)
+80000178: 00052503 lw a0,0(a0)
+8000017c: 001015f3 fsflags a1,zero
+80000180: 00100613 li a2,1
+80000184: 2ad51c63 bne a0,a3,8000043c <fail>
+80000188: 2a731a63 bne t1,t2,8000043c <fail>
+8000018c: 2ac59863 bne a1,a2,8000043c <fail>
+
+80000190 <test_4>:
+80000190: 00400193 li gp,4
+80000194: 00002517 auipc a0,0x2
+80000198: eac50513 addi a0,a0,-340 # 80002040 <test_4_data>
+8000019c: 00053007 fld ft0,0(a0)
+800001a0: 00853087 fld ft1,8(a0)
+800001a4: 01053107 fld ft2,16(a0)
+800001a8: 01852683 lw a3,24(a0)
+800001ac: 01c52303 lw t1,28(a0)
+800001b0: 121071c3 fmadd.d ft3,ft0,ft1,ft2
+800001b4: 00353027 fsd ft3,0(a0)
+800001b8: 00452383 lw t2,4(a0)
+800001bc: 00052503 lw a0,0(a0)
+800001c0: 001015f3 fsflags a1,zero
+800001c4: 00000613 li a2,0
+800001c8: 26d51a63 bne a0,a3,8000043c <fail>
+800001cc: 26731863 bne t1,t2,8000043c <fail>
+800001d0: 26c59663 bne a1,a2,8000043c <fail>
+
+800001d4 <test_5>:
+800001d4: 00500193 li gp,5
+800001d8: 00002517 auipc a0,0x2
+800001dc: e8850513 addi a0,a0,-376 # 80002060 <test_5_data>
+800001e0: 00053007 fld ft0,0(a0)
+800001e4: 00853087 fld ft1,8(a0)
+800001e8: 01053107 fld ft2,16(a0)
+800001ec: 01852683 lw a3,24(a0)
+800001f0: 01c52303 lw t1,28(a0)
+800001f4: 121071cf fnmadd.d ft3,ft0,ft1,ft2
+800001f8: 00353027 fsd ft3,0(a0)
+800001fc: 00452383 lw t2,4(a0)
+80000200: 00052503 lw a0,0(a0)
+80000204: 001015f3 fsflags a1,zero
+80000208: 00000613 li a2,0
+8000020c: 22d51863 bne a0,a3,8000043c <fail>
+80000210: 22731663 bne t1,t2,8000043c <fail>
+80000214: 22c59463 bne a1,a2,8000043c <fail>
+
+80000218 <test_6>:
+80000218: 00600193 li gp,6
+8000021c: 00002517 auipc a0,0x2
+80000220: e6450513 addi a0,a0,-412 # 80002080 <test_6_data>
+80000224: 00053007 fld ft0,0(a0)
+80000228: 00853087 fld ft1,8(a0)
+8000022c: 01053107 fld ft2,16(a0)
+80000230: 01852683 lw a3,24(a0)
+80000234: 01c52303 lw t1,28(a0)
+80000238: 121071cf fnmadd.d ft3,ft0,ft1,ft2
+8000023c: 00353027 fsd ft3,0(a0)
+80000240: 00452383 lw t2,4(a0)
+80000244: 00052503 lw a0,0(a0)
+80000248: 001015f3 fsflags a1,zero
+8000024c: 00100613 li a2,1
+80000250: 1ed51663 bne a0,a3,8000043c <fail>
+80000254: 1e731463 bne t1,t2,8000043c <fail>
+80000258: 1ec59263 bne a1,a2,8000043c <fail>
+
+8000025c <test_7>:
+8000025c: 00700193 li gp,7
+80000260: 00002517 auipc a0,0x2
+80000264: e4050513 addi a0,a0,-448 # 800020a0 <test_7_data>
+80000268: 00053007 fld ft0,0(a0)
+8000026c: 00853087 fld ft1,8(a0)
+80000270: 01053107 fld ft2,16(a0)
+80000274: 01852683 lw a3,24(a0)
+80000278: 01c52303 lw t1,28(a0)
+8000027c: 121071cf fnmadd.d ft3,ft0,ft1,ft2
+80000280: 00353027 fsd ft3,0(a0)
+80000284: 00452383 lw t2,4(a0)
+80000288: 00052503 lw a0,0(a0)
+8000028c: 001015f3 fsflags a1,zero
+80000290: 00000613 li a2,0
+80000294: 1ad51463 bne a0,a3,8000043c <fail>
+80000298: 1a731263 bne t1,t2,8000043c <fail>
+8000029c: 1ac59063 bne a1,a2,8000043c <fail>
+
+800002a0 <test_8>:
+800002a0: 00800193 li gp,8
+800002a4: 00002517 auipc a0,0x2
+800002a8: e1c50513 addi a0,a0,-484 # 800020c0 <test_8_data>
+800002ac: 00053007 fld ft0,0(a0)
+800002b0: 00853087 fld ft1,8(a0)
+800002b4: 01053107 fld ft2,16(a0)
+800002b8: 01852683 lw a3,24(a0)
+800002bc: 01c52303 lw t1,28(a0)
+800002c0: 121071c7 fmsub.d ft3,ft0,ft1,ft2
+800002c4: 00353027 fsd ft3,0(a0)
+800002c8: 00452383 lw t2,4(a0)
+800002cc: 00052503 lw a0,0(a0)
+800002d0: 001015f3 fsflags a1,zero
+800002d4: 00000613 li a2,0
+800002d8: 16d51263 bne a0,a3,8000043c <fail>
+800002dc: 16731063 bne t1,t2,8000043c <fail>
+800002e0: 14c59e63 bne a1,a2,8000043c <fail>
+
+800002e4 <test_9>:
+800002e4: 00900193 li gp,9
+800002e8: 00002517 auipc a0,0x2
+800002ec: df850513 addi a0,a0,-520 # 800020e0 <test_9_data>
+800002f0: 00053007 fld ft0,0(a0)
+800002f4: 00853087 fld ft1,8(a0)
+800002f8: 01053107 fld ft2,16(a0)
+800002fc: 01852683 lw a3,24(a0)
+80000300: 01c52303 lw t1,28(a0)
+80000304: 121071c7 fmsub.d ft3,ft0,ft1,ft2
+80000308: 00353027 fsd ft3,0(a0)
+8000030c: 00452383 lw t2,4(a0)
+80000310: 00052503 lw a0,0(a0)
+80000314: 001015f3 fsflags a1,zero
+80000318: 00100613 li a2,1
+8000031c: 12d51063 bne a0,a3,8000043c <fail>
+80000320: 10731e63 bne t1,t2,8000043c <fail>
+80000324: 10c59c63 bne a1,a2,8000043c <fail>
+
+80000328 <test_10>:
+80000328: 00a00193 li gp,10
+8000032c: 00002517 auipc a0,0x2
+80000330: dd450513 addi a0,a0,-556 # 80002100 <test_10_data>
+80000334: 00053007 fld ft0,0(a0)
+80000338: 00853087 fld ft1,8(a0)
+8000033c: 01053107 fld ft2,16(a0)
+80000340: 01852683 lw a3,24(a0)
+80000344: 01c52303 lw t1,28(a0)
+80000348: 121071c7 fmsub.d ft3,ft0,ft1,ft2
+8000034c: 00353027 fsd ft3,0(a0)
+80000350: 00452383 lw t2,4(a0)
+80000354: 00052503 lw a0,0(a0)
+80000358: 001015f3 fsflags a1,zero
+8000035c: 00000613 li a2,0
+80000360: 0cd51e63 bne a0,a3,8000043c <fail>
+80000364: 0c731c63 bne t1,t2,8000043c <fail>
+80000368: 0cc59a63 bne a1,a2,8000043c <fail>
+
+8000036c <test_11>:
+8000036c: 00b00193 li gp,11
+80000370: 00002517 auipc a0,0x2
+80000374: db050513 addi a0,a0,-592 # 80002120 <test_11_data>
+80000378: 00053007 fld ft0,0(a0)
+8000037c: 00853087 fld ft1,8(a0)
+80000380: 01053107 fld ft2,16(a0)
+80000384: 01852683 lw a3,24(a0)
+80000388: 01c52303 lw t1,28(a0)
+8000038c: 121071cb fnmsub.d ft3,ft0,ft1,ft2
+80000390: 00353027 fsd ft3,0(a0)
+80000394: 00452383 lw t2,4(a0)
+80000398: 00052503 lw a0,0(a0)
+8000039c: 001015f3 fsflags a1,zero
+800003a0: 00000613 li a2,0
+800003a4: 08d51c63 bne a0,a3,8000043c <fail>
+800003a8: 08731a63 bne t1,t2,8000043c <fail>
+800003ac: 08c59863 bne a1,a2,8000043c <fail>
+
+800003b0 <test_12>:
+800003b0: 00c00193 li gp,12
+800003b4: 00002517 auipc a0,0x2
+800003b8: d8c50513 addi a0,a0,-628 # 80002140 <test_12_data>
+800003bc: 00053007 fld ft0,0(a0)
+800003c0: 00853087 fld ft1,8(a0)
+800003c4: 01053107 fld ft2,16(a0)
+800003c8: 01852683 lw a3,24(a0)
+800003cc: 01c52303 lw t1,28(a0)
+800003d0: 121071cb fnmsub.d ft3,ft0,ft1,ft2
+800003d4: 00353027 fsd ft3,0(a0)
+800003d8: 00452383 lw t2,4(a0)
+800003dc: 00052503 lw a0,0(a0)
+800003e0: 001015f3 fsflags a1,zero
+800003e4: 00100613 li a2,1
+800003e8: 04d51a63 bne a0,a3,8000043c <fail>
+800003ec: 04731863 bne t1,t2,8000043c <fail>
+800003f0: 04c59663 bne a1,a2,8000043c <fail>
+
+800003f4 <test_13>:
+800003f4: 00d00193 li gp,13
+800003f8: 00002517 auipc a0,0x2
+800003fc: d6850513 addi a0,a0,-664 # 80002160 <test_13_data>
+80000400: 00053007 fld ft0,0(a0)
+80000404: 00853087 fld ft1,8(a0)
+80000408: 01053107 fld ft2,16(a0)
+8000040c: 01852683 lw a3,24(a0)
+80000410: 01c52303 lw t1,28(a0)
+80000414: 121071cb fnmsub.d ft3,ft0,ft1,ft2
+80000418: 00353027 fsd ft3,0(a0)
+8000041c: 00452383 lw t2,4(a0)
+80000420: 00052503 lw a0,0(a0)
+80000424: 001015f3 fsflags a1,zero
+80000428: 00000613 li a2,0
+8000042c: 00d51863 bne a0,a3,8000043c <fail>
+80000430: 00731663 bne t1,t2,8000043c <fail>
+80000434: 00c59463 bne a1,a2,8000043c <fail>
+80000438: 00301c63 bne zero,gp,80000450 <pass>
+
+8000043c <fail>:
+8000043c: 0ff0000f fence
+80000440: 00018063 beqz gp,80000440 <fail+0x4>
+80000444: 00119193 slli gp,gp,0x1
+80000448: 0011e193 ori gp,gp,1
+8000044c: 00000073 ecall
+
+80000450 <pass>:
+80000450: 0ff0000f fence
+80000454: 00100193 li gp,1
+80000458: 00000073 ecall
+8000045c: c0001073 unimp
+80000460: 0000 unimp
+80000462: 0000 unimp
+80000464: 0000 unimp
+80000466: 0000 unimp
+80000468: 0000 unimp
+8000046a: 0000 unimp
+8000046c: 0000 unimp
+8000046e: 0000 unimp
+80000470: 0000 unimp
+80000472: 0000 unimp
+80000474: 0000 unimp
+80000476: 0000 unimp
+80000478: 0000 unimp
+8000047a: 0000 unimp
+8000047c: 0000 unimp
+8000047e: 0000 unimp
+80000480: 0000 unimp
+80000482: 0000 unimp
+
+Disassembly of section .data:
+
+80002000 <test_2_data>:
+80002000: 0000 unimp
+80002002: 0000 unimp
+80002004: 0000 unimp
+80002006: 3ff0 fld fa2,248(a5)
+80002008: 0000 unimp
+8000200a: 0000 unimp
+8000200c: 0000 unimp
+8000200e: 4004 lw s1,0(s0)
+80002010: 0000 unimp
+80002012: 0000 unimp
+80002014: 0000 unimp
+80002016: 3ff0 fld fa2,248(a5)
+80002018: 0000 unimp
+8000201a: 0000 unimp
+8000201c: 0000 unimp
+8000201e: 400c lw a1,0(s0)
+
+80002020 <test_3_data>:
+80002020: 0000 unimp
+80002022: 0000 unimp
+80002024: 0000 unimp
+80002026: bff0 fsd fa2,248(a5)
+80002028: 6666 flw fa2,88(sp)
+8000202a: 6666 flw fa2,88(sp)
+8000202c: 4c66 lw s8,88(sp)
+8000202e: 999ac093 xori ra,s5,-1639
+80002032: 9999 andi a1,a1,-26
+80002034: 9999 andi a1,a1,-26
+80002036: 3ff1 jal 80002012 <test_2_data+0x12>
+80002038: cccc sw a1,28(s1)
+8000203a: cccc sw a1,28(s1)
+8000203c: 50cc lw a1,36(s1)
+8000203e: xori ra,zero,0
+
+80002040 <test_4_data>:
+80002040: 0000 unimp
+80002042: 0000 unimp
+80002044: 0000 unimp
+80002046: 4000 lw s0,0(s0)
+80002048: 0000 unimp
+8000204a: 0000 unimp
+8000204c: 0000 unimp
+8000204e: c014 sw a3,0(s0)
+80002050: 0000 unimp
+80002052: 0000 unimp
+80002054: 0000 unimp
+80002056: c000 sw s0,0(s0)
+80002058: 0000 unimp
+8000205a: 0000 unimp
+8000205c: 0000 unimp
+8000205e: c028 sw a0,64(s0)
+
+80002060 <test_5_data>:
+80002060: 0000 unimp
+80002062: 0000 unimp
+80002064: 0000 unimp
+80002066: 3ff0 fld fa2,248(a5)
+80002068: 0000 unimp
+8000206a: 0000 unimp
+8000206c: 0000 unimp
+8000206e: 4004 lw s1,0(s0)
+80002070: 0000 unimp
+80002072: 0000 unimp
+80002074: 0000 unimp
+80002076: 3ff0 fld fa2,248(a5)
+80002078: 0000 unimp
+8000207a: 0000 unimp
+8000207c: 0000 unimp
+8000207e: c00c sw a1,0(s0)
+
+80002080 <test_6_data>:
+80002080: 0000 unimp
+80002082: 0000 unimp
+80002084: 0000 unimp
+80002086: bff0 fsd fa2,248(a5)
+80002088: 6666 flw fa2,88(sp)
+8000208a: 6666 flw fa2,88(sp)
+8000208c: 4c66 lw s8,88(sp)
+8000208e: 999ac093 xori ra,s5,-1639
+80002092: 9999 andi a1,a1,-26
+80002094: 9999 andi a1,a1,-26
+80002096: 3ff1 jal 80002072 <test_5_data+0x12>
+80002098: cccc sw a1,28(s1)
+8000209a: cccc sw a1,28(s1)
+8000209c: 50cc lw a1,36(s1)
+8000209e: xori ra,ra,0
+
+800020a0 <test_7_data>:
+800020a0: 0000 unimp
+800020a2: 0000 unimp
+800020a4: 0000 unimp
+800020a6: 4000 lw s0,0(s0)
+800020a8: 0000 unimp
+800020aa: 0000 unimp
+800020ac: 0000 unimp
+800020ae: c014 sw a3,0(s0)
+800020b0: 0000 unimp
+800020b2: 0000 unimp
+800020b4: 0000 unimp
+800020b6: c000 sw s0,0(s0)
+800020b8: 0000 unimp
+800020ba: 0000 unimp
+800020bc: 0000 unimp
+800020be: 4028 lw a0,64(s0)
+
+800020c0 <test_8_data>:
+800020c0: 0000 unimp
+800020c2: 0000 unimp
+800020c4: 0000 unimp
+800020c6: 3ff0 fld fa2,248(a5)
+800020c8: 0000 unimp
+800020ca: 0000 unimp
+800020cc: 0000 unimp
+800020ce: 4004 lw s1,0(s0)
+800020d0: 0000 unimp
+800020d2: 0000 unimp
+800020d4: 0000 unimp
+800020d6: 3ff0 fld fa2,248(a5)
+800020d8: 0000 unimp
+800020da: 0000 unimp
+800020dc: 0000 unimp
+800020de: 3ff8 fld fa4,248(a5)
+
+800020e0 <test_9_data>:
+800020e0: 0000 unimp
+800020e2: 0000 unimp
+800020e4: 0000 unimp
+800020e6: bff0 fsd fa2,248(a5)
+800020e8: 6666 flw fa2,88(sp)
+800020ea: 6666 flw fa2,88(sp)
+800020ec: 4c66 lw s8,88(sp)
+800020ee: 999ac093 xori ra,s5,-1639
+800020f2: 9999 andi a1,a1,-26
+800020f4: 9999 andi a1,a1,-26
+800020f6: 3ff1 jal 800020d2 <test_8_data+0x12>
+800020f8: 0000 unimp
+800020fa: 0000 unimp
+800020fc: 4800 lw s0,16(s0)
+800020fe: xori ra,zero,0
+
+80002100 <test_10_data>:
+80002100: 0000 unimp
+80002102: 0000 unimp
+80002104: 0000 unimp
+80002106: 4000 lw s0,0(s0)
+80002108: 0000 unimp
+8000210a: 0000 unimp
+8000210c: 0000 unimp
+8000210e: c014 sw a3,0(s0)
+80002110: 0000 unimp
+80002112: 0000 unimp
+80002114: 0000 unimp
+80002116: c000 sw s0,0(s0)
+80002118: 0000 unimp
+8000211a: 0000 unimp
+8000211c: 0000 unimp
+8000211e: c020 sw s0,64(s0)
+
+80002120 <test_11_data>:
+80002120: 0000 unimp
+80002122: 0000 unimp
+80002124: 0000 unimp
+80002126: 3ff0 fld fa2,248(a5)
+80002128: 0000 unimp
+8000212a: 0000 unimp
+8000212c: 0000 unimp
+8000212e: 4004 lw s1,0(s0)
+80002130: 0000 unimp
+80002132: 0000 unimp
+80002134: 0000 unimp
+80002136: 3ff0 fld fa2,248(a5)
+80002138: 0000 unimp
+8000213a: 0000 unimp
+8000213c: 0000 unimp
+8000213e: bff8 fsd fa4,248(a5)
+
+80002140 <test_12_data>:
+80002140: 0000 unimp
+80002142: 0000 unimp
+80002144: 0000 unimp
+80002146: bff0 fsd fa2,248(a5)
+80002148: 6666 flw fa2,88(sp)
+8000214a: 6666 flw fa2,88(sp)
+8000214c: 4c66 lw s8,88(sp)
+8000214e: 999ac093 xori ra,s5,-1639
+80002152: 9999 andi a1,a1,-26
+80002154: 9999 andi a1,a1,-26
+80002156: 3ff1 jal 80002132 <test_11_data+0x12>
+80002158: 0000 unimp
+8000215a: 0000 unimp
+8000215c: 4800 lw s0,16(s0)
+8000215e: xori ra,ra,0
+
+80002160 <test_13_data>:
+80002160: 0000 unimp
+80002162: 0000 unimp
+80002164: 0000 unimp
+80002166: 4000 lw s0,0(s0)
+80002168: 0000 unimp
+8000216a: 0000 unimp
+8000216c: 0000 unimp
+8000216e: c014 sw a3,0(s0)
+80002170: 0000 unimp
+80002172: 0000 unimp
+80002174: 0000 unimp
+80002176: c000 sw s0,0(s0)
+80002178: 0000 unimp
+8000217a: 0000 unimp
+8000217c: 0000 unimp
+8000217e: 4020 lw s0,64(s0)
diff --git a/test/riscv-tests/rv32ud-p-fmadd.elf b/test/riscv-tests/rv32ud-p-fmadd.elf
new file mode 100644
index 0000000..33a8d12
--- /dev/null
+++ b/test/riscv-tests/rv32ud-p-fmadd.elf
Binary files differ
diff --git a/test/riscv-tests/rv32ud-p-fmin.dump b/test/riscv-tests/rv32ud-p-fmin.dump
new file mode 100644
index 0000000..359df06
--- /dev/null
+++ b/test/riscv-tests/rv32ud-p-fmin.dump
@@ -0,0 +1,760 @@
+
+rv32ud-p-fmin: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 04c0006f j 8000004c <reset_vector>
+
+80000004 <trap_vector>:
+80000004: 34202f73 csrr t5,mcause
+80000008: 00800f93 li t6,8
+8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+80000010: 00900f93 li t6,9
+80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+80000018: 00b00f93 li t6,11
+8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+80000020: 80000f17 auipc t5,0x80000
+80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+8000002c: 000f0067 jr t5
+80000030: 34202f73 csrr t5,mcause
+80000034: 000f5463 bgez t5,8000003c <handle_exception>
+80000038: 0040006f j 8000003c <handle_exception>
+
+8000003c <handle_exception>:
+8000003c: 5391e193 ori gp,gp,1337
+
+80000040 <write_tohost>:
+80000040: 00001f17 auipc t5,0x1
+80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+80000048: ff9ff06f j 80000040 <write_tohost>
+
+8000004c <reset_vector>:
+8000004c: f1402573 csrr a0,mhartid
+80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+80000054: 00000297 auipc t0,0x0
+80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+8000005c: 30529073 csrw mtvec,t0
+80000060: 18005073 csrwi satp,0
+80000064: 00000297 auipc t0,0x0
+80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+8000006c: 30529073 csrw mtvec,t0
+80000070: fff00293 li t0,-1
+80000074: 3b029073 csrw pmpaddr0,t0
+80000078: 01f00293 li t0,31
+8000007c: 3a029073 csrw pmpcfg0,t0
+80000080: 00000297 auipc t0,0x0
+80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+80000088: 30529073 csrw mtvec,t0
+8000008c: 30205073 csrwi medeleg,0
+80000090: 30305073 csrwi mideleg,0
+80000094: 30405073 csrwi mie,0
+80000098: 00000193 li gp,0
+8000009c: 00000297 auipc t0,0x0
+800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+800000a4: 30529073 csrw mtvec,t0
+800000a8: 00100513 li a0,1
+800000ac: 01f51513 slli a0,a0,0x1f
+800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74>
+800000b4: 0ff0000f fence
+800000b8: 00100193 li gp,1
+800000bc: 00000073 ecall
+800000c0: 80000297 auipc t0,0x80000
+800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+800000cc: 10529073 csrw stvec,t0
+800000d0: 0000b2b7 lui t0,0xb
+800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
+800000d8: 30229073 csrw medeleg,t0
+800000dc: 30202373 csrr t1,medeleg
+800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+800000e4: 30005073 csrwi mstatus,0
+800000e8: 00002537 lui a0,0x2
+800000ec: 30052073 csrs mstatus,a0
+800000f0: 00305073 csrwi fcsr,0
+800000f4: 00000297 auipc t0,0x0
+800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+800000fc: 34129073 csrw mepc,t0
+80000100: f1402573 csrr a0,mhartid
+80000104: 30200073 mret
+
+80000108 <test_2>:
+80000108: 00200193 li gp,2
+8000010c: 00002517 auipc a0,0x2
+80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+80000114: 00053007 fld ft0,0(a0)
+80000118: 00853087 fld ft1,8(a0)
+8000011c: 01053107 fld ft2,16(a0)
+80000120: 01852683 lw a3,24(a0)
+80000124: 01c52303 lw t1,28(a0)
+80000128: 2a1001d3 fmin.d ft3,ft0,ft1
+8000012c: 00353027 fsd ft3,0(a0)
+80000130: 00452383 lw t2,4(a0)
+80000134: 00052503 lw a0,0(a0)
+80000138: 001015f3 fsflags a1,zero
+8000013c: 00000613 li a2,0
+80000140: 48d51a63 bne a0,a3,800005d4 <fail>
+80000144: 48731863 bne t1,t2,800005d4 <fail>
+80000148: 48c59663 bne a1,a2,800005d4 <fail>
+
+8000014c <test_3>:
+8000014c: 00300193 li gp,3
+80000150: 00002517 auipc a0,0x2
+80000154: ed050513 addi a0,a0,-304 # 80002020 <test_3_data>
+80000158: 00053007 fld ft0,0(a0)
+8000015c: 00853087 fld ft1,8(a0)
+80000160: 01053107 fld ft2,16(a0)
+80000164: 01852683 lw a3,24(a0)
+80000168: 01c52303 lw t1,28(a0)
+8000016c: 2a1001d3 fmin.d ft3,ft0,ft1
+80000170: 00353027 fsd ft3,0(a0)
+80000174: 00452383 lw t2,4(a0)
+80000178: 00052503 lw a0,0(a0)
+8000017c: 001015f3 fsflags a1,zero
+80000180: 00000613 li a2,0
+80000184: 44d51863 bne a0,a3,800005d4 <fail>
+80000188: 44731663 bne t1,t2,800005d4 <fail>
+8000018c: 44c59463 bne a1,a2,800005d4 <fail>
+
+80000190 <test_4>:
+80000190: 00400193 li gp,4
+80000194: 00002517 auipc a0,0x2
+80000198: eac50513 addi a0,a0,-340 # 80002040 <test_4_data>
+8000019c: 00053007 fld ft0,0(a0)
+800001a0: 00853087 fld ft1,8(a0)
+800001a4: 01053107 fld ft2,16(a0)
+800001a8: 01852683 lw a3,24(a0)
+800001ac: 01c52303 lw t1,28(a0)
+800001b0: 2a1001d3 fmin.d ft3,ft0,ft1
+800001b4: 00353027 fsd ft3,0(a0)
+800001b8: 00452383 lw t2,4(a0)
+800001bc: 00052503 lw a0,0(a0)
+800001c0: 001015f3 fsflags a1,zero
+800001c4: 00000613 li a2,0
+800001c8: 40d51663 bne a0,a3,800005d4 <fail>
+800001cc: 40731463 bne t1,t2,800005d4 <fail>
+800001d0: 40c59263 bne a1,a2,800005d4 <fail>
+
+800001d4 <test_5>:
+800001d4: 00500193 li gp,5
+800001d8: 00002517 auipc a0,0x2
+800001dc: e8850513 addi a0,a0,-376 # 80002060 <test_5_data>
+800001e0: 00053007 fld ft0,0(a0)
+800001e4: 00853087 fld ft1,8(a0)
+800001e8: 01053107 fld ft2,16(a0)
+800001ec: 01852683 lw a3,24(a0)
+800001f0: 01c52303 lw t1,28(a0)
+800001f4: 2a1001d3 fmin.d ft3,ft0,ft1
+800001f8: 00353027 fsd ft3,0(a0)
+800001fc: 00452383 lw t2,4(a0)
+80000200: 00052503 lw a0,0(a0)
+80000204: 001015f3 fsflags a1,zero
+80000208: 00000613 li a2,0
+8000020c: 3cd51463 bne a0,a3,800005d4 <fail>
+80000210: 3c731263 bne t1,t2,800005d4 <fail>
+80000214: 3cc59063 bne a1,a2,800005d4 <fail>
+
+80000218 <test_6>:
+80000218: 00600193 li gp,6
+8000021c: 00002517 auipc a0,0x2
+80000220: e6450513 addi a0,a0,-412 # 80002080 <test_6_data>
+80000224: 00053007 fld ft0,0(a0)
+80000228: 00853087 fld ft1,8(a0)
+8000022c: 01053107 fld ft2,16(a0)
+80000230: 01852683 lw a3,24(a0)
+80000234: 01c52303 lw t1,28(a0)
+80000238: 2a1001d3 fmin.d ft3,ft0,ft1
+8000023c: 00353027 fsd ft3,0(a0)
+80000240: 00452383 lw t2,4(a0)
+80000244: 00052503 lw a0,0(a0)
+80000248: 001015f3 fsflags a1,zero
+8000024c: 00000613 li a2,0
+80000250: 38d51263 bne a0,a3,800005d4 <fail>
+80000254: 38731063 bne t1,t2,800005d4 <fail>
+80000258: 36c59e63 bne a1,a2,800005d4 <fail>
+
+8000025c <test_7>:
+8000025c: 00700193 li gp,7
+80000260: 00002517 auipc a0,0x2
+80000264: e4050513 addi a0,a0,-448 # 800020a0 <test_7_data>
+80000268: 00053007 fld ft0,0(a0)
+8000026c: 00853087 fld ft1,8(a0)
+80000270: 01053107 fld ft2,16(a0)
+80000274: 01852683 lw a3,24(a0)
+80000278: 01c52303 lw t1,28(a0)
+8000027c: 2a1001d3 fmin.d ft3,ft0,ft1
+80000280: 00353027 fsd ft3,0(a0)
+80000284: 00452383 lw t2,4(a0)
+80000288: 00052503 lw a0,0(a0)
+8000028c: 001015f3 fsflags a1,zero
+80000290: 00000613 li a2,0
+80000294: 34d51063 bne a0,a3,800005d4 <fail>
+80000298: 32731e63 bne t1,t2,800005d4 <fail>
+8000029c: 32c59c63 bne a1,a2,800005d4 <fail>
+
+800002a0 <test_12>:
+800002a0: 00c00193 li gp,12
+800002a4: 00002517 auipc a0,0x2
+800002a8: e1c50513 addi a0,a0,-484 # 800020c0 <test_12_data>
+800002ac: 00053007 fld ft0,0(a0)
+800002b0: 00853087 fld ft1,8(a0)
+800002b4: 01053107 fld ft2,16(a0)
+800002b8: 01852683 lw a3,24(a0)
+800002bc: 01c52303 lw t1,28(a0)
+800002c0: 2a1011d3 fmax.d ft3,ft0,ft1
+800002c4: 00353027 fsd ft3,0(a0)
+800002c8: 00452383 lw t2,4(a0)
+800002cc: 00052503 lw a0,0(a0)
+800002d0: 001015f3 fsflags a1,zero
+800002d4: 00000613 li a2,0
+800002d8: 2ed51e63 bne a0,a3,800005d4 <fail>
+800002dc: 2e731c63 bne t1,t2,800005d4 <fail>
+800002e0: 2ec59a63 bne a1,a2,800005d4 <fail>
+
+800002e4 <test_13>:
+800002e4: 00d00193 li gp,13
+800002e8: 00002517 auipc a0,0x2
+800002ec: df850513 addi a0,a0,-520 # 800020e0 <test_13_data>
+800002f0: 00053007 fld ft0,0(a0)
+800002f4: 00853087 fld ft1,8(a0)
+800002f8: 01053107 fld ft2,16(a0)
+800002fc: 01852683 lw a3,24(a0)
+80000300: 01c52303 lw t1,28(a0)
+80000304: 2a1011d3 fmax.d ft3,ft0,ft1
+80000308: 00353027 fsd ft3,0(a0)
+8000030c: 00452383 lw t2,4(a0)
+80000310: 00052503 lw a0,0(a0)
+80000314: 001015f3 fsflags a1,zero
+80000318: 00000613 li a2,0
+8000031c: 2ad51c63 bne a0,a3,800005d4 <fail>
+80000320: 2a731a63 bne t1,t2,800005d4 <fail>
+80000324: 2ac59863 bne a1,a2,800005d4 <fail>
+
+80000328 <test_14>:
+80000328: 00e00193 li gp,14
+8000032c: 00002517 auipc a0,0x2
+80000330: dd450513 addi a0,a0,-556 # 80002100 <test_14_data>
+80000334: 00053007 fld ft0,0(a0)
+80000338: 00853087 fld ft1,8(a0)
+8000033c: 01053107 fld ft2,16(a0)
+80000340: 01852683 lw a3,24(a0)
+80000344: 01c52303 lw t1,28(a0)
+80000348: 2a1011d3 fmax.d ft3,ft0,ft1
+8000034c: 00353027 fsd ft3,0(a0)
+80000350: 00452383 lw t2,4(a0)
+80000354: 00052503 lw a0,0(a0)
+80000358: 001015f3 fsflags a1,zero
+8000035c: 00000613 li a2,0
+80000360: 26d51a63 bne a0,a3,800005d4 <fail>
+80000364: 26731863 bne t1,t2,800005d4 <fail>
+80000368: 26c59663 bne a1,a2,800005d4 <fail>
+
+8000036c <test_15>:
+8000036c: 00f00193 li gp,15
+80000370: 00002517 auipc a0,0x2
+80000374: db050513 addi a0,a0,-592 # 80002120 <test_15_data>
+80000378: 00053007 fld ft0,0(a0)
+8000037c: 00853087 fld ft1,8(a0)
+80000380: 01053107 fld ft2,16(a0)
+80000384: 01852683 lw a3,24(a0)
+80000388: 01c52303 lw t1,28(a0)
+8000038c: 2a1011d3 fmax.d ft3,ft0,ft1
+80000390: 00353027 fsd ft3,0(a0)
+80000394: 00452383 lw t2,4(a0)
+80000398: 00052503 lw a0,0(a0)
+8000039c: 001015f3 fsflags a1,zero
+800003a0: 00000613 li a2,0
+800003a4: 22d51863 bne a0,a3,800005d4 <fail>
+800003a8: 22731663 bne t1,t2,800005d4 <fail>
+800003ac: 22c59463 bne a1,a2,800005d4 <fail>
+
+800003b0 <test_16>:
+800003b0: 01000193 li gp,16
+800003b4: 00002517 auipc a0,0x2
+800003b8: d8c50513 addi a0,a0,-628 # 80002140 <test_16_data>
+800003bc: 00053007 fld ft0,0(a0)
+800003c0: 00853087 fld ft1,8(a0)
+800003c4: 01053107 fld ft2,16(a0)
+800003c8: 01852683 lw a3,24(a0)
+800003cc: 01c52303 lw t1,28(a0)
+800003d0: 2a1011d3 fmax.d ft3,ft0,ft1
+800003d4: 00353027 fsd ft3,0(a0)
+800003d8: 00452383 lw t2,4(a0)
+800003dc: 00052503 lw a0,0(a0)
+800003e0: 001015f3 fsflags a1,zero
+800003e4: 00000613 li a2,0
+800003e8: 1ed51663 bne a0,a3,800005d4 <fail>
+800003ec: 1e731463 bne t1,t2,800005d4 <fail>
+800003f0: 1ec59263 bne a1,a2,800005d4 <fail>
+
+800003f4 <test_17>:
+800003f4: 01100193 li gp,17
+800003f8: 00002517 auipc a0,0x2
+800003fc: d6850513 addi a0,a0,-664 # 80002160 <test_17_data>
+80000400: 00053007 fld ft0,0(a0)
+80000404: 00853087 fld ft1,8(a0)
+80000408: 01053107 fld ft2,16(a0)
+8000040c: 01852683 lw a3,24(a0)
+80000410: 01c52303 lw t1,28(a0)
+80000414: 2a1011d3 fmax.d ft3,ft0,ft1
+80000418: 00353027 fsd ft3,0(a0)
+8000041c: 00452383 lw t2,4(a0)
+80000420: 00052503 lw a0,0(a0)
+80000424: 001015f3 fsflags a1,zero
+80000428: 00000613 li a2,0
+8000042c: 1ad51463 bne a0,a3,800005d4 <fail>
+80000430: 1a731263 bne t1,t2,800005d4 <fail>
+80000434: 1ac59063 bne a1,a2,800005d4 <fail>
+
+80000438 <test_20>:
+80000438: 01400193 li gp,20
+8000043c: 00002517 auipc a0,0x2
+80000440: d4450513 addi a0,a0,-700 # 80002180 <test_20_data>
+80000444: 00053007 fld ft0,0(a0)
+80000448: 00853087 fld ft1,8(a0)
+8000044c: 01053107 fld ft2,16(a0)
+80000450: 01852683 lw a3,24(a0)
+80000454: 01c52303 lw t1,28(a0)
+80000458: 2a1011d3 fmax.d ft3,ft0,ft1
+8000045c: 00353027 fsd ft3,0(a0)
+80000460: 00452383 lw t2,4(a0)
+80000464: 00052503 lw a0,0(a0)
+80000468: 001015f3 fsflags a1,zero
+8000046c: 01000613 li a2,16
+80000470: 16d51263 bne a0,a3,800005d4 <fail>
+80000474: 16731063 bne t1,t2,800005d4 <fail>
+80000478: 14c59e63 bne a1,a2,800005d4 <fail>
+
+8000047c <test_21>:
+8000047c: 01500193 li gp,21
+80000480: 00002517 auipc a0,0x2
+80000484: d2050513 addi a0,a0,-736 # 800021a0 <test_21_data>
+80000488: 00053007 fld ft0,0(a0)
+8000048c: 00853087 fld ft1,8(a0)
+80000490: 01053107 fld ft2,16(a0)
+80000494: 01852683 lw a3,24(a0)
+80000498: 01c52303 lw t1,28(a0)
+8000049c: 2a1011d3 fmax.d ft3,ft0,ft1
+800004a0: 00353027 fsd ft3,0(a0)
+800004a4: 00452383 lw t2,4(a0)
+800004a8: 00052503 lw a0,0(a0)
+800004ac: 001015f3 fsflags a1,zero
+800004b0: 00000613 li a2,0
+800004b4: 12d51063 bne a0,a3,800005d4 <fail>
+800004b8: 10731e63 bne t1,t2,800005d4 <fail>
+800004bc: 10c59c63 bne a1,a2,800005d4 <fail>
+
+800004c0 <test_30>:
+800004c0: 01e00193 li gp,30
+800004c4: 00002517 auipc a0,0x2
+800004c8: cfc50513 addi a0,a0,-772 # 800021c0 <test_30_data>
+800004cc: 00053007 fld ft0,0(a0)
+800004d0: 00853087 fld ft1,8(a0)
+800004d4: 01053107 fld ft2,16(a0)
+800004d8: 01852683 lw a3,24(a0)
+800004dc: 01c52303 lw t1,28(a0)
+800004e0: 2a1001d3 fmin.d ft3,ft0,ft1
+800004e4: 00353027 fsd ft3,0(a0)
+800004e8: 00452383 lw t2,4(a0)
+800004ec: 00052503 lw a0,0(a0)
+800004f0: 001015f3 fsflags a1,zero
+800004f4: 00000613 li a2,0
+800004f8: 0cd51e63 bne a0,a3,800005d4 <fail>
+800004fc: 0c731c63 bne t1,t2,800005d4 <fail>
+80000500: 0cc59a63 bne a1,a2,800005d4 <fail>
+
+80000504 <test_31>:
+80000504: 01f00193 li gp,31
+80000508: 00002517 auipc a0,0x2
+8000050c: cd850513 addi a0,a0,-808 # 800021e0 <test_31_data>
+80000510: 00053007 fld ft0,0(a0)
+80000514: 00853087 fld ft1,8(a0)
+80000518: 01053107 fld ft2,16(a0)
+8000051c: 01852683 lw a3,24(a0)
+80000520: 01c52303 lw t1,28(a0)
+80000524: 2a1001d3 fmin.d ft3,ft0,ft1
+80000528: 00353027 fsd ft3,0(a0)
+8000052c: 00452383 lw t2,4(a0)
+80000530: 00052503 lw a0,0(a0)
+80000534: 001015f3 fsflags a1,zero
+80000538: 00000613 li a2,0
+8000053c: 08d51c63 bne a0,a3,800005d4 <fail>
+80000540: 08731a63 bne t1,t2,800005d4 <fail>
+80000544: 08c59863 bne a1,a2,800005d4 <fail>
+
+80000548 <test_32>:
+80000548: 02000193 li gp,32
+8000054c: 00002517 auipc a0,0x2
+80000550: cb450513 addi a0,a0,-844 # 80002200 <test_32_data>
+80000554: 00053007 fld ft0,0(a0)
+80000558: 00853087 fld ft1,8(a0)
+8000055c: 01053107 fld ft2,16(a0)
+80000560: 01852683 lw a3,24(a0)
+80000564: 01c52303 lw t1,28(a0)
+80000568: 2a1011d3 fmax.d ft3,ft0,ft1
+8000056c: 00353027 fsd ft3,0(a0)
+80000570: 00452383 lw t2,4(a0)
+80000574: 00052503 lw a0,0(a0)
+80000578: 001015f3 fsflags a1,zero
+8000057c: 00000613 li a2,0
+80000580: 04d51a63 bne a0,a3,800005d4 <fail>
+80000584: 04731863 bne t1,t2,800005d4 <fail>
+80000588: 04c59663 bne a1,a2,800005d4 <fail>
+
+8000058c <test_33>:
+8000058c: 02100193 li gp,33
+80000590: 00002517 auipc a0,0x2
+80000594: c9050513 addi a0,a0,-880 # 80002220 <test_33_data>
+80000598: 00053007 fld ft0,0(a0)
+8000059c: 00853087 fld ft1,8(a0)
+800005a0: 01053107 fld ft2,16(a0)
+800005a4: 01852683 lw a3,24(a0)
+800005a8: 01c52303 lw t1,28(a0)
+800005ac: 2a1011d3 fmax.d ft3,ft0,ft1
+800005b0: 00353027 fsd ft3,0(a0)
+800005b4: 00452383 lw t2,4(a0)
+800005b8: 00052503 lw a0,0(a0)
+800005bc: 001015f3 fsflags a1,zero
+800005c0: 00000613 li a2,0
+800005c4: 00d51863 bne a0,a3,800005d4 <fail>
+800005c8: 00731663 bne t1,t2,800005d4 <fail>
+800005cc: 00c59463 bne a1,a2,800005d4 <fail>
+800005d0: 00301c63 bne zero,gp,800005e8 <pass>
+
+800005d4 <fail>:
+800005d4: 0ff0000f fence
+800005d8: 00018063 beqz gp,800005d8 <fail+0x4>
+800005dc: 00119193 slli gp,gp,0x1
+800005e0: 0011e193 ori gp,gp,1
+800005e4: 00000073 ecall
+
+800005e8 <pass>:
+800005e8: 0ff0000f fence
+800005ec: 00100193 li gp,1
+800005f0: 00000073 ecall
+800005f4: c0001073 unimp
+800005f8: 0000 unimp
+800005fa: 0000 unimp
+800005fc: 0000 unimp
+800005fe: 0000 unimp
+80000600: 0000 unimp
+80000602: 0000 unimp
+
+Disassembly of section .data:
+
+80002000 <test_2_data>:
+80002000: 0000 unimp
+80002002: 0000 unimp
+80002004: 0000 unimp
+80002006: 4004 lw s1,0(s0)
+80002008: 0000 unimp
+8000200a: 0000 unimp
+8000200c: 0000 unimp
+8000200e: 3ff0 fld fa2,248(a5)
+80002010: 0000 unimp
+80002012: 0000 unimp
+80002014: 0000 unimp
+80002016: 0000 unimp
+80002018: 0000 unimp
+8000201a: 0000 unimp
+8000201c: 0000 unimp
+8000201e: 3ff0 fld fa2,248(a5)
+
+80002020 <test_3_data>:
+80002020: 6666 flw fa2,88(sp)
+80002022: 6666 flw fa2,88(sp)
+80002024: 4c66 lw s8,88(sp)
+80002026: 999ac093 xori ra,s5,-1639
+8000202a: 9999 andi a1,a1,-26
+8000202c: 9999 andi a1,a1,-26
+8000202e: 3ff1 jal 8000200a <test_2_data+0xa>
+80002030: 0000 unimp
+80002032: 0000 unimp
+80002034: 0000 unimp
+80002036: 0000 unimp
+80002038: 6666 flw fa2,88(sp)
+8000203a: 6666 flw fa2,88(sp)
+8000203c: 4c66 lw s8,88(sp)
+8000203e: xori ra,s5,-1639
+
+80002040 <test_4_data>:
+80002040: 999a add s3,s3,t1
+80002042: 9999 andi a1,a1,-26
+80002044: 9999 andi a1,a1,-26
+80002046: 3ff1 jal 80002022 <test_3_data+0x2>
+80002048: 6666 flw fa2,88(sp)
+8000204a: 6666 flw fa2,88(sp)
+8000204c: 4c66 lw s8,88(sp)
+8000204e: 0000c093 xori ra,ra,0
+80002052: 0000 unimp
+80002054: 0000 unimp
+80002056: 0000 unimp
+80002058: 6666 flw fa2,88(sp)
+8000205a: 6666 flw fa2,88(sp)
+8000205c: 4c66 lw s8,88(sp)
+8000205e: not ra,t6
+
+80002060 <test_5_data>:
+80002060: ffff 0xffff
+80002062: ffff 0xffff
+80002064: ffff 0xffff
+80002066: 7fff 0x7fff
+80002068: 6666 flw fa2,88(sp)
+8000206a: 6666 flw fa2,88(sp)
+8000206c: 4c66 lw s8,88(sp)
+8000206e: 0000c093 xori ra,ra,0
+80002072: 0000 unimp
+80002074: 0000 unimp
+80002076: 0000 unimp
+80002078: 6666 flw fa2,88(sp)
+8000207a: 6666 flw fa2,88(sp)
+8000207c: 4c66 lw s8,88(sp)
+8000207e: xori ra,gp,-689
+
+80002080 <test_6_data>:
+80002080: d4f1 beqz s1,8000204c <test_4_data+0xc>
+80002082: 53c8 lw a0,36(a5)
+80002084: 400921fb 0x400921fb
+80002088: 8c3a mv s8,a4
+8000208a: e230 fsw fa2,64(a2)
+8000208c: 798e flw fs3,224(sp)
+8000208e: 3e45 jal 80001c3e <fromhost+0xbfe>
+80002090: 0000 unimp
+80002092: 0000 unimp
+80002094: 0000 unimp
+80002096: 0000 unimp
+80002098: 8c3a mv s8,a4
+8000209a: e230 fsw fa2,64(a2)
+8000209c: 798e flw fs3,224(sp)
+8000209e: 3e45 jal 80001c4e <fromhost+0xc0e>
+
+800020a0 <test_7_data>:
+800020a0: 0000 unimp
+800020a2: 0000 unimp
+800020a4: 0000 unimp
+800020a6: bff0 fsd fa2,248(a5)
+800020a8: 0000 unimp
+800020aa: 0000 unimp
+800020ac: 0000 unimp
+800020ae: c000 sw s0,0(s0)
+800020b0: 0000 unimp
+800020b2: 0000 unimp
+800020b4: 0000 unimp
+800020b6: 0000 unimp
+800020b8: 0000 unimp
+800020ba: 0000 unimp
+800020bc: 0000 unimp
+800020be: c000 sw s0,0(s0)
+
+800020c0 <test_12_data>:
+800020c0: 0000 unimp
+800020c2: 0000 unimp
+800020c4: 0000 unimp
+800020c6: 4004 lw s1,0(s0)
+800020c8: 0000 unimp
+800020ca: 0000 unimp
+800020cc: 0000 unimp
+800020ce: 3ff0 fld fa2,248(a5)
+800020d0: 0000 unimp
+800020d2: 0000 unimp
+800020d4: 0000 unimp
+800020d6: 0000 unimp
+800020d8: 0000 unimp
+800020da: 0000 unimp
+800020dc: 0000 unimp
+800020de: 4004 lw s1,0(s0)
+
+800020e0 <test_13_data>:
+800020e0: 6666 flw fa2,88(sp)
+800020e2: 6666 flw fa2,88(sp)
+800020e4: 4c66 lw s8,88(sp)
+800020e6: 999ac093 xori ra,s5,-1639
+800020ea: 9999 andi a1,a1,-26
+800020ec: 9999 andi a1,a1,-26
+800020ee: 3ff1 jal 800020ca <test_12_data+0xa>
+800020f0: 0000 unimp
+800020f2: 0000 unimp
+800020f4: 0000 unimp
+800020f6: 0000 unimp
+800020f8: 999a add s3,s3,t1
+800020fa: 9999 andi a1,a1,-26
+800020fc: 9999 andi a1,a1,-26
+800020fe: 3ff1 jal 800020da <test_12_data+0x1a>
+
+80002100 <test_14_data>:
+80002100: 999a add s3,s3,t1
+80002102: 9999 andi a1,a1,-26
+80002104: 9999 andi a1,a1,-26
+80002106: 3ff1 jal 800020e2 <test_13_data+0x2>
+80002108: 6666 flw fa2,88(sp)
+8000210a: 6666 flw fa2,88(sp)
+8000210c: 4c66 lw s8,88(sp)
+8000210e: 0000c093 xori ra,ra,0
+80002112: 0000 unimp
+80002114: 0000 unimp
+80002116: 0000 unimp
+80002118: 999a add s3,s3,t1
+8000211a: 9999 andi a1,a1,-26
+8000211c: 9999 andi a1,a1,-26
+8000211e: 3ff1 jal 800020fa <test_13_data+0x1a>
+
+80002120 <test_15_data>:
+80002120: ffff 0xffff
+80002122: ffff 0xffff
+80002124: ffff 0xffff
+80002126: 7fff 0x7fff
+80002128: 6666 flw fa2,88(sp)
+8000212a: 6666 flw fa2,88(sp)
+8000212c: 4c66 lw s8,88(sp)
+8000212e: 0000c093 xori ra,ra,0
+80002132: 0000 unimp
+80002134: 0000 unimp
+80002136: 0000 unimp
+80002138: 6666 flw fa2,88(sp)
+8000213a: 6666 flw fa2,88(sp)
+8000213c: 4c66 lw s8,88(sp)
+8000213e: xori ra,gp,-689
+
+80002140 <test_16_data>:
+80002140: d4f1 beqz s1,8000210c <test_14_data+0xc>
+80002142: 53c8 lw a0,36(a5)
+80002144: 400921fb 0x400921fb
+80002148: 8c3a mv s8,a4
+8000214a: e230 fsw fa2,64(a2)
+8000214c: 798e flw fs3,224(sp)
+8000214e: 3e45 jal 80001cfe <fromhost+0xcbe>
+80002150: 0000 unimp
+80002152: 0000 unimp
+80002154: 0000 unimp
+80002156: 0000 unimp
+80002158: d4f1 beqz s1,80002124 <test_15_data+0x4>
+8000215a: 53c8 lw a0,36(a5)
+8000215c: 400921fb 0x400921fb
+
+80002160 <test_17_data>:
+80002160: 0000 unimp
+80002162: 0000 unimp
+80002164: 0000 unimp
+80002166: bff0 fsd fa2,248(a5)
+80002168: 0000 unimp
+8000216a: 0000 unimp
+8000216c: 0000 unimp
+8000216e: c000 sw s0,0(s0)
+80002170: 0000 unimp
+80002172: 0000 unimp
+80002174: 0000 unimp
+80002176: 0000 unimp
+80002178: 0000 unimp
+8000217a: 0000 unimp
+8000217c: 0000 unimp
+8000217e: bff0 fsd fa2,248(a5)
+
+80002180 <test_20_data>:
+80002180: 0001 nop
+80002182: 0000 unimp
+80002184: 0000 unimp
+80002186: 7ff0 flw fa2,124(a5)
+80002188: 0000 unimp
+8000218a: 0000 unimp
+8000218c: 0000 unimp
+8000218e: 3ff0 fld fa2,248(a5)
+80002190: 0000 unimp
+80002192: 0000 unimp
+80002194: 0000 unimp
+80002196: 0000 unimp
+80002198: 0000 unimp
+8000219a: 0000 unimp
+8000219c: 0000 unimp
+8000219e: 3ff0 fld fa2,248(a5)
+
+800021a0 <test_21_data>:
+800021a0: ffff 0xffff
+800021a2: ffff 0xffff
+800021a4: ffff 0xffff
+800021a6: 7fff 0x7fff
+800021a8: ffff 0xffff
+800021aa: ffff 0xffff
+800021ac: ffff 0xffff
+800021ae: 7fff 0x7fff
+800021b0: 0000 unimp
+800021b2: 0000 unimp
+800021b4: 0000 unimp
+800021b6: 0000 unimp
+800021b8: 0000 unimp
+800021ba: 0000 unimp
+800021bc: 0000 unimp
+800021be: 7ff8 flw fa4,124(a5)
+
+800021c0 <test_30_data>:
+800021c0: 0000 unimp
+800021c2: 0000 unimp
+800021c4: 0000 unimp
+800021c6: 8000 0x8000
+800021c8: 0000 unimp
+800021ca: 0000 unimp
+800021cc: 0000 unimp
+800021ce: 0000 unimp
+800021d0: 0000 unimp
+800021d2: 0000 unimp
+800021d4: 0000 unimp
+800021d6: 0000 unimp
+800021d8: 0000 unimp
+800021da: 0000 unimp
+800021dc: 0000 unimp
+800021de: 8000 0x8000
+
+800021e0 <test_31_data>:
+800021e0: 0000 unimp
+800021e2: 0000 unimp
+800021e4: 0000 unimp
+800021e6: 0000 unimp
+800021e8: 0000 unimp
+800021ea: 0000 unimp
+800021ec: 0000 unimp
+800021ee: 8000 0x8000
+800021f0: 0000 unimp
+800021f2: 0000 unimp
+800021f4: 0000 unimp
+800021f6: 0000 unimp
+800021f8: 0000 unimp
+800021fa: 0000 unimp
+800021fc: 0000 unimp
+800021fe: 8000 0x8000
+
+80002200 <test_32_data>:
+80002200: 0000 unimp
+80002202: 0000 unimp
+80002204: 0000 unimp
+80002206: 8000 0x8000
+80002208: 0000 unimp
+8000220a: 0000 unimp
+8000220c: 0000 unimp
+8000220e: 0000 unimp
+80002210: 0000 unimp
+80002212: 0000 unimp
+80002214: 0000 unimp
+80002216: 0000 unimp
+80002218: 0000 unimp
+8000221a: 0000 unimp
+8000221c: 0000 unimp
+8000221e: 0000 unimp
+
+80002220 <test_33_data>:
+80002220: 0000 unimp
+80002222: 0000 unimp
+80002224: 0000 unimp
+80002226: 0000 unimp
+80002228: 0000 unimp
+8000222a: 0000 unimp
+8000222c: 0000 unimp
+8000222e: 8000 0x8000
+80002230: 0000 unimp
+80002232: 0000 unimp
+80002234: 0000 unimp
+80002236: 0000 unimp
+80002238: 0000 unimp
+8000223a: 0000 unimp
+8000223c: 0000 unimp
+8000223e: 0000 unimp
diff --git a/test/riscv-tests/rv32ud-p-fmin.elf b/test/riscv-tests/rv32ud-p-fmin.elf
new file mode 100644
index 0000000..1ff0304
--- /dev/null
+++ b/test/riscv-tests/rv32ud-p-fmin.elf
Binary files differ
diff --git a/test/riscv-tests/rv32ud-v-fadd.dump b/test/riscv-tests/rv32ud-v-fadd.dump
new file mode 100644
index 0000000..0d3663f
--- /dev/null
+++ b/test/riscv-tests/rv32ud-v-fadd.dump
@@ -0,0 +1,1273 @@
+
+rv32ud-v-fadd: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 00c0006f j 8000000c <handle_reset>
+
+80000004 <nmi_vector>:
+80000004: 2780206f j 8000227c <wtf>
+
+80000008 <trap_vector>:
+80000008: 2740206f j 8000227c <wtf>
+
+8000000c <handle_reset>:
+8000000c: 00000297 auipc t0,0x0
+80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+80000014: 30529073 csrw mtvec,t0
+80000018: 00008117 auipc sp,0x8
+8000001c: 35010113 addi sp,sp,848 # 80008368 <_end+0xf70>
+80000020: f14022f3 csrr t0,mhartid
+80000024: 00c29293 slli t0,t0,0xc
+80000028: 00510133 add sp,sp,t0
+8000002c: 34011073 csrw mscratch,sp
+80000030: 00003517 auipc a0,0x3
+80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart>
+80000038: 2090206f j 80002a40 <vm_boot>
+
+8000003c <pop_tf>:
+8000003c: 08452283 lw t0,132(a0)
+80000040: 14129073 csrw sepc,t0
+80000044: 00452083 lw ra,4(a0)
+80000048: 00852103 lw sp,8(a0)
+8000004c: 00c52183 lw gp,12(a0)
+80000050: 01052203 lw tp,16(a0)
+80000054: 01452283 lw t0,20(a0)
+80000058: 01852303 lw t1,24(a0)
+8000005c: 01c52383 lw t2,28(a0)
+80000060: 02052403 lw s0,32(a0)
+80000064: 02452483 lw s1,36(a0)
+80000068: 02c52583 lw a1,44(a0)
+8000006c: 03052603 lw a2,48(a0)
+80000070: 03452683 lw a3,52(a0)
+80000074: 03852703 lw a4,56(a0)
+80000078: 03c52783 lw a5,60(a0)
+8000007c: 04052803 lw a6,64(a0)
+80000080: 04452883 lw a7,68(a0)
+80000084: 04852903 lw s2,72(a0)
+80000088: 04c52983 lw s3,76(a0)
+8000008c: 05052a03 lw s4,80(a0)
+80000090: 05452a83 lw s5,84(a0)
+80000094: 05852b03 lw s6,88(a0)
+80000098: 05c52b83 lw s7,92(a0)
+8000009c: 06052c03 lw s8,96(a0)
+800000a0: 06452c83 lw s9,100(a0)
+800000a4: 06852d03 lw s10,104(a0)
+800000a8: 06c52d83 lw s11,108(a0)
+800000ac: 07052e03 lw t3,112(a0)
+800000b0: 07452e83 lw t4,116(a0)
+800000b4: 07852f03 lw t5,120(a0)
+800000b8: 07c52f83 lw t6,124(a0)
+800000bc: 02852503 lw a0,40(a0)
+800000c0: 10200073 sret
+
+800000c4 <trap_entry>:
+800000c4: 14011173 csrrw sp,sscratch,sp
+800000c8: 00112223 sw ra,4(sp)
+800000cc: 00312623 sw gp,12(sp)
+800000d0: 00412823 sw tp,16(sp)
+800000d4: 00512a23 sw t0,20(sp)
+800000d8: 00612c23 sw t1,24(sp)
+800000dc: 00712e23 sw t2,28(sp)
+800000e0: 02812023 sw s0,32(sp)
+800000e4: 02912223 sw s1,36(sp)
+800000e8: 02a12423 sw a0,40(sp)
+800000ec: 02b12623 sw a1,44(sp)
+800000f0: 02c12823 sw a2,48(sp)
+800000f4: 02d12a23 sw a3,52(sp)
+800000f8: 02e12c23 sw a4,56(sp)
+800000fc: 02f12e23 sw a5,60(sp)
+80000100: 05012023 sw a6,64(sp)
+80000104: 05112223 sw a7,68(sp)
+80000108: 05212423 sw s2,72(sp)
+8000010c: 05312623 sw s3,76(sp)
+80000110: 05412823 sw s4,80(sp)
+80000114: 05512a23 sw s5,84(sp)
+80000118: 05612c23 sw s6,88(sp)
+8000011c: 05712e23 sw s7,92(sp)
+80000120: 07812023 sw s8,96(sp)
+80000124: 07912223 sw s9,100(sp)
+80000128: 07a12423 sw s10,104(sp)
+8000012c: 07b12623 sw s11,108(sp)
+80000130: 07c12823 sw t3,112(sp)
+80000134: 07d12a23 sw t4,116(sp)
+80000138: 07e12c23 sw t5,120(sp)
+8000013c: 07f12e23 sw t6,124(sp)
+80000140: 140112f3 csrrw t0,sscratch,sp
+80000144: 00512423 sw t0,8(sp)
+80000148: 100022f3 csrr t0,sstatus
+8000014c: 08512023 sw t0,128(sp)
+80000150: 141022f3 csrr t0,sepc
+80000154: 08512223 sw t0,132(sp)
+80000158: 143022f3 csrr t0,stval
+8000015c: 08512423 sw t0,136(sp)
+80000160: 142022f3 csrr t0,scause
+80000164: 08512623 sw t0,140(sp)
+80000168: 00010513 mv a0,sp
+8000016c: 50c0206f j 80002678 <handle_trap>
+
+Disassembly of section .text:
+
+80002000 <memcpy>:
+80002000: 00c5e7b3 or a5,a1,a2
+80002004: 00f567b3 or a5,a0,a5
+80002008: 0037f793 andi a5,a5,3
+8000200c: 00c506b3 add a3,a0,a2
+80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+80002014: 00c58633 add a2,a1,a2
+80002018: 00050793 mv a5,a0
+8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+80002020: 00158593 addi a1,a1,1
+80002024: fff5c703 lbu a4,-1(a1)
+80002028: 00178793 addi a5,a5,1
+8000202c: fee78fa3 sb a4,-1(a5)
+80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+80002034: 00008067 ret
+80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+8000203c: 00050793 mv a5,a0
+80002040: 00458593 addi a1,a1,4
+80002044: ffc5a703 lw a4,-4(a1)
+80002048: 00478793 addi a5,a5,4
+8000204c: fee7ae23 sw a4,-4(a5)
+80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+80002054: 00008067 ret
+80002058: 00008067 ret
+
+8000205c <memset>:
+8000205c: 00c567b3 or a5,a0,a2
+80002060: 0037f793 andi a5,a5,3
+80002064: 00c50633 add a2,a0,a2
+80002068: 02078063 beqz a5,80002088 <memset+0x2c>
+8000206c: 0ff5f593 andi a1,a1,255
+80002070: 00050793 mv a5,a0
+80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58>
+80002078: 00178793 addi a5,a5,1
+8000207c: feb78fa3 sb a1,-1(a5)
+80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+80002084: 00008067 ret
+80002088: 0ff5f593 andi a1,a1,255
+8000208c: 00859793 slli a5,a1,0x8
+80002090: 00b7e7b3 or a5,a5,a1
+80002094: 01079593 slli a1,a5,0x10
+80002098: 00f5e5b3 or a1,a1,a5
+8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28>
+800020a0: 00050793 mv a5,a0
+800020a4: 00478793 addi a5,a5,4
+800020a8: feb7ae23 sw a1,-4(a5)
+800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48>
+800020b0: 00008067 ret
+800020b4: 00008067 ret
+
+800020b8 <strlen>:
+800020b8: 00054783 lbu a5,0(a0)
+800020bc: 00050713 mv a4,a0
+800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20>
+800020c4: 00150513 addi a0,a0,1
+800020c8: 00054783 lbu a5,0(a0)
+800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc>
+800020d0: 40e50533 sub a0,a0,a4
+800020d4: 00008067 ret
+800020d8: 00000513 li a0,0
+800020dc: 00008067 ret
+
+800020e0 <strcmp>:
+800020e0: 00150513 addi a0,a0,1
+800020e4: fff54783 lbu a5,-1(a0)
+800020e8: 00158593 addi a1,a1,1
+800020ec: fff5c703 lbu a4,-1(a1)
+800020f0: 00078863 beqz a5,80002100 <strcmp+0x20>
+800020f4: fee786e3 beq a5,a4,800020e0 <strcmp>
+800020f8: 40e78533 sub a0,a5,a4
+800020fc: 00008067 ret
+80002100: 00000793 li a5,0
+80002104: ff5ff06f j 800020f8 <strcmp+0x18>
+
+80002108 <memcmp>:
+80002108: 00b567b3 or a5,a0,a1
+8000210c: 0037f793 andi a5,a5,3
+80002110: 04079263 bnez a5,80002154 <memcmp+0x4c>
+80002114: ffc67693 andi a3,a2,-4
+80002118: 00d506b3 add a3,a0,a3
+8000211c: 00050813 mv a6,a0
+80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c>
+80002124: 00052703 lw a4,0(a0)
+80002128: 0005a783 lw a5,0(a1)
+8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38>
+80002130: 0240006f j 80002154 <memcmp+0x4c>
+80002134: 00052703 lw a4,0(a0)
+80002138: 0005a783 lw a5,0(a1)
+8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44>
+80002140: 00450513 addi a0,a0,4
+80002144: 00458593 addi a1,a1,4
+80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c>
+8000214c: 41050833 sub a6,a0,a6
+80002150: 41060633 sub a2,a2,a6
+80002154: 00c58633 add a2,a1,a2
+80002158: 0140006f j 8000216c <memcmp+0x64>
+8000215c: 00158593 addi a1,a1,1
+80002160: fff54783 lbu a5,-1(a0)
+80002164: fff5c703 lbu a4,-1(a1)
+80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74>
+8000216c: 00150513 addi a0,a0,1
+80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54>
+80002174: 00000513 li a0,0
+80002178: 00008067 ret
+8000217c: 40e78533 sub a0,a5,a4
+80002180: 00008067 ret
+
+80002184 <strcpy>:
+80002184: 00050793 mv a5,a0
+80002188: 00158593 addi a1,a1,1
+8000218c: fff5c703 lbu a4,-1(a1)
+80002190: 00178793 addi a5,a5,1
+80002194: fee78fa3 sb a4,-1(a5)
+80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4>
+8000219c: 00008067 ret
+
+800021a0 <atol>:
+800021a0: 00054783 lbu a5,0(a0)
+800021a4: 02000713 li a4,32
+800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18>
+800021ac: 00150513 addi a0,a0,1
+800021b0: 00054783 lbu a5,0(a0)
+800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc>
+800021b8: fd578713 addi a4,a5,-43
+800021bc: 0fd77713 andi a4,a4,253
+800021c0: 04070263 beqz a4,80002204 <atol+0x64>
+800021c4: 00054683 lbu a3,0(a0)
+800021c8: 00050793 mv a5,a0
+800021cc: 00000613 li a2,0
+800021d0: 04068863 beqz a3,80002220 <atol+0x80>
+800021d4: 00000513 li a0,0
+800021d8: 00178793 addi a5,a5,1
+800021dc: fd068593 addi a1,a3,-48
+800021e0: 00251713 slli a4,a0,0x2
+800021e4: 0007c683 lbu a3,0(a5)
+800021e8: 00a70533 add a0,a4,a0
+800021ec: 00151513 slli a0,a0,0x1
+800021f0: 00a58533 add a0,a1,a0
+800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38>
+800021f8: 00060463 beqz a2,80002200 <atol+0x60>
+800021fc: 40a00533 neg a0,a0
+80002200: 00008067 ret
+80002204: 00154683 lbu a3,1(a0)
+80002208: fd378793 addi a5,a5,-45
+8000220c: 0017b613 seqz a2,a5
+80002210: 00150793 addi a5,a0,1
+80002214: fc0690e3 bnez a3,800021d4 <atol+0x34>
+80002218: 00000513 li a0,0
+8000221c: fddff06f j 800021f8 <atol+0x58>
+80002220: 00000513 li a0,0
+80002224: 00008067 ret
+
+80002228 <terminate>:
+80002228: fffff697 auipc a3,0xfffff
+8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost>
+80002230: 0006a703 lw a4,0(a3)
+80002234: 0046a783 lw a5,4(a3)
+80002238: 00050813 mv a6,a0
+8000223c: 41f55893 srai a7,a0,0x1f
+80002240: 00f76733 or a4,a4,a5
+80002244: 02070663 beqz a4,80002270 <terminate+0x48>
+80002248: fffff617 auipc a2,0xfffff
+8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost>
+80002250: 00000713 li a4,0
+80002254: 00e62023 sw a4,0(a2)
+80002258: 00000793 li a5,0
+8000225c: 00f62223 sw a5,4(a2)
+80002260: 0006a703 lw a4,0(a3)
+80002264: 0046a783 lw a5,4(a3)
+80002268: 00f76733 or a4,a4,a5
+8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28>
+80002270: 0106a023 sw a6,0(a3)
+80002274: 0116a223 sw a7,4(a3)
+80002278: 0000006f j 80002278 <terminate+0x50>
+
+8000227c <wtf>:
+8000227c: ff010113 addi sp,sp,-16
+80002280: 34900513 li a0,841
+80002284: 00112623 sw ra,12(sp)
+80002288: fa1ff0ef jal ra,80002228 <terminate>
+
+8000228c <printhex>:
+8000228c: fe010113 addi sp,sp,-32
+80002290: 01b10793 addi a5,sp,27
+80002294: 00b10e93 addi t4,sp,11
+80002298: 00900e13 li t3,9
+8000229c: 00f57693 andi a3,a0,15
+800022a0: 01c59313 slli t1,a1,0x1c
+800022a4: 00455513 srli a0,a0,0x4
+800022a8: 05700613 li a2,87
+800022ac: 0ff6f713 andi a4,a3,255
+800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c>
+800022b4: 03000613 li a2,48
+800022b8: 00c70733 add a4,a4,a2
+800022bc: 00e78023 sb a4,0(a5)
+800022c0: fff78793 addi a5,a5,-1
+800022c4: 00a36533 or a0,t1,a0
+800022c8: 0045d593 srli a1,a1,0x4
+800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10>
+800022d0: 00c14583 lbu a1,12(sp)
+800022d4: 00010e23 sb zero,28(sp)
+800022d8: 06058263 beqz a1,8000233c <printhex+0xb0>
+800022dc: 00c10513 addi a0,sp,12
+800022e0: fffff697 auipc a3,0xfffff
+800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost>
+800022e8: fffff617 auipc a2,0xfffff
+800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost>
+800022f0: 0006a703 lw a4,0(a3)
+800022f4: 0046a783 lw a5,4(a3)
+800022f8: 00058813 mv a6,a1
+800022fc: 00150513 addi a0,a0,1
+80002300: 00f76733 or a4,a4,a5
+80002304: 010108b7 lui a7,0x1010
+80002308: 02070263 beqz a4,8000232c <printhex+0xa0>
+8000230c: 00000713 li a4,0
+80002310: 00e62023 sw a4,0(a2)
+80002314: 00000793 li a5,0
+80002318: 00f62223 sw a5,4(a2)
+8000231c: 0006a703 lw a4,0(a3)
+80002320: 0046a783 lw a5,4(a3)
+80002324: 00f76733 or a4,a4,a5
+80002328: fe0712e3 bnez a4,8000230c <printhex+0x80>
+8000232c: 00054583 lbu a1,0(a0)
+80002330: 0106a023 sw a6,0(a3)
+80002334: 0116a223 sw a7,4(a3)
+80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64>
+8000233c: 02010113 addi sp,sp,32
+80002340: 00008067 ret
+
+80002344 <handle_fault>:
+80002344: ff010113 addi sp,sp,-16
+80002348: fffff6b7 lui a3,0xfffff
+8000234c: 00112623 sw ra,12(sp)
+80002350: 00812423 sw s0,8(sp)
+80002354: 00912223 sw s1,4(sp)
+80002358: 00d50733 add a4,a0,a3
+8000235c: 0003e7b7 lui a5,0x3e
+80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180>
+80002364: 00c55613 srli a2,a0,0xc
+80002368: 40060e13 addi t3,a2,1024
+8000236c: 00003317 auipc t1,0x3
+80002370: c9430313 addi t1,t1,-876 # 80005000 <pt>
+80002374: 002e1793 slli a5,t3,0x2
+80002378: 00f307b3 add a5,t1,a5
+8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000>
+80002380: 00d57533 and a0,a0,a3
+80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130>
+80002388: 00005797 auipc a5,0x5
+8000238c: 06c78793 addi a5,a5,108 # 800073f4 <freelist_head>
+80002390: 0007a583 lw a1,0(a5)
+80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0>
+80002398: 0045a783 lw a5,4(a1)
+8000239c: 00005717 auipc a4,0x5
+800023a0: 05470713 addi a4,a4,84 # 800073f0 <freelist_tail>
+800023a4: 00072703 lw a4,0(a4)
+800023a8: 00005697 auipc a3,0x5
+800023ac: 04f6a623 sw a5,76(a3) # 800073f4 <freelist_head>
+800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174>
+800023b4: 0005a703 lw a4,0(a1)
+800023b8: 002e1793 slli a5,t3,0x2
+800023bc: 00f307b3 add a5,t1,a5
+800023c0: 00c75713 srli a4,a4,0xc
+800023c4: 00a71713 slli a4,a4,0xa
+800023c8: 0df76e93 ori t4,a4,223
+800023cc: 01f76693 ori a3,a4,31
+800023d0: 01d7a023 sw t4,0(a5)
+800023d4: 12050073 sfence.vma a0
+800023d8: 00005717 auipc a4,0x5
+800023dc: e2070713 addi a4,a4,-480 # 800071f8 <user_mapping>
+800023e0: 00361793 slli a5,a2,0x3
+800023e4: 00f707b3 add a5,a4,a5
+800023e8: 0007a703 lw a4,0(a5)
+800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c>
+800023f0: 0005a703 lw a4,0(a1)
+800023f4: 00e7a023 sw a4,0(a5)
+800023f8: 0045a703 lw a4,4(a1)
+800023fc: 00e7a223 sw a4,4(a5)
+80002400: 000407b7 lui a5,0x40
+80002404: 1007a5f3 csrrs a1,sstatus,a5
+80002408: ffc007b7 lui a5,0xffc00
+8000240c: 00f507b3 add a5,a0,a5
+80002410: 00001637 lui a2,0x1
+80002414: 00050713 mv a4,a0
+80002418: 00c78633 add a2,a5,a2
+8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf8c08>
+80002420: 0047ae83 lw t4,4(a5)
+80002424: 0087a883 lw a7,8(a5)
+80002428: 00c7a803 lw a6,12(a5)
+8000242c: 01e72023 sw t5,0(a4)
+80002430: 01d72223 sw t4,4(a4)
+80002434: 01172423 sw a7,8(a4)
+80002438: 01072623 sw a6,12(a4)
+8000243c: 01078793 addi a5,a5,16
+80002440: 01070713 addi a4,a4,16
+80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8>
+80002448: 10059073 csrw sstatus,a1
+8000244c: 002e1e13 slli t3,t3,0x2
+80002450: 01c30333 add t1,t1,t3
+80002454: 00d32023 sw a3,0(t1)
+80002458: 12050073 sfence.vma a0
+8000245c: 0000100f fence.i
+80002460: 00c12083 lw ra,12(sp)
+80002464: 00812403 lw s0,8(sp)
+80002468: 00412483 lw s1,4(sp)
+8000246c: 01010113 addi sp,sp,16
+80002470: 00008067 ret
+80002474: 04077693 andi a3,a4,64
+80002478: 02069263 bnez a3,8000249c <handle_fault+0x158>
+8000247c: 04076713 ori a4,a4,64
+80002480: 00e7a023 sw a4,0(a5)
+80002484: 12050073 sfence.vma a0
+80002488: 00c12083 lw ra,12(sp)
+8000248c: 00812403 lw s0,8(sp)
+80002490: 00412483 lw s1,4(sp)
+80002494: 01010113 addi sp,sp,16
+80002498: 00008067 ret
+8000249c: 08077693 andi a3,a4,128
+800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8>
+800024a4: 00f00693 li a3,15
+800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8>
+800024ac: 08076713 ori a4,a4,128
+800024b0: 00e7a023 sw a4,0(a5)
+800024b4: fd1ff06f j 80002484 <handle_fault+0x140>
+800024b8: 00005797 auipc a5,0x5
+800024bc: f207ac23 sw zero,-200(a5) # 800073f0 <freelist_tail>
+800024c0: ef5ff06f j 800023b4 <handle_fault+0x70>
+800024c4: 04100513 li a0,65
+800024c8: 00001597 auipc a1,0x1
+800024cc: 9e458593 addi a1,a1,-1564 # 80002eac <pass+0xc>
+800024d0: fffff697 auipc a3,0xfffff
+800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost>
+800024d8: fffff617 auipc a2,0xfffff
+800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost>
+800024e0: 0006a703 lw a4,0(a3)
+800024e4: 0046a783 lw a5,4(a3)
+800024e8: 00050313 mv t1,a0
+800024ec: 00158593 addi a1,a1,1
+800024f0: 00f76733 or a4,a4,a5
+800024f4: 010103b7 lui t2,0x1010
+800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8>
+800024fc: 00000793 li a5,0
+80002500: 00f62023 sw a5,0(a2)
+80002504: 00000813 li a6,0
+80002508: 01062223 sw a6,4(a2)
+8000250c: 0006a703 lw a4,0(a3)
+80002510: 0046a783 lw a5,4(a3)
+80002514: 00f76733 or a4,a4,a5
+80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8>
+8000251c: 0005c503 lbu a0,0(a1)
+80002520: 0066a023 sw t1,0(a3)
+80002524: 0076a223 sw t2,4(a3)
+80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c>
+8000252c: 00300513 li a0,3
+80002530: cf9ff0ef jal ra,80002228 <terminate>
+80002534: 04100513 li a0,65
+80002538: 00001597 auipc a1,0x1
+8000253c: a0058593 addi a1,a1,-1536 # 80002f38 <pass+0x98>
+80002540: fffff697 auipc a3,0xfffff
+80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost>
+80002548: fffff617 auipc a2,0xfffff
+8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost>
+80002550: 0006a703 lw a4,0(a3)
+80002554: 0046a783 lw a5,4(a3)
+80002558: 00050f13 mv t5,a0
+8000255c: 00158593 addi a1,a1,1
+80002560: 00f76733 or a4,a4,a5
+80002564: 01010fb7 lui t6,0x1010
+80002568: 02070263 beqz a4,8000258c <handle_fault+0x248>
+8000256c: 00000793 li a5,0
+80002570: 00f62023 sw a5,0(a2)
+80002574: 00000813 li a6,0
+80002578: 01062223 sw a6,4(a2)
+8000257c: 0006a703 lw a4,0(a3)
+80002580: 0046a783 lw a5,4(a3)
+80002584: 00f76733 or a4,a4,a5
+80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228>
+8000258c: 0005c503 lbu a0,0(a1)
+80002590: 01e6a023 sw t5,0(a3)
+80002594: 01f6a223 sw t6,4(a3)
+80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c>
+8000259c: f91ff06f j 8000252c <handle_fault+0x1e8>
+800025a0: 04100513 li a0,65
+800025a4: 00001597 auipc a1,0x1
+800025a8: 9ac58593 addi a1,a1,-1620 # 80002f50 <pass+0xb0>
+800025ac: fffff697 auipc a3,0xfffff
+800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost>
+800025b4: fffff617 auipc a2,0xfffff
+800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost>
+800025bc: 0006a703 lw a4,0(a3)
+800025c0: 0046a783 lw a5,4(a3)
+800025c4: 00050813 mv a6,a0
+800025c8: 00158593 addi a1,a1,1
+800025cc: 00f76733 or a4,a4,a5
+800025d0: 010108b7 lui a7,0x1010
+800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4>
+800025d8: 00000713 li a4,0
+800025dc: 00e62023 sw a4,0(a2)
+800025e0: 00000793 li a5,0
+800025e4: 00f62223 sw a5,4(a2)
+800025e8: 0006a703 lw a4,0(a3)
+800025ec: 0046a783 lw a5,4(a3)
+800025f0: 00f76733 or a4,a4,a5
+800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294>
+800025f8: 0005c503 lbu a0,0(a1)
+800025fc: 0106a023 sw a6,0(a3)
+80002600: 0116a223 sw a7,4(a3)
+80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278>
+80002608: f25ff06f j 8000252c <handle_fault+0x1e8>
+8000260c: 04100793 li a5,65
+80002610: 00001597 auipc a1,0x1
+80002614: 8e058593 addi a1,a1,-1824 # 80002ef0 <pass+0x50>
+80002618: fffff697 auipc a3,0xfffff
+8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost>
+80002620: fffff617 auipc a2,0xfffff
+80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost>
+80002628: 0006a803 lw a6,0(a3)
+8000262c: 0046a883 lw a7,4(a3)
+80002630: 00078413 mv s0,a5
+80002634: 00158593 addi a1,a1,1
+80002638: 01186833 or a6,a6,a7
+8000263c: 010104b7 lui s1,0x1010
+80002640: 02080263 beqz a6,80002664 <handle_fault+0x320>
+80002644: 00000793 li a5,0
+80002648: 00f62023 sw a5,0(a2)
+8000264c: 00000813 li a6,0
+80002650: 01062223 sw a6,4(a2)
+80002654: 0006a703 lw a4,0(a3)
+80002658: 0046a783 lw a5,4(a3)
+8000265c: 00f76733 or a4,a4,a5
+80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300>
+80002664: 0005c783 lbu a5,0(a1)
+80002668: 0086a023 sw s0,0(a3)
+8000266c: 0096a223 sw s1,4(a3)
+80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4>
+80002674: eb9ff06f j 8000252c <handle_fault+0x1e8>
+
+80002678 <handle_trap>:
+80002678: 08c52583 lw a1,140(a0)
+8000267c: fb010113 addi sp,sp,-80
+80002680: 03412c23 sw s4,56(sp)
+80002684: 04112623 sw ra,76(sp)
+80002688: 04812423 sw s0,72(sp)
+8000268c: 04912223 sw s1,68(sp)
+80002690: 05212023 sw s2,64(sp)
+80002694: 03312e23 sw s3,60(sp)
+80002698: 03512a23 sw s5,52(sp)
+8000269c: 03612823 sw s6,48(sp)
+800026a0: 03712623 sw s7,44(sp)
+800026a4: 03812423 sw s8,40(sp)
+800026a8: 03912223 sw s9,36(sp)
+800026ac: 03a12023 sw s10,32(sp)
+800026b0: 01b12e23 sw s11,28(sp)
+800026b4: 00800793 li a5,8
+800026b8: 00050a13 mv s4,a0
+800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0>
+800026c0: 00200793 li a5,2
+800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac>
+800026c8: ff458793 addi a5,a1,-12
+800026cc: 00100713 li a4,1
+800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64>
+800026d4: 00f00793 li a5,15
+800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294>
+800026dc: 088a2503 lw a0,136(s4)
+800026e0: c65ff0ef jal ra,80002344 <handle_fault>
+800026e4: 04812403 lw s0,72(sp)
+800026e8: 04c12083 lw ra,76(sp)
+800026ec: 04412483 lw s1,68(sp)
+800026f0: 04012903 lw s2,64(sp)
+800026f4: 03c12983 lw s3,60(sp)
+800026f8: 03412a83 lw s5,52(sp)
+800026fc: 03012b03 lw s6,48(sp)
+80002700: 02c12b83 lw s7,44(sp)
+80002704: 02812c03 lw s8,40(sp)
+80002708: 02412c83 lw s9,36(sp)
+8000270c: 02012d03 lw s10,32(sp)
+80002710: 01c12d83 lw s11,28(sp)
+80002714: 000a0513 mv a0,s4
+80002718: 03812a03 lw s4,56(sp)
+8000271c: 05010113 addi sp,sp,80
+80002720: 91dfd06f j 8000003c <pop_tf>
+80002724: 08452703 lw a4,132(a0)
+80002728: 00377793 andi a5,a4,3
+8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144>
+80002730: 008007ef jal a5,80002738 <handle_trap+0xc0>
+80002734: 00301073 fssr zero
+80002738: 00072703 lw a4,0(a4)
+8000273c: 0007a783 lw a5,0(a5)
+80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c>
+80002744: 04100513 li a0,65
+80002748: 00001597 auipc a1,0x1
+8000274c: 8d058593 addi a1,a1,-1840 # 80003018 <pass+0x178>
+80002750: fffff697 auipc a3,0xfffff
+80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost>
+80002758: fffff617 auipc a2,0xfffff
+8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost>
+80002760: 0006a703 lw a4,0(a3)
+80002764: 0046a783 lw a5,4(a3)
+80002768: 00050813 mv a6,a0
+8000276c: 00158593 addi a1,a1,1
+80002770: 00f76733 or a4,a4,a5
+80002774: 010108b7 lui a7,0x1010
+80002778: 02070263 beqz a4,8000279c <handle_trap+0x124>
+8000277c: 00000713 li a4,0
+80002780: 00e62023 sw a4,0(a2)
+80002784: 00000793 li a5,0
+80002788: 00f62223 sw a5,4(a2)
+8000278c: 0006a703 lw a4,0(a3)
+80002790: 0046a783 lw a5,4(a3)
+80002794: 00f76733 or a4,a4,a5
+80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104>
+8000279c: 0005c503 lbu a0,0(a1)
+800027a0: 0106a023 sw a6,0(a3)
+800027a4: 0116a223 sw a7,4(a3)
+800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8>
+800027ac: 00300513 li a0,3
+800027b0: a79ff0ef jal ra,80002228 <terminate>
+800027b4: 00100513 li a0,1
+800027b8: a71ff0ef jal ra,80002228 <terminate>
+800027bc: 00001597 auipc a1,0x1
+800027c0: 83858593 addi a1,a1,-1992 # 80002ff4 <pass+0x154>
+800027c4: 04100613 li a2,65
+800027c8: fffff697 auipc a3,0xfffff
+800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost>
+800027d0: fffff517 auipc a0,0xfffff
+800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost>
+800027d8: 0006a703 lw a4,0(a3)
+800027dc: 0046a783 lw a5,4(a3)
+800027e0: 00060e13 mv t3,a2
+800027e4: 00158593 addi a1,a1,1
+800027e8: 00f76733 or a4,a4,a5
+800027ec: 01010eb7 lui t4,0x1010
+800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c>
+800027f4: 00000793 li a5,0
+800027f8: 00f52023 sw a5,0(a0)
+800027fc: 00000813 li a6,0
+80002800: 01052223 sw a6,4(a0)
+80002804: 0006a703 lw a4,0(a3)
+80002808: 0046a783 lw a5,4(a3)
+8000280c: 00f76733 or a4,a4,a5
+80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c>
+80002814: 0005c603 lbu a2,0(a1)
+80002818: 01c6a023 sw t3,0(a3)
+8000281c: 01d6a223 sw t4,4(a3)
+80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160>
+80002824: f89ff06f j 800027ac <handle_trap+0x134>
+80002828: 02852783 lw a5,40(a0)
+8000282c: 00001a37 lui s4,0x1
+80002830: 00005b17 auipc s6,0x5
+80002834: 9c8b0b13 addi s6,s6,-1592 # 800071f8 <user_mapping>
+80002838: 00f12223 sw a5,4(sp)
+8000283c: 00002d17 auipc s10,0x2
+80002840: 7c4d0d13 addi s10,s10,1988 # 80005000 <pt>
+80002844: 00040cb7 lui s9,0x40
+80002848: ffc00c37 lui s8,0xffc00
+8000284c: 0003fab7 lui s5,0x3f
+80002850: 01c0006f j 8000286c <handle_trap+0x1f4>
+80002854: 00f72223 sw a5,4(a4)
+80002858: 00005717 auipc a4,0x5
+8000285c: b8f72c23 sw a5,-1128(a4) # 800073f0 <freelist_tail>
+80002860: 000017b7 lui a5,0x1
+80002864: 00fa0a33 add s4,s4,a5
+80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398>
+8000286c: 00ca5713 srli a4,s4,0xc
+80002870: 00371b93 slli s7,a4,0x3
+80002874: 017b0633 add a2,s6,s7
+80002878: 00062603 lw a2,0(a2)
+8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8>
+80002880: 40070713 addi a4,a4,1024
+80002884: 00271713 slli a4,a4,0x2
+80002888: 00ed0733 add a4,s10,a4
+8000288c: 00072703 lw a4,0(a4)
+80002890: 04077613 andi a2,a4,64
+80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c>
+80002898: 00e12623 sw a4,12(sp)
+8000289c: 100cadf3 csrrs s11,sstatus,s9
+800028a0: 018a0833 add a6,s4,s8
+800028a4: 00001637 lui a2,0x1
+800028a8: 00080593 mv a1,a6
+800028ac: 000a0513 mv a0,s4
+800028b0: 01012423 sw a6,8(sp)
+800028b4: 855ff0ef jal ra,80002108 <memcmp>
+800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264>
+800028bc: 00c12703 lw a4,12(sp)
+800028c0: 00812803 lw a6,8(sp)
+800028c4: 08077713 andi a4,a4,128
+800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300>
+800028cc: 00001637 lui a2,0x1
+800028d0: 00080593 mv a1,a6
+800028d4: 000a0513 mv a0,s4
+800028d8: f28ff0ef jal ra,80002000 <memcpy>
+800028dc: 017b07b3 add a5,s6,s7
+800028e0: 100d9073 csrw sstatus,s11
+800028e4: 00005717 auipc a4,0x5
+800028e8: b0c70713 addi a4,a4,-1268 # 800073f0 <freelist_tail>
+800028ec: 00072703 lw a4,0(a4)
+800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000>
+800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc>
+800028f8: 00005717 auipc a4,0x5
+800028fc: aef72c23 sw a5,-1288(a4) # 800073f0 <freelist_tail>
+80002900: 00005717 auipc a4,0x5
+80002904: aef72a23 sw a5,-1292(a4) # 800073f4 <freelist_head>
+80002908: f59ff06f j 80002860 <handle_trap+0x1e8>
+8000290c: 04100593 li a1,65
+80002910: 00000617 auipc a2,0x0
+80002914: 73460613 addi a2,a2,1844 # 80003044 <pass+0x1a4>
+80002918: ffffe697 auipc a3,0xffffe
+8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost>
+80002920: ffffe517 auipc a0,0xffffe
+80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost>
+80002928: 0006a703 lw a4,0(a3)
+8000292c: 0046a783 lw a5,4(a3)
+80002930: 00058313 mv t1,a1
+80002934: 00160613 addi a2,a2,1
+80002938: 00f76733 or a4,a4,a5
+8000293c: 010103b7 lui t2,0x1010
+80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec>
+80002944: 00000793 li a5,0
+80002948: 00f52023 sw a5,0(a0)
+8000294c: 00000813 li a6,0
+80002950: 01052223 sw a6,4(a0)
+80002954: 0006a703 lw a4,0(a3)
+80002958: 0046a783 lw a5,4(a3)
+8000295c: 00f76733 or a4,a4,a5
+80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc>
+80002964: 00064583 lbu a1,0(a2)
+80002968: 0066a023 sw t1,0(a3)
+8000296c: 0076a223 sw t2,4(a3)
+80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0>
+80002974: e39ff06f j 800027ac <handle_trap+0x134>
+80002978: 04100793 li a5,65
+8000297c: 00000617 auipc a2,0x0
+80002980: 64460613 addi a2,a2,1604 # 80002fc0 <pass+0x120>
+80002984: ffffe697 auipc a3,0xffffe
+80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost>
+8000298c: ffffe597 auipc a1,0xffffe
+80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost>
+80002994: 00078413 mv s0,a5
+80002998: 00160613 addi a2,a2,1
+8000299c: 010104b7 lui s1,0x1010
+800029a0: 0006a703 lw a4,0(a3)
+800029a4: 0046a783 lw a5,4(a3)
+800029a8: 00f76733 or a4,a4,a5
+800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0>
+800029b0: 00000793 li a5,0
+800029b4: 00000813 li a6,0
+800029b8: 00f5a023 sw a5,0(a1)
+800029bc: 0105a223 sw a6,4(a1)
+800029c0: fe1ff06f j 800029a0 <handle_trap+0x328>
+800029c4: 04100793 li a5,65
+800029c8: 00000617 auipc a2,0x0
+800029cc: 5c460613 addi a2,a2,1476 # 80002f8c <pass+0xec>
+800029d0: ffffe697 auipc a3,0xffffe
+800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost>
+800029d8: ffffe597 auipc a1,0xffffe
+800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost>
+800029e0: 00078913 mv s2,a5
+800029e4: 00160613 addi a2,a2,1
+800029e8: 010109b7 lui s3,0x1010
+800029ec: 0006a703 lw a4,0(a3)
+800029f0: 0046a783 lw a5,4(a3)
+800029f4: 00f76733 or a4,a4,a5
+800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4>
+800029fc: 00000793 li a5,0
+80002a00: 00000813 li a6,0
+80002a04: 00f5a023 sw a5,0(a1)
+80002a08: 0105a223 sw a6,4(a1)
+80002a0c: fe1ff06f j 800029ec <handle_trap+0x374>
+80002a10: 00412503 lw a0,4(sp)
+80002a14: 815ff0ef jal ra,80002228 <terminate>
+80002a18: 00064783 lbu a5,0(a2)
+80002a1c: 0086a023 sw s0,0(a3)
+80002a20: 0096a223 sw s1,4(a3)
+80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c>
+80002a28: d85ff06f j 800027ac <handle_trap+0x134>
+80002a2c: 00064783 lbu a5,0(a2)
+80002a30: 0126a023 sw s2,0(a3)
+80002a34: 0136a223 sw s3,4(a3)
+80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368>
+80002a3c: d71ff06f j 800027ac <handle_trap+0x134>
+
+80002a40 <vm_boot>:
+80002a40: f14027f3 csrr a5,mhartid
+80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158>
+80002a48: 00003797 auipc a5,0x3
+80002a4c: 5b878793 addi a5,a5,1464 # 80006000 <pt+0x1000>
+80002a50: 00c7d793 srli a5,a5,0xc
+80002a54: 00a79793 slli a5,a5,0xa
+80002a58: 0017e793 ori a5,a5,1
+80002a5c: 00002697 auipc a3,0x2
+80002a60: 5af6a223 sw a5,1444(a3) # 80005000 <pt>
+80002a64: 200007b7 lui a5,0x20000
+80002a68: 00002717 auipc a4,0x2
+80002a6c: 59870713 addi a4,a4,1432 # 80005000 <pt>
+80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31>
+80002a74: f6010113 addi sp,sp,-160
+80002a78: 00003697 auipc a3,0x3
+80002a7c: 58f6a223 sw a5,1412(a3) # 80005ffc <pt+0xffc>
+80002a80: 00c75793 srli a5,a4,0xc
+80002a84: 80000737 lui a4,0x80000
+80002a88: 08112e23 sw ra,156(sp)
+80002a8c: 08812c23 sw s0,152(sp)
+80002a90: 00e7e7b3 or a5,a5,a4
+80002a94: 18079073 csrw satp,a5
+80002a98: 01f00793 li a5,31
+80002a9c: fff00713 li a4,-1
+80002aa0: 00000297 auipc t0,0x0
+80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74>
+80002aa8: 305292f3 csrrw t0,mtvec,t0
+80002aac: 3b071073 csrw pmpaddr0,a4
+80002ab0: 3a079073 csrw pmpcfg0,a5
+80002ab4: 7fbfd797 auipc a5,0x7fbfd
+80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf8ccc>
+80002abc: 10579073 csrw stvec,a5
+80002ac0: 340027f3 csrr a5,mscratch
+80002ac4: 7fc00837 lui a6,0x7fc00
+80002ac8: 010787b3 add a5,a5,a6
+80002acc: 14079073 csrw sscratch,a5
+80002ad0: 0000b7b7 lui a5,0xb
+80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00>
+80002ad8: 30279073 csrw medeleg,a5
+80002adc: 0001e7b7 lui a5,0x1e
+80002ae0: 30079073 csrw mstatus,a5
+80002ae4: 30405073 csrwi mie,0
+80002ae8: 7fc04797 auipc a5,0x7fc04
+80002aec: 51878793 addi a5,a5,1304 # ffc07000 <_end+0x7fbffc08>
+80002af0: 00005717 auipc a4,0x5
+80002af4: 90f72223 sw a5,-1788(a4) # 800073f4 <freelist_head>
+80002af8: 7fc04797 auipc a5,0x7fc04
+80002afc: 6f878793 addi a5,a5,1784 # ffc071f0 <_end+0x7fbffdf8>
+80002b00: 00005717 auipc a4,0x5
+80002b04: 8ef72823 sw a5,-1808(a4) # 800073f0 <freelist_tail>
+80002b08: 000808b7 lui a7,0x80
+80002b0c: 00004717 auipc a4,0x4
+80002b10: 4f470713 addi a4,a4,1268 # 80007000 <freelist_nodes>
+80002b14: 00004317 auipc t1,0x4
+80002b18: 6e430313 addi t1,t1,1764 # 800071f8 <user_mapping>
+80002b1c: 03300793 li a5,51
+80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1>
+80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8>
+80002b28: 0017d613 srli a2,a5,0x1
+80002b2c: 011786b3 add a3,a5,a7
+80002b30: 00f647b3 xor a5,a2,a5
+80002b34: 010705b3 add a1,a4,a6
+80002b38: 00c69693 slli a3,a3,0xc
+80002b3c: 00579793 slli a5,a5,0x5
+80002b40: 00d72023 sw a3,0(a4)
+80002b44: 00b72223 sw a1,4(a4)
+80002b48: 0207f793 andi a5,a5,32
+80002b4c: 00870713 addi a4,a4,8
+80002b50: 00f667b3 or a5,a2,a5
+80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8>
+80002b58: 00050413 mv s0,a0
+80002b5c: 09000613 li a2,144
+80002b60: 00000593 li a1,0
+80002b64: 00010513 mv a0,sp
+80002b68: 00004797 auipc a5,0x4
+80002b6c: 6807a623 sw zero,1676(a5) # 800071f4 <freelist_nodes+0x1f4>
+80002b70: cecff0ef jal ra,8000205c <memset>
+80002b74: 800007b7 lui a5,0x80000
+80002b78: 00f40433 add s0,s0,a5
+80002b7c: 00010513 mv a0,sp
+80002b80: 08812223 sw s0,132(sp)
+80002b84: cb8fd0ef jal ra,8000003c <pop_tf>
+80002b88: 09c12083 lw ra,156(sp)
+80002b8c: 09812403 lw s0,152(sp)
+80002b90: 0a010113 addi sp,sp,160
+80002b94: 00008067 ret
+80002b98: 0e7037b7 lui a5,0xe703
+80002b9c: 00080637 lui a2,0x80
+80002ba0: 6e978793 addi a5,a5,1769 # e7036e9 <_start-0x718fc917>
+80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004>
+80002ba8: 800005b7 lui a1,0x80000
+80002bac: 00c7f733 and a4,a5,a2
+80002bb0: 0017f693 andi a3,a5,1
+80002bb4: 00b70733 add a4,a4,a1
+80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194>
+80002bbc: 0007202f amoadd.w zero,zero,(a4)
+80002bc0: 0017d793 srli a5,a5,0x1
+80002bc4: 00c7f733 and a4,a5,a2
+80002bc8: 0017f693 andi a3,a5,1
+80002bcc: 00b70733 add a4,a4,a1
+80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c>
+80002bd4: 00072003 lw zero,0(a4)
+80002bd8: 0017d793 srli a5,a5,0x1
+80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184>
+
+80002be0 <userstart>:
+80002be0: 00301073 fssr zero
+
+80002be4 <test_2>:
+80002be4: 00200193 li gp,2
+80002be8: 00001517 auipc a0,0x1
+80002bec: 41850513 addi a0,a0,1048 # 80004000 <test_2_data>
+80002bf0: 00053007 fld ft0,0(a0)
+80002bf4: 00853087 fld ft1,8(a0)
+80002bf8: 01053107 fld ft2,16(a0)
+80002bfc: 01852683 lw a3,24(a0)
+80002c00: 01c52303 lw t1,28(a0)
+80002c04: 021071d3 fadd.d ft3,ft0,ft1
+80002c08: 00353027 fsd ft3,0(a0)
+80002c0c: 00452383 lw t2,4(a0)
+80002c10: 00052503 lw a0,0(a0)
+80002c14: 001015f3 fsflags a1,zero
+80002c18: 00000613 li a2,0
+80002c1c: 26d51a63 bne a0,a3,80002e90 <fail>
+80002c20: 26731863 bne t1,t2,80002e90 <fail>
+80002c24: 26c59663 bne a1,a2,80002e90 <fail>
+
+80002c28 <test_3>:
+80002c28: 00300193 li gp,3
+80002c2c: 00001517 auipc a0,0x1
+80002c30: 3f450513 addi a0,a0,1012 # 80004020 <test_3_data>
+80002c34: 00053007 fld ft0,0(a0)
+80002c38: 00853087 fld ft1,8(a0)
+80002c3c: 01053107 fld ft2,16(a0)
+80002c40: 01852683 lw a3,24(a0)
+80002c44: 01c52303 lw t1,28(a0)
+80002c48: 021071d3 fadd.d ft3,ft0,ft1
+80002c4c: 00353027 fsd ft3,0(a0)
+80002c50: 00452383 lw t2,4(a0)
+80002c54: 00052503 lw a0,0(a0)
+80002c58: 001015f3 fsflags a1,zero
+80002c5c: 00100613 li a2,1
+80002c60: 22d51863 bne a0,a3,80002e90 <fail>
+80002c64: 22731663 bne t1,t2,80002e90 <fail>
+80002c68: 22c59463 bne a1,a2,80002e90 <fail>
+
+80002c6c <test_4>:
+80002c6c: 00400193 li gp,4
+80002c70: 00001517 auipc a0,0x1
+80002c74: 3d050513 addi a0,a0,976 # 80004040 <test_4_data>
+80002c78: 00053007 fld ft0,0(a0)
+80002c7c: 00853087 fld ft1,8(a0)
+80002c80: 01053107 fld ft2,16(a0)
+80002c84: 01852683 lw a3,24(a0)
+80002c88: 01c52303 lw t1,28(a0)
+80002c8c: 021071d3 fadd.d ft3,ft0,ft1
+80002c90: 00353027 fsd ft3,0(a0)
+80002c94: 00452383 lw t2,4(a0)
+80002c98: 00052503 lw a0,0(a0)
+80002c9c: 001015f3 fsflags a1,zero
+80002ca0: 00100613 li a2,1
+80002ca4: 1ed51663 bne a0,a3,80002e90 <fail>
+80002ca8: 1e731463 bne t1,t2,80002e90 <fail>
+80002cac: 1ec59263 bne a1,a2,80002e90 <fail>
+
+80002cb0 <test_5>:
+80002cb0: 00500193 li gp,5
+80002cb4: 00001517 auipc a0,0x1
+80002cb8: 3ac50513 addi a0,a0,940 # 80004060 <test_5_data>
+80002cbc: 00053007 fld ft0,0(a0)
+80002cc0: 00853087 fld ft1,8(a0)
+80002cc4: 01053107 fld ft2,16(a0)
+80002cc8: 01852683 lw a3,24(a0)
+80002ccc: 01c52303 lw t1,28(a0)
+80002cd0: 0a1071d3 fsub.d ft3,ft0,ft1
+80002cd4: 00353027 fsd ft3,0(a0)
+80002cd8: 00452383 lw t2,4(a0)
+80002cdc: 00052503 lw a0,0(a0)
+80002ce0: 001015f3 fsflags a1,zero
+80002ce4: 00000613 li a2,0
+80002ce8: 1ad51463 bne a0,a3,80002e90 <fail>
+80002cec: 1a731263 bne t1,t2,80002e90 <fail>
+80002cf0: 1ac59063 bne a1,a2,80002e90 <fail>
+
+80002cf4 <test_6>:
+80002cf4: 00600193 li gp,6
+80002cf8: 00001517 auipc a0,0x1
+80002cfc: 38850513 addi a0,a0,904 # 80004080 <test_6_data>
+80002d00: 00053007 fld ft0,0(a0)
+80002d04: 00853087 fld ft1,8(a0)
+80002d08: 01053107 fld ft2,16(a0)
+80002d0c: 01852683 lw a3,24(a0)
+80002d10: 01c52303 lw t1,28(a0)
+80002d14: 0a1071d3 fsub.d ft3,ft0,ft1
+80002d18: 00353027 fsd ft3,0(a0)
+80002d1c: 00452383 lw t2,4(a0)
+80002d20: 00052503 lw a0,0(a0)
+80002d24: 001015f3 fsflags a1,zero
+80002d28: 00100613 li a2,1
+80002d2c: 16d51263 bne a0,a3,80002e90 <fail>
+80002d30: 16731063 bne t1,t2,80002e90 <fail>
+80002d34: 14c59e63 bne a1,a2,80002e90 <fail>
+
+80002d38 <test_7>:
+80002d38: 00700193 li gp,7
+80002d3c: 00001517 auipc a0,0x1
+80002d40: 36450513 addi a0,a0,868 # 800040a0 <test_7_data>
+80002d44: 00053007 fld ft0,0(a0)
+80002d48: 00853087 fld ft1,8(a0)
+80002d4c: 01053107 fld ft2,16(a0)
+80002d50: 01852683 lw a3,24(a0)
+80002d54: 01c52303 lw t1,28(a0)
+80002d58: 0a1071d3 fsub.d ft3,ft0,ft1
+80002d5c: 00353027 fsd ft3,0(a0)
+80002d60: 00452383 lw t2,4(a0)
+80002d64: 00052503 lw a0,0(a0)
+80002d68: 001015f3 fsflags a1,zero
+80002d6c: 00100613 li a2,1
+80002d70: 12d51063 bne a0,a3,80002e90 <fail>
+80002d74: 10731e63 bne t1,t2,80002e90 <fail>
+80002d78: 10c59c63 bne a1,a2,80002e90 <fail>
+
+80002d7c <test_8>:
+80002d7c: 00800193 li gp,8
+80002d80: 00001517 auipc a0,0x1
+80002d84: 34050513 addi a0,a0,832 # 800040c0 <test_8_data>
+80002d88: 00053007 fld ft0,0(a0)
+80002d8c: 00853087 fld ft1,8(a0)
+80002d90: 01053107 fld ft2,16(a0)
+80002d94: 01852683 lw a3,24(a0)
+80002d98: 01c52303 lw t1,28(a0)
+80002d9c: 121071d3 fmul.d ft3,ft0,ft1
+80002da0: 00353027 fsd ft3,0(a0)
+80002da4: 00452383 lw t2,4(a0)
+80002da8: 00052503 lw a0,0(a0)
+80002dac: 001015f3 fsflags a1,zero
+80002db0: 00000613 li a2,0
+80002db4: 0cd51e63 bne a0,a3,80002e90 <fail>
+80002db8: 0c731c63 bne t1,t2,80002e90 <fail>
+80002dbc: 0cc59a63 bne a1,a2,80002e90 <fail>
+
+80002dc0 <test_9>:
+80002dc0: 00900193 li gp,9
+80002dc4: 00001517 auipc a0,0x1
+80002dc8: 31c50513 addi a0,a0,796 # 800040e0 <test_9_data>
+80002dcc: 00053007 fld ft0,0(a0)
+80002dd0: 00853087 fld ft1,8(a0)
+80002dd4: 01053107 fld ft2,16(a0)
+80002dd8: 01852683 lw a3,24(a0)
+80002ddc: 01c52303 lw t1,28(a0)
+80002de0: 121071d3 fmul.d ft3,ft0,ft1
+80002de4: 00353027 fsd ft3,0(a0)
+80002de8: 00452383 lw t2,4(a0)
+80002dec: 00052503 lw a0,0(a0)
+80002df0: 001015f3 fsflags a1,zero
+80002df4: 00100613 li a2,1
+80002df8: 08d51c63 bne a0,a3,80002e90 <fail>
+80002dfc: 08731a63 bne t1,t2,80002e90 <fail>
+80002e00: 08c59863 bne a1,a2,80002e90 <fail>
+
+80002e04 <test_10>:
+80002e04: 00a00193 li gp,10
+80002e08: 00001517 auipc a0,0x1
+80002e0c: 2f850513 addi a0,a0,760 # 80004100 <test_10_data>
+80002e10: 00053007 fld ft0,0(a0)
+80002e14: 00853087 fld ft1,8(a0)
+80002e18: 01053107 fld ft2,16(a0)
+80002e1c: 01852683 lw a3,24(a0)
+80002e20: 01c52303 lw t1,28(a0)
+80002e24: 121071d3 fmul.d ft3,ft0,ft1
+80002e28: 00353027 fsd ft3,0(a0)
+80002e2c: 00452383 lw t2,4(a0)
+80002e30: 00052503 lw a0,0(a0)
+80002e34: 001015f3 fsflags a1,zero
+80002e38: 00100613 li a2,1
+80002e3c: 04d51a63 bne a0,a3,80002e90 <fail>
+80002e40: 04731863 bne t1,t2,80002e90 <fail>
+80002e44: 04c59663 bne a1,a2,80002e90 <fail>
+
+80002e48 <test_11>:
+80002e48: 00b00193 li gp,11
+80002e4c: 00001517 auipc a0,0x1
+80002e50: 2d450513 addi a0,a0,724 # 80004120 <test_11_data>
+80002e54: 00053007 fld ft0,0(a0)
+80002e58: 00853087 fld ft1,8(a0)
+80002e5c: 01053107 fld ft2,16(a0)
+80002e60: 01852683 lw a3,24(a0)
+80002e64: 01c52303 lw t1,28(a0)
+80002e68: 0a1071d3 fsub.d ft3,ft0,ft1
+80002e6c: 00353027 fsd ft3,0(a0)
+80002e70: 00452383 lw t2,4(a0)
+80002e74: 00052503 lw a0,0(a0)
+80002e78: 001015f3 fsflags a1,zero
+80002e7c: 01000613 li a2,16
+80002e80: 00d51863 bne a0,a3,80002e90 <fail>
+80002e84: 00731663 bne t1,t2,80002e90 <fail>
+80002e88: 00c59463 bne a1,a2,80002e90 <fail>
+80002e8c: 00301a63 bne zero,gp,80002ea0 <pass>
+
+80002e90 <fail>:
+80002e90: 00119513 slli a0,gp,0x1
+80002e94: 00050063 beqz a0,80002e94 <fail+0x4>
+80002e98: 00156513 ori a0,a0,1
+80002e9c: 00000073 ecall
+
+80002ea0 <pass>:
+80002ea0: 00100513 li a0,1
+80002ea4: 00000073 ecall
+80002ea8: c0001073 unimp
+
+Disassembly of section .data:
+
+80004000 <test_2_data>:
+80004000: 0000 unimp
+80004002: 0000 unimp
+80004004: 0000 unimp
+80004006: 4004 lw s1,0(s0)
+80004008: 0000 unimp
+8000400a: 0000 unimp
+8000400c: 0000 unimp
+8000400e: 3ff0 fld fa2,248(a5)
+80004010: 0000 unimp
+80004012: 0000 unimp
+80004014: 0000 unimp
+80004016: 0000 unimp
+80004018: 0000 unimp
+8000401a: 0000 unimp
+8000401c: 0000 unimp
+8000401e: 400c lw a1,0(s0)
+
+80004020 <test_3_data>:
+80004020: 6666 flw fa2,88(sp)
+80004022: 6666 flw fa2,88(sp)
+80004024: 4c66 lw s8,88(sp)
+80004026: 999ac093 xori ra,s5,-1639
+8000402a: 9999 andi a1,a1,-26
+8000402c: 9999 andi a1,a1,-26
+8000402e: 3ff1 jal 8000400a <test_2_data+0xa>
+80004030: 0000 unimp
+80004032: 0000 unimp
+80004034: 0000 unimp
+80004036: 0000 unimp
+80004038: 0000 unimp
+8000403a: 0000 unimp
+8000403c: 4800 lw s0,16(s0)
+8000403e: xori ra,gp,-689
+
+80004040 <test_4_data>:
+80004040: d4f1 beqz s1,8000400c <test_2_data+0xc>
+80004042: 53c8 lw a0,36(a5)
+80004044: 400921fb 0x400921fb
+80004048: 8c3a mv s8,a4
+8000404a: e230 fsw fa2,64(a2)
+8000404c: 798e flw fs3,224(sp)
+8000404e: 3e45 jal 80003bfe <pass+0xd5e>
+80004050: 0000 unimp
+80004052: 0000 unimp
+80004054: 0000 unimp
+80004056: 0000 unimp
+80004058: 6ddf 5520 21fb 0x21fb55206ddf
+8000405e: 4009 c.li zero,2
+
+80004060 <test_5_data>:
+80004060: 0000 unimp
+80004062: 0000 unimp
+80004064: 0000 unimp
+80004066: 4004 lw s1,0(s0)
+80004068: 0000 unimp
+8000406a: 0000 unimp
+8000406c: 0000 unimp
+8000406e: 3ff0 fld fa2,248(a5)
+80004070: 0000 unimp
+80004072: 0000 unimp
+80004074: 0000 unimp
+80004076: 0000 unimp
+80004078: 0000 unimp
+8000407a: 0000 unimp
+8000407c: 0000 unimp
+8000407e: 3ff8 fld fa4,248(a5)
+
+80004080 <test_6_data>:
+80004080: 6666 flw fa2,88(sp)
+80004082: 6666 flw fa2,88(sp)
+80004084: 4c66 lw s8,88(sp)
+80004086: 999ac093 xori ra,s5,-1639
+8000408a: 9999 andi a1,a1,-26
+8000408c: 9999 andi a1,a1,-26
+8000408e: bff1 j 8000406a <test_5_data+0xa>
+80004090: 0000 unimp
+80004092: 0000 unimp
+80004094: 0000 unimp
+80004096: 0000 unimp
+80004098: 0000 unimp
+8000409a: 0000 unimp
+8000409c: 4800 lw s0,16(s0)
+8000409e: xori ra,gp,-689
+
+800040a0 <test_7_data>:
+800040a0: d4f1 beqz s1,8000406c <test_5_data+0xc>
+800040a2: 53c8 lw a0,36(a5)
+800040a4: 400921fb 0x400921fb
+800040a8: 8c3a mv s8,a4
+800040aa: e230 fsw fa2,64(a2)
+800040ac: 798e flw fs3,224(sp)
+800040ae: 3e45 jal 80003c5e <pass+0xdbe>
+800040b0: 0000 unimp
+800040b2: 0000 unimp
+800040b4: 0000 unimp
+800040b6: 0000 unimp
+800040b8: 52713c03 0x52713c03
+800040bc: 400921fb 0x400921fb
+
+800040c0 <test_8_data>:
+800040c0: 0000 unimp
+800040c2: 0000 unimp
+800040c4: 0000 unimp
+800040c6: 4004 lw s1,0(s0)
+800040c8: 0000 unimp
+800040ca: 0000 unimp
+800040cc: 0000 unimp
+800040ce: 3ff0 fld fa2,248(a5)
+800040d0: 0000 unimp
+800040d2: 0000 unimp
+800040d4: 0000 unimp
+800040d6: 0000 unimp
+800040d8: 0000 unimp
+800040da: 0000 unimp
+800040dc: 0000 unimp
+800040de: 4004 lw s1,0(s0)
+
+800040e0 <test_9_data>:
+800040e0: 6666 flw fa2,88(sp)
+800040e2: 6666 flw fa2,88(sp)
+800040e4: 4c66 lw s8,88(sp)
+800040e6: 999ac093 xori ra,s5,-1639
+800040ea: 9999 andi a1,a1,-26
+800040ec: 9999 andi a1,a1,-26
+800040ee: bff1 j 800040ca <test_8_data+0xa>
+800040f0: 0000 unimp
+800040f2: 0000 unimp
+800040f4: 0000 unimp
+800040f6: 0000 unimp
+800040f8: 0a3d addi s4,s4,15
+800040fa: 3a70a3d7 0x3a70a3d7
+800040fe: 4095 li ra,5
+
+80004100 <test_10_data>:
+80004100: d4f1 beqz s1,800040cc <test_8_data+0xc>
+80004102: 53c8 lw a0,36(a5)
+80004104: 400921fb 0x400921fb
+80004108: 8c3a mv s8,a4
+8000410a: e230 fsw fa2,64(a2)
+8000410c: 798e flw fs3,224(sp)
+8000410e: 3e45 jal 80003cbe <pass+0xe1e>
+80004110: 0000 unimp
+80004112: 0000 unimp
+80004114: 0000 unimp
+80004116: 0000 unimp
+80004118: ff09 bnez a4,80004032 <test_3_data+0x12>
+8000411a: a5c1 j 800047da <begin_signature+0x69a>
+8000411c: ddc5 beqz a1,800040d4 <test_8_data+0x14>
+8000411e: 3e60 fld fs0,248(a2)
+
+80004120 <test_11_data>:
+80004120: 0000 unimp
+80004122: 0000 unimp
+80004124: 0000 unimp
+80004126: 7ff0 flw fa2,124(a5)
+80004128: 0000 unimp
+8000412a: 0000 unimp
+8000412c: 0000 unimp
+8000412e: 7ff0 flw fa2,124(a5)
+80004130: 0000 unimp
+80004132: 0000 unimp
+80004134: 0000 unimp
+80004136: 0000 unimp
+80004138: 0000 unimp
+8000413a: 0000 unimp
+8000413c: 0000 unimp
+8000413e: 7ff8 flw fa4,124(a5)
diff --git a/test/riscv-tests/rv32ud-v-fadd.elf b/test/riscv-tests/rv32ud-v-fadd.elf
new file mode 100644
index 0000000..27a2549
--- /dev/null
+++ b/test/riscv-tests/rv32ud-v-fadd.elf
Binary files differ
diff --git a/test/riscv-tests/rv32ud-v-fclass.dump b/test/riscv-tests/rv32ud-v-fclass.dump
new file mode 100644
index 0000000..3ffa2f4
--- /dev/null
+++ b/test/riscv-tests/rv32ud-v-fclass.dump
@@ -0,0 +1,1064 @@
+
+rv32ud-v-fclass: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 00c0006f j 8000000c <handle_reset>
+
+80000004 <nmi_vector>:
+80000004: 2780206f j 8000227c <wtf>
+
+80000008 <trap_vector>:
+80000008: 2740206f j 8000227c <wtf>
+
+8000000c <handle_reset>:
+8000000c: 00000297 auipc t0,0x0
+80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+80000014: 30529073 csrw mtvec,t0
+80000018: 00007117 auipc sp,0x7
+8000001c: 35010113 addi sp,sp,848 # 80007368 <_end+0xf70>
+80000020: f14022f3 csrr t0,mhartid
+80000024: 00c29293 slli t0,t0,0xc
+80000028: 00510133 add sp,sp,t0
+8000002c: 34011073 csrw mscratch,sp
+80000030: 00003517 auipc a0,0x3
+80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart>
+80000038: 2090206f j 80002a40 <vm_boot>
+
+8000003c <pop_tf>:
+8000003c: 08452283 lw t0,132(a0)
+80000040: 14129073 csrw sepc,t0
+80000044: 00452083 lw ra,4(a0)
+80000048: 00852103 lw sp,8(a0)
+8000004c: 00c52183 lw gp,12(a0)
+80000050: 01052203 lw tp,16(a0)
+80000054: 01452283 lw t0,20(a0)
+80000058: 01852303 lw t1,24(a0)
+8000005c: 01c52383 lw t2,28(a0)
+80000060: 02052403 lw s0,32(a0)
+80000064: 02452483 lw s1,36(a0)
+80000068: 02c52583 lw a1,44(a0)
+8000006c: 03052603 lw a2,48(a0)
+80000070: 03452683 lw a3,52(a0)
+80000074: 03852703 lw a4,56(a0)
+80000078: 03c52783 lw a5,60(a0)
+8000007c: 04052803 lw a6,64(a0)
+80000080: 04452883 lw a7,68(a0)
+80000084: 04852903 lw s2,72(a0)
+80000088: 04c52983 lw s3,76(a0)
+8000008c: 05052a03 lw s4,80(a0)
+80000090: 05452a83 lw s5,84(a0)
+80000094: 05852b03 lw s6,88(a0)
+80000098: 05c52b83 lw s7,92(a0)
+8000009c: 06052c03 lw s8,96(a0)
+800000a0: 06452c83 lw s9,100(a0)
+800000a4: 06852d03 lw s10,104(a0)
+800000a8: 06c52d83 lw s11,108(a0)
+800000ac: 07052e03 lw t3,112(a0)
+800000b0: 07452e83 lw t4,116(a0)
+800000b4: 07852f03 lw t5,120(a0)
+800000b8: 07c52f83 lw t6,124(a0)
+800000bc: 02852503 lw a0,40(a0)
+800000c0: 10200073 sret
+
+800000c4 <trap_entry>:
+800000c4: 14011173 csrrw sp,sscratch,sp
+800000c8: 00112223 sw ra,4(sp)
+800000cc: 00312623 sw gp,12(sp)
+800000d0: 00412823 sw tp,16(sp)
+800000d4: 00512a23 sw t0,20(sp)
+800000d8: 00612c23 sw t1,24(sp)
+800000dc: 00712e23 sw t2,28(sp)
+800000e0: 02812023 sw s0,32(sp)
+800000e4: 02912223 sw s1,36(sp)
+800000e8: 02a12423 sw a0,40(sp)
+800000ec: 02b12623 sw a1,44(sp)
+800000f0: 02c12823 sw a2,48(sp)
+800000f4: 02d12a23 sw a3,52(sp)
+800000f8: 02e12c23 sw a4,56(sp)
+800000fc: 02f12e23 sw a5,60(sp)
+80000100: 05012023 sw a6,64(sp)
+80000104: 05112223 sw a7,68(sp)
+80000108: 05212423 sw s2,72(sp)
+8000010c: 05312623 sw s3,76(sp)
+80000110: 05412823 sw s4,80(sp)
+80000114: 05512a23 sw s5,84(sp)
+80000118: 05612c23 sw s6,88(sp)
+8000011c: 05712e23 sw s7,92(sp)
+80000120: 07812023 sw s8,96(sp)
+80000124: 07912223 sw s9,100(sp)
+80000128: 07a12423 sw s10,104(sp)
+8000012c: 07b12623 sw s11,108(sp)
+80000130: 07c12823 sw t3,112(sp)
+80000134: 07d12a23 sw t4,116(sp)
+80000138: 07e12c23 sw t5,120(sp)
+8000013c: 07f12e23 sw t6,124(sp)
+80000140: 140112f3 csrrw t0,sscratch,sp
+80000144: 00512423 sw t0,8(sp)
+80000148: 100022f3 csrr t0,sstatus
+8000014c: 08512023 sw t0,128(sp)
+80000150: 141022f3 csrr t0,sepc
+80000154: 08512223 sw t0,132(sp)
+80000158: 143022f3 csrr t0,stval
+8000015c: 08512423 sw t0,136(sp)
+80000160: 142022f3 csrr t0,scause
+80000164: 08512623 sw t0,140(sp)
+80000168: 00010513 mv a0,sp
+8000016c: 50c0206f j 80002678 <handle_trap>
+
+Disassembly of section .text:
+
+80002000 <memcpy>:
+80002000: 00c5e7b3 or a5,a1,a2
+80002004: 00f567b3 or a5,a0,a5
+80002008: 0037f793 andi a5,a5,3
+8000200c: 00c506b3 add a3,a0,a2
+80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+80002014: 00c58633 add a2,a1,a2
+80002018: 00050793 mv a5,a0
+8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+80002020: 00158593 addi a1,a1,1
+80002024: fff5c703 lbu a4,-1(a1)
+80002028: 00178793 addi a5,a5,1
+8000202c: fee78fa3 sb a4,-1(a5)
+80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+80002034: 00008067 ret
+80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+8000203c: 00050793 mv a5,a0
+80002040: 00458593 addi a1,a1,4
+80002044: ffc5a703 lw a4,-4(a1)
+80002048: 00478793 addi a5,a5,4
+8000204c: fee7ae23 sw a4,-4(a5)
+80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+80002054: 00008067 ret
+80002058: 00008067 ret
+
+8000205c <memset>:
+8000205c: 00c567b3 or a5,a0,a2
+80002060: 0037f793 andi a5,a5,3
+80002064: 00c50633 add a2,a0,a2
+80002068: 02078063 beqz a5,80002088 <memset+0x2c>
+8000206c: 0ff5f593 andi a1,a1,255
+80002070: 00050793 mv a5,a0
+80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58>
+80002078: 00178793 addi a5,a5,1
+8000207c: feb78fa3 sb a1,-1(a5)
+80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+80002084: 00008067 ret
+80002088: 0ff5f593 andi a1,a1,255
+8000208c: 00859793 slli a5,a1,0x8
+80002090: 00b7e7b3 or a5,a5,a1
+80002094: 01079593 slli a1,a5,0x10
+80002098: 00f5e5b3 or a1,a1,a5
+8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28>
+800020a0: 00050793 mv a5,a0
+800020a4: 00478793 addi a5,a5,4
+800020a8: feb7ae23 sw a1,-4(a5)
+800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48>
+800020b0: 00008067 ret
+800020b4: 00008067 ret
+
+800020b8 <strlen>:
+800020b8: 00054783 lbu a5,0(a0)
+800020bc: 00050713 mv a4,a0
+800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20>
+800020c4: 00150513 addi a0,a0,1
+800020c8: 00054783 lbu a5,0(a0)
+800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc>
+800020d0: 40e50533 sub a0,a0,a4
+800020d4: 00008067 ret
+800020d8: 00000513 li a0,0
+800020dc: 00008067 ret
+
+800020e0 <strcmp>:
+800020e0: 00150513 addi a0,a0,1
+800020e4: fff54783 lbu a5,-1(a0)
+800020e8: 00158593 addi a1,a1,1
+800020ec: fff5c703 lbu a4,-1(a1)
+800020f0: 00078863 beqz a5,80002100 <strcmp+0x20>
+800020f4: fee786e3 beq a5,a4,800020e0 <strcmp>
+800020f8: 40e78533 sub a0,a5,a4
+800020fc: 00008067 ret
+80002100: 00000793 li a5,0
+80002104: ff5ff06f j 800020f8 <strcmp+0x18>
+
+80002108 <memcmp>:
+80002108: 00b567b3 or a5,a0,a1
+8000210c: 0037f793 andi a5,a5,3
+80002110: 04079263 bnez a5,80002154 <memcmp+0x4c>
+80002114: ffc67693 andi a3,a2,-4
+80002118: 00d506b3 add a3,a0,a3
+8000211c: 00050813 mv a6,a0
+80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c>
+80002124: 00052703 lw a4,0(a0)
+80002128: 0005a783 lw a5,0(a1)
+8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38>
+80002130: 0240006f j 80002154 <memcmp+0x4c>
+80002134: 00052703 lw a4,0(a0)
+80002138: 0005a783 lw a5,0(a1)
+8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44>
+80002140: 00450513 addi a0,a0,4
+80002144: 00458593 addi a1,a1,4
+80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c>
+8000214c: 41050833 sub a6,a0,a6
+80002150: 41060633 sub a2,a2,a6
+80002154: 00c58633 add a2,a1,a2
+80002158: 0140006f j 8000216c <memcmp+0x64>
+8000215c: 00158593 addi a1,a1,1
+80002160: fff54783 lbu a5,-1(a0)
+80002164: fff5c703 lbu a4,-1(a1)
+80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74>
+8000216c: 00150513 addi a0,a0,1
+80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54>
+80002174: 00000513 li a0,0
+80002178: 00008067 ret
+8000217c: 40e78533 sub a0,a5,a4
+80002180: 00008067 ret
+
+80002184 <strcpy>:
+80002184: 00050793 mv a5,a0
+80002188: 00158593 addi a1,a1,1
+8000218c: fff5c703 lbu a4,-1(a1)
+80002190: 00178793 addi a5,a5,1
+80002194: fee78fa3 sb a4,-1(a5)
+80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4>
+8000219c: 00008067 ret
+
+800021a0 <atol>:
+800021a0: 00054783 lbu a5,0(a0)
+800021a4: 02000713 li a4,32
+800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18>
+800021ac: 00150513 addi a0,a0,1
+800021b0: 00054783 lbu a5,0(a0)
+800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc>
+800021b8: fd578713 addi a4,a5,-43
+800021bc: 0fd77713 andi a4,a4,253
+800021c0: 04070263 beqz a4,80002204 <atol+0x64>
+800021c4: 00054683 lbu a3,0(a0)
+800021c8: 00050793 mv a5,a0
+800021cc: 00000613 li a2,0
+800021d0: 04068863 beqz a3,80002220 <atol+0x80>
+800021d4: 00000513 li a0,0
+800021d8: 00178793 addi a5,a5,1
+800021dc: fd068593 addi a1,a3,-48
+800021e0: 00251713 slli a4,a0,0x2
+800021e4: 0007c683 lbu a3,0(a5)
+800021e8: 00a70533 add a0,a4,a0
+800021ec: 00151513 slli a0,a0,0x1
+800021f0: 00a58533 add a0,a1,a0
+800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38>
+800021f8: 00060463 beqz a2,80002200 <atol+0x60>
+800021fc: 40a00533 neg a0,a0
+80002200: 00008067 ret
+80002204: 00154683 lbu a3,1(a0)
+80002208: fd378793 addi a5,a5,-45
+8000220c: 0017b613 seqz a2,a5
+80002210: 00150793 addi a5,a0,1
+80002214: fc0690e3 bnez a3,800021d4 <atol+0x34>
+80002218: 00000513 li a0,0
+8000221c: fddff06f j 800021f8 <atol+0x58>
+80002220: 00000513 li a0,0
+80002224: 00008067 ret
+
+80002228 <terminate>:
+80002228: fffff697 auipc a3,0xfffff
+8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost>
+80002230: 0006a703 lw a4,0(a3)
+80002234: 0046a783 lw a5,4(a3)
+80002238: 00050813 mv a6,a0
+8000223c: 41f55893 srai a7,a0,0x1f
+80002240: 00f76733 or a4,a4,a5
+80002244: 02070663 beqz a4,80002270 <terminate+0x48>
+80002248: fffff617 auipc a2,0xfffff
+8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost>
+80002250: 00000713 li a4,0
+80002254: 00e62023 sw a4,0(a2)
+80002258: 00000793 li a5,0
+8000225c: 00f62223 sw a5,4(a2)
+80002260: 0006a703 lw a4,0(a3)
+80002264: 0046a783 lw a5,4(a3)
+80002268: 00f76733 or a4,a4,a5
+8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28>
+80002270: 0106a023 sw a6,0(a3)
+80002274: 0116a223 sw a7,4(a3)
+80002278: 0000006f j 80002278 <terminate+0x50>
+
+8000227c <wtf>:
+8000227c: ff010113 addi sp,sp,-16
+80002280: 34900513 li a0,841
+80002284: 00112623 sw ra,12(sp)
+80002288: fa1ff0ef jal ra,80002228 <terminate>
+
+8000228c <printhex>:
+8000228c: fe010113 addi sp,sp,-32
+80002290: 01b10793 addi a5,sp,27
+80002294: 00b10e93 addi t4,sp,11
+80002298: 00900e13 li t3,9
+8000229c: 00f57693 andi a3,a0,15
+800022a0: 01c59313 slli t1,a1,0x1c
+800022a4: 00455513 srli a0,a0,0x4
+800022a8: 05700613 li a2,87
+800022ac: 0ff6f713 andi a4,a3,255
+800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c>
+800022b4: 03000613 li a2,48
+800022b8: 00c70733 add a4,a4,a2
+800022bc: 00e78023 sb a4,0(a5)
+800022c0: fff78793 addi a5,a5,-1
+800022c4: 00a36533 or a0,t1,a0
+800022c8: 0045d593 srli a1,a1,0x4
+800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10>
+800022d0: 00c14583 lbu a1,12(sp)
+800022d4: 00010e23 sb zero,28(sp)
+800022d8: 06058263 beqz a1,8000233c <printhex+0xb0>
+800022dc: 00c10513 addi a0,sp,12
+800022e0: fffff697 auipc a3,0xfffff
+800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost>
+800022e8: fffff617 auipc a2,0xfffff
+800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost>
+800022f0: 0006a703 lw a4,0(a3)
+800022f4: 0046a783 lw a5,4(a3)
+800022f8: 00058813 mv a6,a1
+800022fc: 00150513 addi a0,a0,1
+80002300: 00f76733 or a4,a4,a5
+80002304: 010108b7 lui a7,0x1010
+80002308: 02070263 beqz a4,8000232c <printhex+0xa0>
+8000230c: 00000713 li a4,0
+80002310: 00e62023 sw a4,0(a2)
+80002314: 00000793 li a5,0
+80002318: 00f62223 sw a5,4(a2)
+8000231c: 0006a703 lw a4,0(a3)
+80002320: 0046a783 lw a5,4(a3)
+80002324: 00f76733 or a4,a4,a5
+80002328: fe0712e3 bnez a4,8000230c <printhex+0x80>
+8000232c: 00054583 lbu a1,0(a0)
+80002330: 0106a023 sw a6,0(a3)
+80002334: 0116a223 sw a7,4(a3)
+80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64>
+8000233c: 02010113 addi sp,sp,32
+80002340: 00008067 ret
+
+80002344 <handle_fault>:
+80002344: ff010113 addi sp,sp,-16
+80002348: fffff6b7 lui a3,0xfffff
+8000234c: 00112623 sw ra,12(sp)
+80002350: 00812423 sw s0,8(sp)
+80002354: 00912223 sw s1,4(sp)
+80002358: 00d50733 add a4,a0,a3
+8000235c: 0003e7b7 lui a5,0x3e
+80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180>
+80002364: 00c55613 srli a2,a0,0xc
+80002368: 40060e13 addi t3,a2,1024
+8000236c: 00002317 auipc t1,0x2
+80002370: c9430313 addi t1,t1,-876 # 80004000 <pt>
+80002374: 002e1793 slli a5,t3,0x2
+80002378: 00f307b3 add a5,t1,a5
+8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000>
+80002380: 00d57533 and a0,a0,a3
+80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130>
+80002388: 00004797 auipc a5,0x4
+8000238c: 06c78793 addi a5,a5,108 # 800063f4 <freelist_head>
+80002390: 0007a583 lw a1,0(a5)
+80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0>
+80002398: 0045a783 lw a5,4(a1)
+8000239c: 00004717 auipc a4,0x4
+800023a0: 05470713 addi a4,a4,84 # 800063f0 <freelist_tail>
+800023a4: 00072703 lw a4,0(a4)
+800023a8: 00004697 auipc a3,0x4
+800023ac: 04f6a623 sw a5,76(a3) # 800063f4 <freelist_head>
+800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174>
+800023b4: 0005a703 lw a4,0(a1)
+800023b8: 002e1793 slli a5,t3,0x2
+800023bc: 00f307b3 add a5,t1,a5
+800023c0: 00c75713 srli a4,a4,0xc
+800023c4: 00a71713 slli a4,a4,0xa
+800023c8: 0df76e93 ori t4,a4,223
+800023cc: 01f76693 ori a3,a4,31
+800023d0: 01d7a023 sw t4,0(a5)
+800023d4: 12050073 sfence.vma a0
+800023d8: 00004717 auipc a4,0x4
+800023dc: e2070713 addi a4,a4,-480 # 800061f8 <user_mapping>
+800023e0: 00361793 slli a5,a2,0x3
+800023e4: 00f707b3 add a5,a4,a5
+800023e8: 0007a703 lw a4,0(a5)
+800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c>
+800023f0: 0005a703 lw a4,0(a1)
+800023f4: 00e7a023 sw a4,0(a5)
+800023f8: 0045a703 lw a4,4(a1)
+800023fc: 00e7a223 sw a4,4(a5)
+80002400: 000407b7 lui a5,0x40
+80002404: 1007a5f3 csrrs a1,sstatus,a5
+80002408: ffc007b7 lui a5,0xffc00
+8000240c: 00f507b3 add a5,a0,a5
+80002410: 00001637 lui a2,0x1
+80002414: 00050713 mv a4,a0
+80002418: 00c78633 add a2,a5,a2
+8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf9c08>
+80002420: 0047ae83 lw t4,4(a5)
+80002424: 0087a883 lw a7,8(a5)
+80002428: 00c7a803 lw a6,12(a5)
+8000242c: 01e72023 sw t5,0(a4)
+80002430: 01d72223 sw t4,4(a4)
+80002434: 01172423 sw a7,8(a4)
+80002438: 01072623 sw a6,12(a4)
+8000243c: 01078793 addi a5,a5,16
+80002440: 01070713 addi a4,a4,16
+80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8>
+80002448: 10059073 csrw sstatus,a1
+8000244c: 002e1e13 slli t3,t3,0x2
+80002450: 01c30333 add t1,t1,t3
+80002454: 00d32023 sw a3,0(t1)
+80002458: 12050073 sfence.vma a0
+8000245c: 0000100f fence.i
+80002460: 00c12083 lw ra,12(sp)
+80002464: 00812403 lw s0,8(sp)
+80002468: 00412483 lw s1,4(sp)
+8000246c: 01010113 addi sp,sp,16
+80002470: 00008067 ret
+80002474: 04077693 andi a3,a4,64
+80002478: 02069263 bnez a3,8000249c <handle_fault+0x158>
+8000247c: 04076713 ori a4,a4,64
+80002480: 00e7a023 sw a4,0(a5)
+80002484: 12050073 sfence.vma a0
+80002488: 00c12083 lw ra,12(sp)
+8000248c: 00812403 lw s0,8(sp)
+80002490: 00412483 lw s1,4(sp)
+80002494: 01010113 addi sp,sp,16
+80002498: 00008067 ret
+8000249c: 08077693 andi a3,a4,128
+800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8>
+800024a4: 00f00693 li a3,15
+800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8>
+800024ac: 08076713 ori a4,a4,128
+800024b0: 00e7a023 sw a4,0(a5)
+800024b4: fd1ff06f j 80002484 <handle_fault+0x140>
+800024b8: 00004797 auipc a5,0x4
+800024bc: f207ac23 sw zero,-200(a5) # 800063f0 <freelist_tail>
+800024c0: ef5ff06f j 800023b4 <handle_fault+0x70>
+800024c4: 04100513 li a0,65
+800024c8: 00001597 auipc a1,0x1
+800024cc: 85458593 addi a1,a1,-1964 # 80002d1c <pass+0xc>
+800024d0: fffff697 auipc a3,0xfffff
+800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost>
+800024d8: fffff617 auipc a2,0xfffff
+800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost>
+800024e0: 0006a703 lw a4,0(a3)
+800024e4: 0046a783 lw a5,4(a3)
+800024e8: 00050313 mv t1,a0
+800024ec: 00158593 addi a1,a1,1
+800024f0: 00f76733 or a4,a4,a5
+800024f4: 010103b7 lui t2,0x1010
+800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8>
+800024fc: 00000793 li a5,0
+80002500: 00f62023 sw a5,0(a2)
+80002504: 00000813 li a6,0
+80002508: 01062223 sw a6,4(a2)
+8000250c: 0006a703 lw a4,0(a3)
+80002510: 0046a783 lw a5,4(a3)
+80002514: 00f76733 or a4,a4,a5
+80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8>
+8000251c: 0005c503 lbu a0,0(a1)
+80002520: 0066a023 sw t1,0(a3)
+80002524: 0076a223 sw t2,4(a3)
+80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c>
+8000252c: 00300513 li a0,3
+80002530: cf9ff0ef jal ra,80002228 <terminate>
+80002534: 04100513 li a0,65
+80002538: 00001597 auipc a1,0x1
+8000253c: 87058593 addi a1,a1,-1936 # 80002da8 <pass+0x98>
+80002540: fffff697 auipc a3,0xfffff
+80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost>
+80002548: fffff617 auipc a2,0xfffff
+8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost>
+80002550: 0006a703 lw a4,0(a3)
+80002554: 0046a783 lw a5,4(a3)
+80002558: 00050f13 mv t5,a0
+8000255c: 00158593 addi a1,a1,1
+80002560: 00f76733 or a4,a4,a5
+80002564: 01010fb7 lui t6,0x1010
+80002568: 02070263 beqz a4,8000258c <handle_fault+0x248>
+8000256c: 00000793 li a5,0
+80002570: 00f62023 sw a5,0(a2)
+80002574: 00000813 li a6,0
+80002578: 01062223 sw a6,4(a2)
+8000257c: 0006a703 lw a4,0(a3)
+80002580: 0046a783 lw a5,4(a3)
+80002584: 00f76733 or a4,a4,a5
+80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228>
+8000258c: 0005c503 lbu a0,0(a1)
+80002590: 01e6a023 sw t5,0(a3)
+80002594: 01f6a223 sw t6,4(a3)
+80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c>
+8000259c: f91ff06f j 8000252c <handle_fault+0x1e8>
+800025a0: 04100513 li a0,65
+800025a4: 00001597 auipc a1,0x1
+800025a8: 81c58593 addi a1,a1,-2020 # 80002dc0 <pass+0xb0>
+800025ac: fffff697 auipc a3,0xfffff
+800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost>
+800025b4: fffff617 auipc a2,0xfffff
+800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost>
+800025bc: 0006a703 lw a4,0(a3)
+800025c0: 0046a783 lw a5,4(a3)
+800025c4: 00050813 mv a6,a0
+800025c8: 00158593 addi a1,a1,1
+800025cc: 00f76733 or a4,a4,a5
+800025d0: 010108b7 lui a7,0x1010
+800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4>
+800025d8: 00000713 li a4,0
+800025dc: 00e62023 sw a4,0(a2)
+800025e0: 00000793 li a5,0
+800025e4: 00f62223 sw a5,4(a2)
+800025e8: 0006a703 lw a4,0(a3)
+800025ec: 0046a783 lw a5,4(a3)
+800025f0: 00f76733 or a4,a4,a5
+800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294>
+800025f8: 0005c503 lbu a0,0(a1)
+800025fc: 0106a023 sw a6,0(a3)
+80002600: 0116a223 sw a7,4(a3)
+80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278>
+80002608: f25ff06f j 8000252c <handle_fault+0x1e8>
+8000260c: 04100793 li a5,65
+80002610: 00000597 auipc a1,0x0
+80002614: 75058593 addi a1,a1,1872 # 80002d60 <pass+0x50>
+80002618: fffff697 auipc a3,0xfffff
+8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost>
+80002620: fffff617 auipc a2,0xfffff
+80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost>
+80002628: 0006a803 lw a6,0(a3)
+8000262c: 0046a883 lw a7,4(a3)
+80002630: 00078413 mv s0,a5
+80002634: 00158593 addi a1,a1,1
+80002638: 01186833 or a6,a6,a7
+8000263c: 010104b7 lui s1,0x1010
+80002640: 02080263 beqz a6,80002664 <handle_fault+0x320>
+80002644: 00000793 li a5,0
+80002648: 00f62023 sw a5,0(a2)
+8000264c: 00000813 li a6,0
+80002650: 01062223 sw a6,4(a2)
+80002654: 0006a703 lw a4,0(a3)
+80002658: 0046a783 lw a5,4(a3)
+8000265c: 00f76733 or a4,a4,a5
+80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300>
+80002664: 0005c783 lbu a5,0(a1)
+80002668: 0086a023 sw s0,0(a3)
+8000266c: 0096a223 sw s1,4(a3)
+80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4>
+80002674: eb9ff06f j 8000252c <handle_fault+0x1e8>
+
+80002678 <handle_trap>:
+80002678: 08c52583 lw a1,140(a0)
+8000267c: fb010113 addi sp,sp,-80
+80002680: 03412c23 sw s4,56(sp)
+80002684: 04112623 sw ra,76(sp)
+80002688: 04812423 sw s0,72(sp)
+8000268c: 04912223 sw s1,68(sp)
+80002690: 05212023 sw s2,64(sp)
+80002694: 03312e23 sw s3,60(sp)
+80002698: 03512a23 sw s5,52(sp)
+8000269c: 03612823 sw s6,48(sp)
+800026a0: 03712623 sw s7,44(sp)
+800026a4: 03812423 sw s8,40(sp)
+800026a8: 03912223 sw s9,36(sp)
+800026ac: 03a12023 sw s10,32(sp)
+800026b0: 01b12e23 sw s11,28(sp)
+800026b4: 00800793 li a5,8
+800026b8: 00050a13 mv s4,a0
+800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0>
+800026c0: 00200793 li a5,2
+800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac>
+800026c8: ff458793 addi a5,a1,-12
+800026cc: 00100713 li a4,1
+800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64>
+800026d4: 00f00793 li a5,15
+800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294>
+800026dc: 088a2503 lw a0,136(s4)
+800026e0: c65ff0ef jal ra,80002344 <handle_fault>
+800026e4: 04812403 lw s0,72(sp)
+800026e8: 04c12083 lw ra,76(sp)
+800026ec: 04412483 lw s1,68(sp)
+800026f0: 04012903 lw s2,64(sp)
+800026f4: 03c12983 lw s3,60(sp)
+800026f8: 03412a83 lw s5,52(sp)
+800026fc: 03012b03 lw s6,48(sp)
+80002700: 02c12b83 lw s7,44(sp)
+80002704: 02812c03 lw s8,40(sp)
+80002708: 02412c83 lw s9,36(sp)
+8000270c: 02012d03 lw s10,32(sp)
+80002710: 01c12d83 lw s11,28(sp)
+80002714: 000a0513 mv a0,s4
+80002718: 03812a03 lw s4,56(sp)
+8000271c: 05010113 addi sp,sp,80
+80002720: 91dfd06f j 8000003c <pop_tf>
+80002724: 08452703 lw a4,132(a0)
+80002728: 00377793 andi a5,a4,3
+8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144>
+80002730: 008007ef jal a5,80002738 <handle_trap+0xc0>
+80002734: 00301073 fssr zero
+80002738: 00072703 lw a4,0(a4)
+8000273c: 0007a783 lw a5,0(a5)
+80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c>
+80002744: 04100513 li a0,65
+80002748: 00000597 auipc a1,0x0
+8000274c: 74058593 addi a1,a1,1856 # 80002e88 <pass+0x178>
+80002750: fffff697 auipc a3,0xfffff
+80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost>
+80002758: fffff617 auipc a2,0xfffff
+8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost>
+80002760: 0006a703 lw a4,0(a3)
+80002764: 0046a783 lw a5,4(a3)
+80002768: 00050813 mv a6,a0
+8000276c: 00158593 addi a1,a1,1
+80002770: 00f76733 or a4,a4,a5
+80002774: 010108b7 lui a7,0x1010
+80002778: 02070263 beqz a4,8000279c <handle_trap+0x124>
+8000277c: 00000713 li a4,0
+80002780: 00e62023 sw a4,0(a2)
+80002784: 00000793 li a5,0
+80002788: 00f62223 sw a5,4(a2)
+8000278c: 0006a703 lw a4,0(a3)
+80002790: 0046a783 lw a5,4(a3)
+80002794: 00f76733 or a4,a4,a5
+80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104>
+8000279c: 0005c503 lbu a0,0(a1)
+800027a0: 0106a023 sw a6,0(a3)
+800027a4: 0116a223 sw a7,4(a3)
+800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8>
+800027ac: 00300513 li a0,3
+800027b0: a79ff0ef jal ra,80002228 <terminate>
+800027b4: 00100513 li a0,1
+800027b8: a71ff0ef jal ra,80002228 <terminate>
+800027bc: 00000597 auipc a1,0x0
+800027c0: 6a858593 addi a1,a1,1704 # 80002e64 <pass+0x154>
+800027c4: 04100613 li a2,65
+800027c8: fffff697 auipc a3,0xfffff
+800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost>
+800027d0: fffff517 auipc a0,0xfffff
+800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost>
+800027d8: 0006a703 lw a4,0(a3)
+800027dc: 0046a783 lw a5,4(a3)
+800027e0: 00060e13 mv t3,a2
+800027e4: 00158593 addi a1,a1,1
+800027e8: 00f76733 or a4,a4,a5
+800027ec: 01010eb7 lui t4,0x1010
+800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c>
+800027f4: 00000793 li a5,0
+800027f8: 00f52023 sw a5,0(a0)
+800027fc: 00000813 li a6,0
+80002800: 01052223 sw a6,4(a0)
+80002804: 0006a703 lw a4,0(a3)
+80002808: 0046a783 lw a5,4(a3)
+8000280c: 00f76733 or a4,a4,a5
+80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c>
+80002814: 0005c603 lbu a2,0(a1)
+80002818: 01c6a023 sw t3,0(a3)
+8000281c: 01d6a223 sw t4,4(a3)
+80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160>
+80002824: f89ff06f j 800027ac <handle_trap+0x134>
+80002828: 02852783 lw a5,40(a0)
+8000282c: 00001a37 lui s4,0x1
+80002830: 00004b17 auipc s6,0x4
+80002834: 9c8b0b13 addi s6,s6,-1592 # 800061f8 <user_mapping>
+80002838: 00f12223 sw a5,4(sp)
+8000283c: 00001d17 auipc s10,0x1
+80002840: 7c4d0d13 addi s10,s10,1988 # 80004000 <pt>
+80002844: 00040cb7 lui s9,0x40
+80002848: ffc00c37 lui s8,0xffc00
+8000284c: 0003fab7 lui s5,0x3f
+80002850: 01c0006f j 8000286c <handle_trap+0x1f4>
+80002854: 00f72223 sw a5,4(a4)
+80002858: 00004717 auipc a4,0x4
+8000285c: b8f72c23 sw a5,-1128(a4) # 800063f0 <freelist_tail>
+80002860: 000017b7 lui a5,0x1
+80002864: 00fa0a33 add s4,s4,a5
+80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398>
+8000286c: 00ca5713 srli a4,s4,0xc
+80002870: 00371b93 slli s7,a4,0x3
+80002874: 017b0633 add a2,s6,s7
+80002878: 00062603 lw a2,0(a2)
+8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8>
+80002880: 40070713 addi a4,a4,1024
+80002884: 00271713 slli a4,a4,0x2
+80002888: 00ed0733 add a4,s10,a4
+8000288c: 00072703 lw a4,0(a4)
+80002890: 04077613 andi a2,a4,64
+80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c>
+80002898: 00e12623 sw a4,12(sp)
+8000289c: 100cadf3 csrrs s11,sstatus,s9
+800028a0: 018a0833 add a6,s4,s8
+800028a4: 00001637 lui a2,0x1
+800028a8: 00080593 mv a1,a6
+800028ac: 000a0513 mv a0,s4
+800028b0: 01012423 sw a6,8(sp)
+800028b4: 855ff0ef jal ra,80002108 <memcmp>
+800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264>
+800028bc: 00c12703 lw a4,12(sp)
+800028c0: 00812803 lw a6,8(sp)
+800028c4: 08077713 andi a4,a4,128
+800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300>
+800028cc: 00001637 lui a2,0x1
+800028d0: 00080593 mv a1,a6
+800028d4: 000a0513 mv a0,s4
+800028d8: f28ff0ef jal ra,80002000 <memcpy>
+800028dc: 017b07b3 add a5,s6,s7
+800028e0: 100d9073 csrw sstatus,s11
+800028e4: 00004717 auipc a4,0x4
+800028e8: b0c70713 addi a4,a4,-1268 # 800063f0 <freelist_tail>
+800028ec: 00072703 lw a4,0(a4)
+800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000>
+800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc>
+800028f8: 00004717 auipc a4,0x4
+800028fc: aef72c23 sw a5,-1288(a4) # 800063f0 <freelist_tail>
+80002900: 00004717 auipc a4,0x4
+80002904: aef72a23 sw a5,-1292(a4) # 800063f4 <freelist_head>
+80002908: f59ff06f j 80002860 <handle_trap+0x1e8>
+8000290c: 04100593 li a1,65
+80002910: 00000617 auipc a2,0x0
+80002914: 5a460613 addi a2,a2,1444 # 80002eb4 <pass+0x1a4>
+80002918: ffffe697 auipc a3,0xffffe
+8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost>
+80002920: ffffe517 auipc a0,0xffffe
+80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost>
+80002928: 0006a703 lw a4,0(a3)
+8000292c: 0046a783 lw a5,4(a3)
+80002930: 00058313 mv t1,a1
+80002934: 00160613 addi a2,a2,1
+80002938: 00f76733 or a4,a4,a5
+8000293c: 010103b7 lui t2,0x1010
+80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec>
+80002944: 00000793 li a5,0
+80002948: 00f52023 sw a5,0(a0)
+8000294c: 00000813 li a6,0
+80002950: 01052223 sw a6,4(a0)
+80002954: 0006a703 lw a4,0(a3)
+80002958: 0046a783 lw a5,4(a3)
+8000295c: 00f76733 or a4,a4,a5
+80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc>
+80002964: 00064583 lbu a1,0(a2)
+80002968: 0066a023 sw t1,0(a3)
+8000296c: 0076a223 sw t2,4(a3)
+80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0>
+80002974: e39ff06f j 800027ac <handle_trap+0x134>
+80002978: 04100793 li a5,65
+8000297c: 00000617 auipc a2,0x0
+80002980: 4b460613 addi a2,a2,1204 # 80002e30 <pass+0x120>
+80002984: ffffe697 auipc a3,0xffffe
+80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost>
+8000298c: ffffe597 auipc a1,0xffffe
+80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost>
+80002994: 00078413 mv s0,a5
+80002998: 00160613 addi a2,a2,1
+8000299c: 010104b7 lui s1,0x1010
+800029a0: 0006a703 lw a4,0(a3)
+800029a4: 0046a783 lw a5,4(a3)
+800029a8: 00f76733 or a4,a4,a5
+800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0>
+800029b0: 00000793 li a5,0
+800029b4: 00000813 li a6,0
+800029b8: 00f5a023 sw a5,0(a1)
+800029bc: 0105a223 sw a6,4(a1)
+800029c0: fe1ff06f j 800029a0 <handle_trap+0x328>
+800029c4: 04100793 li a5,65
+800029c8: 00000617 auipc a2,0x0
+800029cc: 43460613 addi a2,a2,1076 # 80002dfc <pass+0xec>
+800029d0: ffffe697 auipc a3,0xffffe
+800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost>
+800029d8: ffffe597 auipc a1,0xffffe
+800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost>
+800029e0: 00078913 mv s2,a5
+800029e4: 00160613 addi a2,a2,1
+800029e8: 010109b7 lui s3,0x1010
+800029ec: 0006a703 lw a4,0(a3)
+800029f0: 0046a783 lw a5,4(a3)
+800029f4: 00f76733 or a4,a4,a5
+800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4>
+800029fc: 00000793 li a5,0
+80002a00: 00000813 li a6,0
+80002a04: 00f5a023 sw a5,0(a1)
+80002a08: 0105a223 sw a6,4(a1)
+80002a0c: fe1ff06f j 800029ec <handle_trap+0x374>
+80002a10: 00412503 lw a0,4(sp)
+80002a14: 815ff0ef jal ra,80002228 <terminate>
+80002a18: 00064783 lbu a5,0(a2)
+80002a1c: 0086a023 sw s0,0(a3)
+80002a20: 0096a223 sw s1,4(a3)
+80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c>
+80002a28: d85ff06f j 800027ac <handle_trap+0x134>
+80002a2c: 00064783 lbu a5,0(a2)
+80002a30: 0126a023 sw s2,0(a3)
+80002a34: 0136a223 sw s3,4(a3)
+80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368>
+80002a3c: d71ff06f j 800027ac <handle_trap+0x134>
+
+80002a40 <vm_boot>:
+80002a40: f14027f3 csrr a5,mhartid
+80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158>
+80002a48: 00002797 auipc a5,0x2
+80002a4c: 5b878793 addi a5,a5,1464 # 80005000 <pt+0x1000>
+80002a50: 00c7d793 srli a5,a5,0xc
+80002a54: 00a79793 slli a5,a5,0xa
+80002a58: 0017e793 ori a5,a5,1
+80002a5c: 00001697 auipc a3,0x1
+80002a60: 5af6a223 sw a5,1444(a3) # 80004000 <pt>
+80002a64: 200007b7 lui a5,0x20000
+80002a68: 00001717 auipc a4,0x1
+80002a6c: 59870713 addi a4,a4,1432 # 80004000 <pt>
+80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31>
+80002a74: f6010113 addi sp,sp,-160
+80002a78: 00002697 auipc a3,0x2
+80002a7c: 58f6a223 sw a5,1412(a3) # 80004ffc <pt+0xffc>
+80002a80: 00c75793 srli a5,a4,0xc
+80002a84: 80000737 lui a4,0x80000
+80002a88: 08112e23 sw ra,156(sp)
+80002a8c: 08812c23 sw s0,152(sp)
+80002a90: 00e7e7b3 or a5,a5,a4
+80002a94: 18079073 csrw satp,a5
+80002a98: 01f00793 li a5,31
+80002a9c: fff00713 li a4,-1
+80002aa0: 00000297 auipc t0,0x0
+80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74>
+80002aa8: 305292f3 csrrw t0,mtvec,t0
+80002aac: 3b071073 csrw pmpaddr0,a4
+80002ab0: 3a079073 csrw pmpcfg0,a5
+80002ab4: 7fbfd797 auipc a5,0x7fbfd
+80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf9ccc>
+80002abc: 10579073 csrw stvec,a5
+80002ac0: 340027f3 csrr a5,mscratch
+80002ac4: 7fc00837 lui a6,0x7fc00
+80002ac8: 010787b3 add a5,a5,a6
+80002acc: 14079073 csrw sscratch,a5
+80002ad0: 0000b7b7 lui a5,0xb
+80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00>
+80002ad8: 30279073 csrw medeleg,a5
+80002adc: 0001e7b7 lui a5,0x1e
+80002ae0: 30079073 csrw mstatus,a5
+80002ae4: 30405073 csrwi mie,0
+80002ae8: 7fc03797 auipc a5,0x7fc03
+80002aec: 51878793 addi a5,a5,1304 # ffc06000 <_end+0x7fbffc08>
+80002af0: 00004717 auipc a4,0x4
+80002af4: 90f72223 sw a5,-1788(a4) # 800063f4 <freelist_head>
+80002af8: 7fc03797 auipc a5,0x7fc03
+80002afc: 6f878793 addi a5,a5,1784 # ffc061f0 <_end+0x7fbffdf8>
+80002b00: 00004717 auipc a4,0x4
+80002b04: 8ef72823 sw a5,-1808(a4) # 800063f0 <freelist_tail>
+80002b08: 000808b7 lui a7,0x80
+80002b0c: 00003717 auipc a4,0x3
+80002b10: 4f470713 addi a4,a4,1268 # 80006000 <freelist_nodes>
+80002b14: 00003317 auipc t1,0x3
+80002b18: 6e430313 addi t1,t1,1764 # 800061f8 <user_mapping>
+80002b1c: 01b00793 li a5,27
+80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1>
+80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8>
+80002b28: 0017d613 srli a2,a5,0x1
+80002b2c: 011786b3 add a3,a5,a7
+80002b30: 00f647b3 xor a5,a2,a5
+80002b34: 010705b3 add a1,a4,a6
+80002b38: 00c69693 slli a3,a3,0xc
+80002b3c: 00579793 slli a5,a5,0x5
+80002b40: 00d72023 sw a3,0(a4)
+80002b44: 00b72223 sw a1,4(a4)
+80002b48: 0207f793 andi a5,a5,32
+80002b4c: 00870713 addi a4,a4,8
+80002b50: 00f667b3 or a5,a2,a5
+80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8>
+80002b58: 00050413 mv s0,a0
+80002b5c: 09000613 li a2,144
+80002b60: 00000593 li a1,0
+80002b64: 00010513 mv a0,sp
+80002b68: 00003797 auipc a5,0x3
+80002b6c: 6807a623 sw zero,1676(a5) # 800061f4 <freelist_nodes+0x1f4>
+80002b70: cecff0ef jal ra,8000205c <memset>
+80002b74: 800007b7 lui a5,0x80000
+80002b78: 00f40433 add s0,s0,a5
+80002b7c: 00010513 mv a0,sp
+80002b80: 08812223 sw s0,132(sp)
+80002b84: cb8fd0ef jal ra,8000003c <pop_tf>
+80002b88: 09c12083 lw ra,156(sp)
+80002b8c: 09812403 lw s0,152(sp)
+80002b90: 0a010113 addi sp,sp,160
+80002b94: 00008067 ret
+80002b98: 05d877b7 lui a5,0x5d87
+80002b9c: 00080637 lui a2,0x80
+80002ba0: 67d78793 addi a5,a5,1661 # 5d8767d <_start-0x7a278983>
+80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004>
+80002ba8: 800005b7 lui a1,0x80000
+80002bac: 00c7f733 and a4,a5,a2
+80002bb0: 0017f693 andi a3,a5,1
+80002bb4: 00b70733 add a4,a4,a1
+80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194>
+80002bbc: 0007202f amoadd.w zero,zero,(a4)
+80002bc0: 0017d793 srli a5,a5,0x1
+80002bc4: 00c7f733 and a4,a5,a2
+80002bc8: 0017f693 andi a3,a5,1
+80002bcc: 00b70733 add a4,a4,a1
+80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c>
+80002bd4: 00072003 lw zero,0(a4)
+80002bd8: 0017d793 srli a5,a5,0x1
+80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184>
+
+80002be0 <userstart>:
+80002be0: 00301073 fssr zero
+
+80002be4 <test_2>:
+80002be4: 00000517 auipc a0,0x0
+80002be8: 41c50513 addi a0,a0,1052 # 80003000 <test_2_data>
+80002bec: 00053507 fld fa0,0(a0)
+80002bf0: e2051553 fclass.d a0,fa0
+80002bf4: 00100e93 li t4,1
+80002bf8: 00200193 li gp,2
+80002bfc: 11d51263 bne a0,t4,80002d00 <fail>
+
+80002c00 <test_3>:
+80002c00: 00000517 auipc a0,0x0
+80002c04: 40850513 addi a0,a0,1032 # 80003008 <test_3_data>
+80002c08: 00053507 fld fa0,0(a0)
+80002c0c: e2051553 fclass.d a0,fa0
+80002c10: 00200e93 li t4,2
+80002c14: 00300193 li gp,3
+80002c18: 0fd51463 bne a0,t4,80002d00 <fail>
+
+80002c1c <test_4>:
+80002c1c: 00000517 auipc a0,0x0
+80002c20: 3f450513 addi a0,a0,1012 # 80003010 <test_4_data>
+80002c24: 00053507 fld fa0,0(a0)
+80002c28: e2051553 fclass.d a0,fa0
+80002c2c: 00400e93 li t4,4
+80002c30: 00400193 li gp,4
+80002c34: 0dd51663 bne a0,t4,80002d00 <fail>
+
+80002c38 <test_5>:
+80002c38: 00000517 auipc a0,0x0
+80002c3c: 3e050513 addi a0,a0,992 # 80003018 <test_5_data>
+80002c40: 00053507 fld fa0,0(a0)
+80002c44: e2051553 fclass.d a0,fa0
+80002c48: 00800e93 li t4,8
+80002c4c: 00500193 li gp,5
+80002c50: 0bd51863 bne a0,t4,80002d00 <fail>
+
+80002c54 <test_6>:
+80002c54: 00000517 auipc a0,0x0
+80002c58: 3cc50513 addi a0,a0,972 # 80003020 <test_6_data>
+80002c5c: 00053507 fld fa0,0(a0)
+80002c60: e2051553 fclass.d a0,fa0
+80002c64: 01000e93 li t4,16
+80002c68: 00600193 li gp,6
+80002c6c: 09d51a63 bne a0,t4,80002d00 <fail>
+
+80002c70 <test_7>:
+80002c70: 00000517 auipc a0,0x0
+80002c74: 3b850513 addi a0,a0,952 # 80003028 <test_7_data>
+80002c78: 00053507 fld fa0,0(a0)
+80002c7c: e2051553 fclass.d a0,fa0
+80002c80: 02000e93 li t4,32
+80002c84: 00700193 li gp,7
+80002c88: 07d51c63 bne a0,t4,80002d00 <fail>
+
+80002c8c <test_8>:
+80002c8c: 00000517 auipc a0,0x0
+80002c90: 3a450513 addi a0,a0,932 # 80003030 <test_8_data>
+80002c94: 00053507 fld fa0,0(a0)
+80002c98: e2051553 fclass.d a0,fa0
+80002c9c: 04000e93 li t4,64
+80002ca0: 00800193 li gp,8
+80002ca4: 05d51e63 bne a0,t4,80002d00 <fail>
+
+80002ca8 <test_9>:
+80002ca8: 00000517 auipc a0,0x0
+80002cac: 39050513 addi a0,a0,912 # 80003038 <test_9_data>
+80002cb0: 00053507 fld fa0,0(a0)
+80002cb4: e2051553 fclass.d a0,fa0
+80002cb8: 08000e93 li t4,128
+80002cbc: 00900193 li gp,9
+80002cc0: 05d51063 bne a0,t4,80002d00 <fail>
+
+80002cc4 <test_10>:
+80002cc4: 00000517 auipc a0,0x0
+80002cc8: 37c50513 addi a0,a0,892 # 80003040 <test_10_data>
+80002ccc: 00053507 fld fa0,0(a0)
+80002cd0: e2051553 fclass.d a0,fa0
+80002cd4: 10000e93 li t4,256
+80002cd8: 00a00193 li gp,10
+80002cdc: 03d51263 bne a0,t4,80002d00 <fail>
+
+80002ce0 <test_11>:
+80002ce0: 00000517 auipc a0,0x0
+80002ce4: 36850513 addi a0,a0,872 # 80003048 <test_11_data>
+80002ce8: 00053507 fld fa0,0(a0)
+80002cec: e2051553 fclass.d a0,fa0
+80002cf0: 20000e93 li t4,512
+80002cf4: 00b00193 li gp,11
+80002cf8: 01d51463 bne a0,t4,80002d00 <fail>
+80002cfc: 00301a63 bne zero,gp,80002d10 <pass>
+
+80002d00 <fail>:
+80002d00: 00119513 slli a0,gp,0x1
+80002d04: 00050063 beqz a0,80002d04 <fail+0x4>
+80002d08: 00156513 ori a0,a0,1
+80002d0c: 00000073 ecall
+
+80002d10 <pass>:
+80002d10: 00100513 li a0,1
+80002d14: 00000073 ecall
+80002d18: c0001073 unimp
+
+Disassembly of section .data:
+
+80003000 <test_2_data>:
+80003000: 0000 unimp
+80003002: 0000 unimp
+80003004: 0000 unimp
+80003006: fff0 fsw fa2,124(a5)
+
+80003008 <test_3_data>:
+80003008: 0000 unimp
+8000300a: 0000 unimp
+8000300c: 0000 unimp
+8000300e: bff0 fsd fa2,248(a5)
+
+80003010 <test_4_data>:
+80003010: ffff 0xffff
+80003012: ffff 0xffff
+80003014: ffff 0xffff
+80003016: 0x800f
+
+80003018 <test_5_data>:
+80003018: 0000 unimp
+8000301a: 0000 unimp
+8000301c: 0000 unimp
+8000301e: 8000 0x8000
+
+80003020 <test_6_data>:
+80003020: 0000 unimp
+80003022: 0000 unimp
+80003024: 0000 unimp
+80003026: 0000 unimp
+
+80003028 <test_7_data>:
+80003028: ffff 0xffff
+8000302a: ffff 0xffff
+8000302c: ffff 0xffff
+8000302e: fence unknown,unknown
+
+80003030 <test_8_data>:
+80003030: 0000 unimp
+80003032: 0000 unimp
+80003034: 0000 unimp
+80003036: 3ff0 fld fa2,248(a5)
+
+80003038 <test_9_data>:
+80003038: 0000 unimp
+8000303a: 0000 unimp
+8000303c: 0000 unimp
+8000303e: 7ff0 flw fa2,124(a5)
+
+80003040 <test_10_data>:
+80003040: 0001 nop
+80003042: 0000 unimp
+80003044: 0000 unimp
+80003046: 7ff0 flw fa2,124(a5)
+
+80003048 <test_11_data>:
+80003048: 0000 unimp
+8000304a: 0000 unimp
+8000304c: 0000 unimp
+8000304e: 7ff8 flw fa4,124(a5)
diff --git a/test/riscv-tests/rv32ud-v-fclass.elf b/test/riscv-tests/rv32ud-v-fclass.elf
new file mode 100644
index 0000000..31800e6
--- /dev/null
+++ b/test/riscv-tests/rv32ud-v-fclass.elf
Binary files differ
diff --git a/test/riscv-tests/rv32ud-v-fcmp.dump b/test/riscv-tests/rv32ud-v-fcmp.dump
new file mode 100644
index 0000000..0cfaa35
--- /dev/null
+++ b/test/riscv-tests/rv32ud-v-fcmp.dump
@@ -0,0 +1,1421 @@
+
+rv32ud-v-fcmp: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 00c0006f j 8000000c <handle_reset>
+
+80000004 <nmi_vector>:
+80000004: 2780206f j 8000227c <wtf>
+
+80000008 <trap_vector>:
+80000008: 2740206f j 8000227c <wtf>
+
+8000000c <handle_reset>:
+8000000c: 00000297 auipc t0,0x0
+80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+80000014: 30529073 csrw mtvec,t0
+80000018: 00008117 auipc sp,0x8
+8000001c: 35010113 addi sp,sp,848 # 80008368 <_end+0xf70>
+80000020: f14022f3 csrr t0,mhartid
+80000024: 00c29293 slli t0,t0,0xc
+80000028: 00510133 add sp,sp,t0
+8000002c: 34011073 csrw mscratch,sp
+80000030: 00003517 auipc a0,0x3
+80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart>
+80000038: 2090206f j 80002a40 <vm_boot>
+
+8000003c <pop_tf>:
+8000003c: 08452283 lw t0,132(a0)
+80000040: 14129073 csrw sepc,t0
+80000044: 00452083 lw ra,4(a0)
+80000048: 00852103 lw sp,8(a0)
+8000004c: 00c52183 lw gp,12(a0)
+80000050: 01052203 lw tp,16(a0)
+80000054: 01452283 lw t0,20(a0)
+80000058: 01852303 lw t1,24(a0)
+8000005c: 01c52383 lw t2,28(a0)
+80000060: 02052403 lw s0,32(a0)
+80000064: 02452483 lw s1,36(a0)
+80000068: 02c52583 lw a1,44(a0)
+8000006c: 03052603 lw a2,48(a0)
+80000070: 03452683 lw a3,52(a0)
+80000074: 03852703 lw a4,56(a0)
+80000078: 03c52783 lw a5,60(a0)
+8000007c: 04052803 lw a6,64(a0)
+80000080: 04452883 lw a7,68(a0)
+80000084: 04852903 lw s2,72(a0)
+80000088: 04c52983 lw s3,76(a0)
+8000008c: 05052a03 lw s4,80(a0)
+80000090: 05452a83 lw s5,84(a0)
+80000094: 05852b03 lw s6,88(a0)
+80000098: 05c52b83 lw s7,92(a0)
+8000009c: 06052c03 lw s8,96(a0)
+800000a0: 06452c83 lw s9,100(a0)
+800000a4: 06852d03 lw s10,104(a0)
+800000a8: 06c52d83 lw s11,108(a0)
+800000ac: 07052e03 lw t3,112(a0)
+800000b0: 07452e83 lw t4,116(a0)
+800000b4: 07852f03 lw t5,120(a0)
+800000b8: 07c52f83 lw t6,124(a0)
+800000bc: 02852503 lw a0,40(a0)
+800000c0: 10200073 sret
+
+800000c4 <trap_entry>:
+800000c4: 14011173 csrrw sp,sscratch,sp
+800000c8: 00112223 sw ra,4(sp)
+800000cc: 00312623 sw gp,12(sp)
+800000d0: 00412823 sw tp,16(sp)
+800000d4: 00512a23 sw t0,20(sp)
+800000d8: 00612c23 sw t1,24(sp)
+800000dc: 00712e23 sw t2,28(sp)
+800000e0: 02812023 sw s0,32(sp)
+800000e4: 02912223 sw s1,36(sp)
+800000e8: 02a12423 sw a0,40(sp)
+800000ec: 02b12623 sw a1,44(sp)
+800000f0: 02c12823 sw a2,48(sp)
+800000f4: 02d12a23 sw a3,52(sp)
+800000f8: 02e12c23 sw a4,56(sp)
+800000fc: 02f12e23 sw a5,60(sp)
+80000100: 05012023 sw a6,64(sp)
+80000104: 05112223 sw a7,68(sp)
+80000108: 05212423 sw s2,72(sp)
+8000010c: 05312623 sw s3,76(sp)
+80000110: 05412823 sw s4,80(sp)
+80000114: 05512a23 sw s5,84(sp)
+80000118: 05612c23 sw s6,88(sp)
+8000011c: 05712e23 sw s7,92(sp)
+80000120: 07812023 sw s8,96(sp)
+80000124: 07912223 sw s9,100(sp)
+80000128: 07a12423 sw s10,104(sp)
+8000012c: 07b12623 sw s11,108(sp)
+80000130: 07c12823 sw t3,112(sp)
+80000134: 07d12a23 sw t4,116(sp)
+80000138: 07e12c23 sw t5,120(sp)
+8000013c: 07f12e23 sw t6,124(sp)
+80000140: 140112f3 csrrw t0,sscratch,sp
+80000144: 00512423 sw t0,8(sp)
+80000148: 100022f3 csrr t0,sstatus
+8000014c: 08512023 sw t0,128(sp)
+80000150: 141022f3 csrr t0,sepc
+80000154: 08512223 sw t0,132(sp)
+80000158: 143022f3 csrr t0,stval
+8000015c: 08512423 sw t0,136(sp)
+80000160: 142022f3 csrr t0,scause
+80000164: 08512623 sw t0,140(sp)
+80000168: 00010513 mv a0,sp
+8000016c: 50c0206f j 80002678 <handle_trap>
+
+Disassembly of section .text:
+
+80002000 <memcpy>:
+80002000: 00c5e7b3 or a5,a1,a2
+80002004: 00f567b3 or a5,a0,a5
+80002008: 0037f793 andi a5,a5,3
+8000200c: 00c506b3 add a3,a0,a2
+80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+80002014: 00c58633 add a2,a1,a2
+80002018: 00050793 mv a5,a0
+8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+80002020: 00158593 addi a1,a1,1
+80002024: fff5c703 lbu a4,-1(a1)
+80002028: 00178793 addi a5,a5,1
+8000202c: fee78fa3 sb a4,-1(a5)
+80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+80002034: 00008067 ret
+80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+8000203c: 00050793 mv a5,a0
+80002040: 00458593 addi a1,a1,4
+80002044: ffc5a703 lw a4,-4(a1)
+80002048: 00478793 addi a5,a5,4
+8000204c: fee7ae23 sw a4,-4(a5)
+80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+80002054: 00008067 ret
+80002058: 00008067 ret
+
+8000205c <memset>:
+8000205c: 00c567b3 or a5,a0,a2
+80002060: 0037f793 andi a5,a5,3
+80002064: 00c50633 add a2,a0,a2
+80002068: 02078063 beqz a5,80002088 <memset+0x2c>
+8000206c: 0ff5f593 andi a1,a1,255
+80002070: 00050793 mv a5,a0
+80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58>
+80002078: 00178793 addi a5,a5,1
+8000207c: feb78fa3 sb a1,-1(a5)
+80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+80002084: 00008067 ret
+80002088: 0ff5f593 andi a1,a1,255
+8000208c: 00859793 slli a5,a1,0x8
+80002090: 00b7e7b3 or a5,a5,a1
+80002094: 01079593 slli a1,a5,0x10
+80002098: 00f5e5b3 or a1,a1,a5
+8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28>
+800020a0: 00050793 mv a5,a0
+800020a4: 00478793 addi a5,a5,4
+800020a8: feb7ae23 sw a1,-4(a5)
+800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48>
+800020b0: 00008067 ret
+800020b4: 00008067 ret
+
+800020b8 <strlen>:
+800020b8: 00054783 lbu a5,0(a0)
+800020bc: 00050713 mv a4,a0
+800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20>
+800020c4: 00150513 addi a0,a0,1
+800020c8: 00054783 lbu a5,0(a0)
+800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc>
+800020d0: 40e50533 sub a0,a0,a4
+800020d4: 00008067 ret
+800020d8: 00000513 li a0,0
+800020dc: 00008067 ret
+
+800020e0 <strcmp>:
+800020e0: 00150513 addi a0,a0,1
+800020e4: fff54783 lbu a5,-1(a0)
+800020e8: 00158593 addi a1,a1,1
+800020ec: fff5c703 lbu a4,-1(a1)
+800020f0: 00078863 beqz a5,80002100 <strcmp+0x20>
+800020f4: fee786e3 beq a5,a4,800020e0 <strcmp>
+800020f8: 40e78533 sub a0,a5,a4
+800020fc: 00008067 ret
+80002100: 00000793 li a5,0
+80002104: ff5ff06f j 800020f8 <strcmp+0x18>
+
+80002108 <memcmp>:
+80002108: 00b567b3 or a5,a0,a1
+8000210c: 0037f793 andi a5,a5,3
+80002110: 04079263 bnez a5,80002154 <memcmp+0x4c>
+80002114: ffc67693 andi a3,a2,-4
+80002118: 00d506b3 add a3,a0,a3
+8000211c: 00050813 mv a6,a0
+80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c>
+80002124: 00052703 lw a4,0(a0)
+80002128: 0005a783 lw a5,0(a1)
+8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38>
+80002130: 0240006f j 80002154 <memcmp+0x4c>
+80002134: 00052703 lw a4,0(a0)
+80002138: 0005a783 lw a5,0(a1)
+8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44>
+80002140: 00450513 addi a0,a0,4
+80002144: 00458593 addi a1,a1,4
+80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c>
+8000214c: 41050833 sub a6,a0,a6
+80002150: 41060633 sub a2,a2,a6
+80002154: 00c58633 add a2,a1,a2
+80002158: 0140006f j 8000216c <memcmp+0x64>
+8000215c: 00158593 addi a1,a1,1
+80002160: fff54783 lbu a5,-1(a0)
+80002164: fff5c703 lbu a4,-1(a1)
+80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74>
+8000216c: 00150513 addi a0,a0,1
+80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54>
+80002174: 00000513 li a0,0
+80002178: 00008067 ret
+8000217c: 40e78533 sub a0,a5,a4
+80002180: 00008067 ret
+
+80002184 <strcpy>:
+80002184: 00050793 mv a5,a0
+80002188: 00158593 addi a1,a1,1
+8000218c: fff5c703 lbu a4,-1(a1)
+80002190: 00178793 addi a5,a5,1
+80002194: fee78fa3 sb a4,-1(a5)
+80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4>
+8000219c: 00008067 ret
+
+800021a0 <atol>:
+800021a0: 00054783 lbu a5,0(a0)
+800021a4: 02000713 li a4,32
+800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18>
+800021ac: 00150513 addi a0,a0,1
+800021b0: 00054783 lbu a5,0(a0)
+800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc>
+800021b8: fd578713 addi a4,a5,-43
+800021bc: 0fd77713 andi a4,a4,253
+800021c0: 04070263 beqz a4,80002204 <atol+0x64>
+800021c4: 00054683 lbu a3,0(a0)
+800021c8: 00050793 mv a5,a0
+800021cc: 00000613 li a2,0
+800021d0: 04068863 beqz a3,80002220 <atol+0x80>
+800021d4: 00000513 li a0,0
+800021d8: 00178793 addi a5,a5,1
+800021dc: fd068593 addi a1,a3,-48
+800021e0: 00251713 slli a4,a0,0x2
+800021e4: 0007c683 lbu a3,0(a5)
+800021e8: 00a70533 add a0,a4,a0
+800021ec: 00151513 slli a0,a0,0x1
+800021f0: 00a58533 add a0,a1,a0
+800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38>
+800021f8: 00060463 beqz a2,80002200 <atol+0x60>
+800021fc: 40a00533 neg a0,a0
+80002200: 00008067 ret
+80002204: 00154683 lbu a3,1(a0)
+80002208: fd378793 addi a5,a5,-45
+8000220c: 0017b613 seqz a2,a5
+80002210: 00150793 addi a5,a0,1
+80002214: fc0690e3 bnez a3,800021d4 <atol+0x34>
+80002218: 00000513 li a0,0
+8000221c: fddff06f j 800021f8 <atol+0x58>
+80002220: 00000513 li a0,0
+80002224: 00008067 ret
+
+80002228 <terminate>:
+80002228: fffff697 auipc a3,0xfffff
+8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost>
+80002230: 0006a703 lw a4,0(a3)
+80002234: 0046a783 lw a5,4(a3)
+80002238: 00050813 mv a6,a0
+8000223c: 41f55893 srai a7,a0,0x1f
+80002240: 00f76733 or a4,a4,a5
+80002244: 02070663 beqz a4,80002270 <terminate+0x48>
+80002248: fffff617 auipc a2,0xfffff
+8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost>
+80002250: 00000713 li a4,0
+80002254: 00e62023 sw a4,0(a2)
+80002258: 00000793 li a5,0
+8000225c: 00f62223 sw a5,4(a2)
+80002260: 0006a703 lw a4,0(a3)
+80002264: 0046a783 lw a5,4(a3)
+80002268: 00f76733 or a4,a4,a5
+8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28>
+80002270: 0106a023 sw a6,0(a3)
+80002274: 0116a223 sw a7,4(a3)
+80002278: 0000006f j 80002278 <terminate+0x50>
+
+8000227c <wtf>:
+8000227c: ff010113 addi sp,sp,-16
+80002280: 34900513 li a0,841
+80002284: 00112623 sw ra,12(sp)
+80002288: fa1ff0ef jal ra,80002228 <terminate>
+
+8000228c <printhex>:
+8000228c: fe010113 addi sp,sp,-32
+80002290: 01b10793 addi a5,sp,27
+80002294: 00b10e93 addi t4,sp,11
+80002298: 00900e13 li t3,9
+8000229c: 00f57693 andi a3,a0,15
+800022a0: 01c59313 slli t1,a1,0x1c
+800022a4: 00455513 srli a0,a0,0x4
+800022a8: 05700613 li a2,87
+800022ac: 0ff6f713 andi a4,a3,255
+800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c>
+800022b4: 03000613 li a2,48
+800022b8: 00c70733 add a4,a4,a2
+800022bc: 00e78023 sb a4,0(a5)
+800022c0: fff78793 addi a5,a5,-1
+800022c4: 00a36533 or a0,t1,a0
+800022c8: 0045d593 srli a1,a1,0x4
+800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10>
+800022d0: 00c14583 lbu a1,12(sp)
+800022d4: 00010e23 sb zero,28(sp)
+800022d8: 06058263 beqz a1,8000233c <printhex+0xb0>
+800022dc: 00c10513 addi a0,sp,12
+800022e0: fffff697 auipc a3,0xfffff
+800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost>
+800022e8: fffff617 auipc a2,0xfffff
+800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost>
+800022f0: 0006a703 lw a4,0(a3)
+800022f4: 0046a783 lw a5,4(a3)
+800022f8: 00058813 mv a6,a1
+800022fc: 00150513 addi a0,a0,1
+80002300: 00f76733 or a4,a4,a5
+80002304: 010108b7 lui a7,0x1010
+80002308: 02070263 beqz a4,8000232c <printhex+0xa0>
+8000230c: 00000713 li a4,0
+80002310: 00e62023 sw a4,0(a2)
+80002314: 00000793 li a5,0
+80002318: 00f62223 sw a5,4(a2)
+8000231c: 0006a703 lw a4,0(a3)
+80002320: 0046a783 lw a5,4(a3)
+80002324: 00f76733 or a4,a4,a5
+80002328: fe0712e3 bnez a4,8000230c <printhex+0x80>
+8000232c: 00054583 lbu a1,0(a0)
+80002330: 0106a023 sw a6,0(a3)
+80002334: 0116a223 sw a7,4(a3)
+80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64>
+8000233c: 02010113 addi sp,sp,32
+80002340: 00008067 ret
+
+80002344 <handle_fault>:
+80002344: ff010113 addi sp,sp,-16
+80002348: fffff6b7 lui a3,0xfffff
+8000234c: 00112623 sw ra,12(sp)
+80002350: 00812423 sw s0,8(sp)
+80002354: 00912223 sw s1,4(sp)
+80002358: 00d50733 add a4,a0,a3
+8000235c: 0003e7b7 lui a5,0x3e
+80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180>
+80002364: 00c55613 srli a2,a0,0xc
+80002368: 40060e13 addi t3,a2,1024
+8000236c: 00003317 auipc t1,0x3
+80002370: c9430313 addi t1,t1,-876 # 80005000 <pt>
+80002374: 002e1793 slli a5,t3,0x2
+80002378: 00f307b3 add a5,t1,a5
+8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000>
+80002380: 00d57533 and a0,a0,a3
+80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130>
+80002388: 00005797 auipc a5,0x5
+8000238c: 06c78793 addi a5,a5,108 # 800073f4 <freelist_head>
+80002390: 0007a583 lw a1,0(a5)
+80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0>
+80002398: 0045a783 lw a5,4(a1)
+8000239c: 00005717 auipc a4,0x5
+800023a0: 05470713 addi a4,a4,84 # 800073f0 <freelist_tail>
+800023a4: 00072703 lw a4,0(a4)
+800023a8: 00005697 auipc a3,0x5
+800023ac: 04f6a623 sw a5,76(a3) # 800073f4 <freelist_head>
+800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174>
+800023b4: 0005a703 lw a4,0(a1)
+800023b8: 002e1793 slli a5,t3,0x2
+800023bc: 00f307b3 add a5,t1,a5
+800023c0: 00c75713 srli a4,a4,0xc
+800023c4: 00a71713 slli a4,a4,0xa
+800023c8: 0df76e93 ori t4,a4,223
+800023cc: 01f76693 ori a3,a4,31
+800023d0: 01d7a023 sw t4,0(a5)
+800023d4: 12050073 sfence.vma a0
+800023d8: 00005717 auipc a4,0x5
+800023dc: e2070713 addi a4,a4,-480 # 800071f8 <user_mapping>
+800023e0: 00361793 slli a5,a2,0x3
+800023e4: 00f707b3 add a5,a4,a5
+800023e8: 0007a703 lw a4,0(a5)
+800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c>
+800023f0: 0005a703 lw a4,0(a1)
+800023f4: 00e7a023 sw a4,0(a5)
+800023f8: 0045a703 lw a4,4(a1)
+800023fc: 00e7a223 sw a4,4(a5)
+80002400: 000407b7 lui a5,0x40
+80002404: 1007a5f3 csrrs a1,sstatus,a5
+80002408: ffc007b7 lui a5,0xffc00
+8000240c: 00f507b3 add a5,a0,a5
+80002410: 00001637 lui a2,0x1
+80002414: 00050713 mv a4,a0
+80002418: 00c78633 add a2,a5,a2
+8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf8c08>
+80002420: 0047ae83 lw t4,4(a5)
+80002424: 0087a883 lw a7,8(a5)
+80002428: 00c7a803 lw a6,12(a5)
+8000242c: 01e72023 sw t5,0(a4)
+80002430: 01d72223 sw t4,4(a4)
+80002434: 01172423 sw a7,8(a4)
+80002438: 01072623 sw a6,12(a4)
+8000243c: 01078793 addi a5,a5,16
+80002440: 01070713 addi a4,a4,16
+80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8>
+80002448: 10059073 csrw sstatus,a1
+8000244c: 002e1e13 slli t3,t3,0x2
+80002450: 01c30333 add t1,t1,t3
+80002454: 00d32023 sw a3,0(t1)
+80002458: 12050073 sfence.vma a0
+8000245c: 0000100f fence.i
+80002460: 00c12083 lw ra,12(sp)
+80002464: 00812403 lw s0,8(sp)
+80002468: 00412483 lw s1,4(sp)
+8000246c: 01010113 addi sp,sp,16
+80002470: 00008067 ret
+80002474: 04077693 andi a3,a4,64
+80002478: 02069263 bnez a3,8000249c <handle_fault+0x158>
+8000247c: 04076713 ori a4,a4,64
+80002480: 00e7a023 sw a4,0(a5)
+80002484: 12050073 sfence.vma a0
+80002488: 00c12083 lw ra,12(sp)
+8000248c: 00812403 lw s0,8(sp)
+80002490: 00412483 lw s1,4(sp)
+80002494: 01010113 addi sp,sp,16
+80002498: 00008067 ret
+8000249c: 08077693 andi a3,a4,128
+800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8>
+800024a4: 00f00693 li a3,15
+800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8>
+800024ac: 08076713 ori a4,a4,128
+800024b0: 00e7a023 sw a4,0(a5)
+800024b4: fd1ff06f j 80002484 <handle_fault+0x140>
+800024b8: 00005797 auipc a5,0x5
+800024bc: f207ac23 sw zero,-200(a5) # 800073f0 <freelist_tail>
+800024c0: ef5ff06f j 800023b4 <handle_fault+0x70>
+800024c4: 04100513 li a0,65
+800024c8: 00001597 auipc a1,0x1
+800024cc: ac058593 addi a1,a1,-1344 # 80002f88 <pass+0xc>
+800024d0: fffff697 auipc a3,0xfffff
+800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost>
+800024d8: fffff617 auipc a2,0xfffff
+800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost>
+800024e0: 0006a703 lw a4,0(a3)
+800024e4: 0046a783 lw a5,4(a3)
+800024e8: 00050313 mv t1,a0
+800024ec: 00158593 addi a1,a1,1
+800024f0: 00f76733 or a4,a4,a5
+800024f4: 010103b7 lui t2,0x1010
+800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8>
+800024fc: 00000793 li a5,0
+80002500: 00f62023 sw a5,0(a2)
+80002504: 00000813 li a6,0
+80002508: 01062223 sw a6,4(a2)
+8000250c: 0006a703 lw a4,0(a3)
+80002510: 0046a783 lw a5,4(a3)
+80002514: 00f76733 or a4,a4,a5
+80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8>
+8000251c: 0005c503 lbu a0,0(a1)
+80002520: 0066a023 sw t1,0(a3)
+80002524: 0076a223 sw t2,4(a3)
+80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c>
+8000252c: 00300513 li a0,3
+80002530: cf9ff0ef jal ra,80002228 <terminate>
+80002534: 04100513 li a0,65
+80002538: 00001597 auipc a1,0x1
+8000253c: adc58593 addi a1,a1,-1316 # 80003014 <pass+0x98>
+80002540: fffff697 auipc a3,0xfffff
+80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost>
+80002548: fffff617 auipc a2,0xfffff
+8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost>
+80002550: 0006a703 lw a4,0(a3)
+80002554: 0046a783 lw a5,4(a3)
+80002558: 00050f13 mv t5,a0
+8000255c: 00158593 addi a1,a1,1
+80002560: 00f76733 or a4,a4,a5
+80002564: 01010fb7 lui t6,0x1010
+80002568: 02070263 beqz a4,8000258c <handle_fault+0x248>
+8000256c: 00000793 li a5,0
+80002570: 00f62023 sw a5,0(a2)
+80002574: 00000813 li a6,0
+80002578: 01062223 sw a6,4(a2)
+8000257c: 0006a703 lw a4,0(a3)
+80002580: 0046a783 lw a5,4(a3)
+80002584: 00f76733 or a4,a4,a5
+80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228>
+8000258c: 0005c503 lbu a0,0(a1)
+80002590: 01e6a023 sw t5,0(a3)
+80002594: 01f6a223 sw t6,4(a3)
+80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c>
+8000259c: f91ff06f j 8000252c <handle_fault+0x1e8>
+800025a0: 04100513 li a0,65
+800025a4: 00001597 auipc a1,0x1
+800025a8: a8858593 addi a1,a1,-1400 # 8000302c <pass+0xb0>
+800025ac: fffff697 auipc a3,0xfffff
+800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost>
+800025b4: fffff617 auipc a2,0xfffff
+800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost>
+800025bc: 0006a703 lw a4,0(a3)
+800025c0: 0046a783 lw a5,4(a3)
+800025c4: 00050813 mv a6,a0
+800025c8: 00158593 addi a1,a1,1
+800025cc: 00f76733 or a4,a4,a5
+800025d0: 010108b7 lui a7,0x1010
+800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4>
+800025d8: 00000713 li a4,0
+800025dc: 00e62023 sw a4,0(a2)
+800025e0: 00000793 li a5,0
+800025e4: 00f62223 sw a5,4(a2)
+800025e8: 0006a703 lw a4,0(a3)
+800025ec: 0046a783 lw a5,4(a3)
+800025f0: 00f76733 or a4,a4,a5
+800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294>
+800025f8: 0005c503 lbu a0,0(a1)
+800025fc: 0106a023 sw a6,0(a3)
+80002600: 0116a223 sw a7,4(a3)
+80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278>
+80002608: f25ff06f j 8000252c <handle_fault+0x1e8>
+8000260c: 04100793 li a5,65
+80002610: 00001597 auipc a1,0x1
+80002614: 9bc58593 addi a1,a1,-1604 # 80002fcc <pass+0x50>
+80002618: fffff697 auipc a3,0xfffff
+8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost>
+80002620: fffff617 auipc a2,0xfffff
+80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost>
+80002628: 0006a803 lw a6,0(a3)
+8000262c: 0046a883 lw a7,4(a3)
+80002630: 00078413 mv s0,a5
+80002634: 00158593 addi a1,a1,1
+80002638: 01186833 or a6,a6,a7
+8000263c: 010104b7 lui s1,0x1010
+80002640: 02080263 beqz a6,80002664 <handle_fault+0x320>
+80002644: 00000793 li a5,0
+80002648: 00f62023 sw a5,0(a2)
+8000264c: 00000813 li a6,0
+80002650: 01062223 sw a6,4(a2)
+80002654: 0006a703 lw a4,0(a3)
+80002658: 0046a783 lw a5,4(a3)
+8000265c: 00f76733 or a4,a4,a5
+80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300>
+80002664: 0005c783 lbu a5,0(a1)
+80002668: 0086a023 sw s0,0(a3)
+8000266c: 0096a223 sw s1,4(a3)
+80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4>
+80002674: eb9ff06f j 8000252c <handle_fault+0x1e8>
+
+80002678 <handle_trap>:
+80002678: 08c52583 lw a1,140(a0)
+8000267c: fb010113 addi sp,sp,-80
+80002680: 03412c23 sw s4,56(sp)
+80002684: 04112623 sw ra,76(sp)
+80002688: 04812423 sw s0,72(sp)
+8000268c: 04912223 sw s1,68(sp)
+80002690: 05212023 sw s2,64(sp)
+80002694: 03312e23 sw s3,60(sp)
+80002698: 03512a23 sw s5,52(sp)
+8000269c: 03612823 sw s6,48(sp)
+800026a0: 03712623 sw s7,44(sp)
+800026a4: 03812423 sw s8,40(sp)
+800026a8: 03912223 sw s9,36(sp)
+800026ac: 03a12023 sw s10,32(sp)
+800026b0: 01b12e23 sw s11,28(sp)
+800026b4: 00800793 li a5,8
+800026b8: 00050a13 mv s4,a0
+800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0>
+800026c0: 00200793 li a5,2
+800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac>
+800026c8: ff458793 addi a5,a1,-12
+800026cc: 00100713 li a4,1
+800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64>
+800026d4: 00f00793 li a5,15
+800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294>
+800026dc: 088a2503 lw a0,136(s4)
+800026e0: c65ff0ef jal ra,80002344 <handle_fault>
+800026e4: 04812403 lw s0,72(sp)
+800026e8: 04c12083 lw ra,76(sp)
+800026ec: 04412483 lw s1,68(sp)
+800026f0: 04012903 lw s2,64(sp)
+800026f4: 03c12983 lw s3,60(sp)
+800026f8: 03412a83 lw s5,52(sp)
+800026fc: 03012b03 lw s6,48(sp)
+80002700: 02c12b83 lw s7,44(sp)
+80002704: 02812c03 lw s8,40(sp)
+80002708: 02412c83 lw s9,36(sp)
+8000270c: 02012d03 lw s10,32(sp)
+80002710: 01c12d83 lw s11,28(sp)
+80002714: 000a0513 mv a0,s4
+80002718: 03812a03 lw s4,56(sp)
+8000271c: 05010113 addi sp,sp,80
+80002720: 91dfd06f j 8000003c <pop_tf>
+80002724: 08452703 lw a4,132(a0)
+80002728: 00377793 andi a5,a4,3
+8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144>
+80002730: 008007ef jal a5,80002738 <handle_trap+0xc0>
+80002734: 00301073 fssr zero
+80002738: 00072703 lw a4,0(a4)
+8000273c: 0007a783 lw a5,0(a5)
+80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c>
+80002744: 04100513 li a0,65
+80002748: 00001597 auipc a1,0x1
+8000274c: 9ac58593 addi a1,a1,-1620 # 800030f4 <pass+0x178>
+80002750: fffff697 auipc a3,0xfffff
+80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost>
+80002758: fffff617 auipc a2,0xfffff
+8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost>
+80002760: 0006a703 lw a4,0(a3)
+80002764: 0046a783 lw a5,4(a3)
+80002768: 00050813 mv a6,a0
+8000276c: 00158593 addi a1,a1,1
+80002770: 00f76733 or a4,a4,a5
+80002774: 010108b7 lui a7,0x1010
+80002778: 02070263 beqz a4,8000279c <handle_trap+0x124>
+8000277c: 00000713 li a4,0
+80002780: 00e62023 sw a4,0(a2)
+80002784: 00000793 li a5,0
+80002788: 00f62223 sw a5,4(a2)
+8000278c: 0006a703 lw a4,0(a3)
+80002790: 0046a783 lw a5,4(a3)
+80002794: 00f76733 or a4,a4,a5
+80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104>
+8000279c: 0005c503 lbu a0,0(a1)
+800027a0: 0106a023 sw a6,0(a3)
+800027a4: 0116a223 sw a7,4(a3)
+800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8>
+800027ac: 00300513 li a0,3
+800027b0: a79ff0ef jal ra,80002228 <terminate>
+800027b4: 00100513 li a0,1
+800027b8: a71ff0ef jal ra,80002228 <terminate>
+800027bc: 00001597 auipc a1,0x1
+800027c0: 91458593 addi a1,a1,-1772 # 800030d0 <pass+0x154>
+800027c4: 04100613 li a2,65
+800027c8: fffff697 auipc a3,0xfffff
+800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost>
+800027d0: fffff517 auipc a0,0xfffff
+800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost>
+800027d8: 0006a703 lw a4,0(a3)
+800027dc: 0046a783 lw a5,4(a3)
+800027e0: 00060e13 mv t3,a2
+800027e4: 00158593 addi a1,a1,1
+800027e8: 00f76733 or a4,a4,a5
+800027ec: 01010eb7 lui t4,0x1010
+800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c>
+800027f4: 00000793 li a5,0
+800027f8: 00f52023 sw a5,0(a0)
+800027fc: 00000813 li a6,0
+80002800: 01052223 sw a6,4(a0)
+80002804: 0006a703 lw a4,0(a3)
+80002808: 0046a783 lw a5,4(a3)
+8000280c: 00f76733 or a4,a4,a5
+80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c>
+80002814: 0005c603 lbu a2,0(a1)
+80002818: 01c6a023 sw t3,0(a3)
+8000281c: 01d6a223 sw t4,4(a3)
+80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160>
+80002824: f89ff06f j 800027ac <handle_trap+0x134>
+80002828: 02852783 lw a5,40(a0)
+8000282c: 00001a37 lui s4,0x1
+80002830: 00005b17 auipc s6,0x5
+80002834: 9c8b0b13 addi s6,s6,-1592 # 800071f8 <user_mapping>
+80002838: 00f12223 sw a5,4(sp)
+8000283c: 00002d17 auipc s10,0x2
+80002840: 7c4d0d13 addi s10,s10,1988 # 80005000 <pt>
+80002844: 00040cb7 lui s9,0x40
+80002848: ffc00c37 lui s8,0xffc00
+8000284c: 0003fab7 lui s5,0x3f
+80002850: 01c0006f j 8000286c <handle_trap+0x1f4>
+80002854: 00f72223 sw a5,4(a4)
+80002858: 00005717 auipc a4,0x5
+8000285c: b8f72c23 sw a5,-1128(a4) # 800073f0 <freelist_tail>
+80002860: 000017b7 lui a5,0x1
+80002864: 00fa0a33 add s4,s4,a5
+80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398>
+8000286c: 00ca5713 srli a4,s4,0xc
+80002870: 00371b93 slli s7,a4,0x3
+80002874: 017b0633 add a2,s6,s7
+80002878: 00062603 lw a2,0(a2)
+8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8>
+80002880: 40070713 addi a4,a4,1024
+80002884: 00271713 slli a4,a4,0x2
+80002888: 00ed0733 add a4,s10,a4
+8000288c: 00072703 lw a4,0(a4)
+80002890: 04077613 andi a2,a4,64
+80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c>
+80002898: 00e12623 sw a4,12(sp)
+8000289c: 100cadf3 csrrs s11,sstatus,s9
+800028a0: 018a0833 add a6,s4,s8
+800028a4: 00001637 lui a2,0x1
+800028a8: 00080593 mv a1,a6
+800028ac: 000a0513 mv a0,s4
+800028b0: 01012423 sw a6,8(sp)
+800028b4: 855ff0ef jal ra,80002108 <memcmp>
+800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264>
+800028bc: 00c12703 lw a4,12(sp)
+800028c0: 00812803 lw a6,8(sp)
+800028c4: 08077713 andi a4,a4,128
+800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300>
+800028cc: 00001637 lui a2,0x1
+800028d0: 00080593 mv a1,a6
+800028d4: 000a0513 mv a0,s4
+800028d8: f28ff0ef jal ra,80002000 <memcpy>
+800028dc: 017b07b3 add a5,s6,s7
+800028e0: 100d9073 csrw sstatus,s11
+800028e4: 00005717 auipc a4,0x5
+800028e8: b0c70713 addi a4,a4,-1268 # 800073f0 <freelist_tail>
+800028ec: 00072703 lw a4,0(a4)
+800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000>
+800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc>
+800028f8: 00005717 auipc a4,0x5
+800028fc: aef72c23 sw a5,-1288(a4) # 800073f0 <freelist_tail>
+80002900: 00005717 auipc a4,0x5
+80002904: aef72a23 sw a5,-1292(a4) # 800073f4 <freelist_head>
+80002908: f59ff06f j 80002860 <handle_trap+0x1e8>
+8000290c: 04100593 li a1,65
+80002910: 00001617 auipc a2,0x1
+80002914: 81060613 addi a2,a2,-2032 # 80003120 <pass+0x1a4>
+80002918: ffffe697 auipc a3,0xffffe
+8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost>
+80002920: ffffe517 auipc a0,0xffffe
+80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost>
+80002928: 0006a703 lw a4,0(a3)
+8000292c: 0046a783 lw a5,4(a3)
+80002930: 00058313 mv t1,a1
+80002934: 00160613 addi a2,a2,1
+80002938: 00f76733 or a4,a4,a5
+8000293c: 010103b7 lui t2,0x1010
+80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec>
+80002944: 00000793 li a5,0
+80002948: 00f52023 sw a5,0(a0)
+8000294c: 00000813 li a6,0
+80002950: 01052223 sw a6,4(a0)
+80002954: 0006a703 lw a4,0(a3)
+80002958: 0046a783 lw a5,4(a3)
+8000295c: 00f76733 or a4,a4,a5
+80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc>
+80002964: 00064583 lbu a1,0(a2)
+80002968: 0066a023 sw t1,0(a3)
+8000296c: 0076a223 sw t2,4(a3)
+80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0>
+80002974: e39ff06f j 800027ac <handle_trap+0x134>
+80002978: 04100793 li a5,65
+8000297c: 00000617 auipc a2,0x0
+80002980: 72060613 addi a2,a2,1824 # 8000309c <pass+0x120>
+80002984: ffffe697 auipc a3,0xffffe
+80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost>
+8000298c: ffffe597 auipc a1,0xffffe
+80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost>
+80002994: 00078413 mv s0,a5
+80002998: 00160613 addi a2,a2,1
+8000299c: 010104b7 lui s1,0x1010
+800029a0: 0006a703 lw a4,0(a3)
+800029a4: 0046a783 lw a5,4(a3)
+800029a8: 00f76733 or a4,a4,a5
+800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0>
+800029b0: 00000793 li a5,0
+800029b4: 00000813 li a6,0
+800029b8: 00f5a023 sw a5,0(a1)
+800029bc: 0105a223 sw a6,4(a1)
+800029c0: fe1ff06f j 800029a0 <handle_trap+0x328>
+800029c4: 04100793 li a5,65
+800029c8: 00000617 auipc a2,0x0
+800029cc: 6a060613 addi a2,a2,1696 # 80003068 <pass+0xec>
+800029d0: ffffe697 auipc a3,0xffffe
+800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost>
+800029d8: ffffe597 auipc a1,0xffffe
+800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost>
+800029e0: 00078913 mv s2,a5
+800029e4: 00160613 addi a2,a2,1
+800029e8: 010109b7 lui s3,0x1010
+800029ec: 0006a703 lw a4,0(a3)
+800029f0: 0046a783 lw a5,4(a3)
+800029f4: 00f76733 or a4,a4,a5
+800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4>
+800029fc: 00000793 li a5,0
+80002a00: 00000813 li a6,0
+80002a04: 00f5a023 sw a5,0(a1)
+80002a08: 0105a223 sw a6,4(a1)
+80002a0c: fe1ff06f j 800029ec <handle_trap+0x374>
+80002a10: 00412503 lw a0,4(sp)
+80002a14: 815ff0ef jal ra,80002228 <terminate>
+80002a18: 00064783 lbu a5,0(a2)
+80002a1c: 0086a023 sw s0,0(a3)
+80002a20: 0096a223 sw s1,4(a3)
+80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c>
+80002a28: d85ff06f j 800027ac <handle_trap+0x134>
+80002a2c: 00064783 lbu a5,0(a2)
+80002a30: 0126a023 sw s2,0(a3)
+80002a34: 0136a223 sw s3,4(a3)
+80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368>
+80002a3c: d71ff06f j 800027ac <handle_trap+0x134>
+
+80002a40 <vm_boot>:
+80002a40: f14027f3 csrr a5,mhartid
+80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158>
+80002a48: 00003797 auipc a5,0x3
+80002a4c: 5b878793 addi a5,a5,1464 # 80006000 <pt+0x1000>
+80002a50: 00c7d793 srli a5,a5,0xc
+80002a54: 00a79793 slli a5,a5,0xa
+80002a58: 0017e793 ori a5,a5,1
+80002a5c: 00002697 auipc a3,0x2
+80002a60: 5af6a223 sw a5,1444(a3) # 80005000 <pt>
+80002a64: 200007b7 lui a5,0x20000
+80002a68: 00002717 auipc a4,0x2
+80002a6c: 59870713 addi a4,a4,1432 # 80005000 <pt>
+80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31>
+80002a74: f6010113 addi sp,sp,-160
+80002a78: 00003697 auipc a3,0x3
+80002a7c: 58f6a223 sw a5,1412(a3) # 80005ffc <pt+0xffc>
+80002a80: 00c75793 srli a5,a4,0xc
+80002a84: 80000737 lui a4,0x80000
+80002a88: 08112e23 sw ra,156(sp)
+80002a8c: 08812c23 sw s0,152(sp)
+80002a90: 00e7e7b3 or a5,a5,a4
+80002a94: 18079073 csrw satp,a5
+80002a98: 01f00793 li a5,31
+80002a9c: fff00713 li a4,-1
+80002aa0: 00000297 auipc t0,0x0
+80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74>
+80002aa8: 305292f3 csrrw t0,mtvec,t0
+80002aac: 3b071073 csrw pmpaddr0,a4
+80002ab0: 3a079073 csrw pmpcfg0,a5
+80002ab4: 7fbfd797 auipc a5,0x7fbfd
+80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf8ccc>
+80002abc: 10579073 csrw stvec,a5
+80002ac0: 340027f3 csrr a5,mscratch
+80002ac4: 7fc00837 lui a6,0x7fc00
+80002ac8: 010787b3 add a5,a5,a6
+80002acc: 14079073 csrw sscratch,a5
+80002ad0: 0000b7b7 lui a5,0xb
+80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00>
+80002ad8: 30279073 csrw medeleg,a5
+80002adc: 0001e7b7 lui a5,0x1e
+80002ae0: 30079073 csrw mstatus,a5
+80002ae4: 30405073 csrwi mie,0
+80002ae8: 7fc04797 auipc a5,0x7fc04
+80002aec: 51878793 addi a5,a5,1304 # ffc07000 <_end+0x7fbffc08>
+80002af0: 00005717 auipc a4,0x5
+80002af4: 90f72223 sw a5,-1788(a4) # 800073f4 <freelist_head>
+80002af8: 7fc04797 auipc a5,0x7fc04
+80002afc: 6f878793 addi a5,a5,1784 # ffc071f0 <_end+0x7fbffdf8>
+80002b00: 00005717 auipc a4,0x5
+80002b04: 8ef72823 sw a5,-1808(a4) # 800073f0 <freelist_tail>
+80002b08: 000808b7 lui a7,0x80
+80002b0c: 00004717 auipc a4,0x4
+80002b10: 4f470713 addi a4,a4,1268 # 80007000 <freelist_nodes>
+80002b14: 00004317 auipc t1,0x4
+80002b18: 6e430313 addi t1,t1,1764 # 800071f8 <user_mapping>
+80002b1c: 02b00793 li a5,43
+80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1>
+80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8>
+80002b28: 0017d613 srli a2,a5,0x1
+80002b2c: 011786b3 add a3,a5,a7
+80002b30: 00f647b3 xor a5,a2,a5
+80002b34: 010705b3 add a1,a4,a6
+80002b38: 00c69693 slli a3,a3,0xc
+80002b3c: 00579793 slli a5,a5,0x5
+80002b40: 00d72023 sw a3,0(a4)
+80002b44: 00b72223 sw a1,4(a4)
+80002b48: 0207f793 andi a5,a5,32
+80002b4c: 00870713 addi a4,a4,8
+80002b50: 00f667b3 or a5,a2,a5
+80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8>
+80002b58: 00050413 mv s0,a0
+80002b5c: 09000613 li a2,144
+80002b60: 00000593 li a1,0
+80002b64: 00010513 mv a0,sp
+80002b68: 00004797 auipc a5,0x4
+80002b6c: 6807a623 sw zero,1676(a5) # 800071f4 <freelist_nodes+0x1f4>
+80002b70: cecff0ef jal ra,8000205c <memset>
+80002b74: 800007b7 lui a5,0x80000
+80002b78: 00f40433 add s0,s0,a5
+80002b7c: 00010513 mv a0,sp
+80002b80: 08812223 sw s0,132(sp)
+80002b84: cb8fd0ef jal ra,8000003c <pop_tf>
+80002b88: 09c12083 lw ra,156(sp)
+80002b8c: 09812403 lw s0,152(sp)
+80002b90: 0a010113 addi sp,sp,160
+80002b94: 00008067 ret
+80002b98: 0d1287b7 lui a5,0xd128
+80002b9c: 00080637 lui a2,0x80
+80002ba0: c7f78793 addi a5,a5,-897 # d127c7f <_start-0x72ed8381>
+80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004>
+80002ba8: 800005b7 lui a1,0x80000
+80002bac: 00c7f733 and a4,a5,a2
+80002bb0: 0017f693 andi a3,a5,1
+80002bb4: 00b70733 add a4,a4,a1
+80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194>
+80002bbc: 0007202f amoadd.w zero,zero,(a4)
+80002bc0: 0017d793 srli a5,a5,0x1
+80002bc4: 00c7f733 and a4,a5,a2
+80002bc8: 0017f693 andi a3,a5,1
+80002bcc: 00b70733 add a4,a4,a1
+80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c>
+80002bd4: 00072003 lw zero,0(a4)
+80002bd8: 0017d793 srli a5,a5,0x1
+80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184>
+
+80002be0 <userstart>:
+80002be0: 00301073 fssr zero
+
+80002be4 <test_2>:
+80002be4: 00200193 li gp,2
+80002be8: 00001517 auipc a0,0x1
+80002bec: 41850513 addi a0,a0,1048 # 80004000 <test_2_data>
+80002bf0: 00053007 fld ft0,0(a0)
+80002bf4: 00853087 fld ft1,8(a0)
+80002bf8: 01053107 fld ft2,16(a0)
+80002bfc: 01852683 lw a3,24(a0)
+80002c00: 01c52303 lw t1,28(a0)
+80002c04: a2102553 feq.d a0,ft0,ft1
+80002c08: 00000393 li t2,0
+80002c0c: 001015f3 fsflags a1,zero
+80002c10: 00000613 li a2,0
+80002c14: 34d51c63 bne a0,a3,80002f6c <fail>
+80002c18: 34731a63 bne t1,t2,80002f6c <fail>
+80002c1c: 34c59863 bne a1,a2,80002f6c <fail>
+
+80002c20 <test_3>:
+80002c20: 00300193 li gp,3
+80002c24: 00001517 auipc a0,0x1
+80002c28: 3fc50513 addi a0,a0,1020 # 80004020 <test_3_data>
+80002c2c: 00053007 fld ft0,0(a0)
+80002c30: 00853087 fld ft1,8(a0)
+80002c34: 01053107 fld ft2,16(a0)
+80002c38: 01852683 lw a3,24(a0)
+80002c3c: 01c52303 lw t1,28(a0)
+80002c40: a2100553 fle.d a0,ft0,ft1
+80002c44: 00000393 li t2,0
+80002c48: 001015f3 fsflags a1,zero
+80002c4c: 00000613 li a2,0
+80002c50: 30d51e63 bne a0,a3,80002f6c <fail>
+80002c54: 30731c63 bne t1,t2,80002f6c <fail>
+80002c58: 30c59a63 bne a1,a2,80002f6c <fail>
+
+80002c5c <test_4>:
+80002c5c: 00400193 li gp,4
+80002c60: 00001517 auipc a0,0x1
+80002c64: 3e050513 addi a0,a0,992 # 80004040 <test_4_data>
+80002c68: 00053007 fld ft0,0(a0)
+80002c6c: 00853087 fld ft1,8(a0)
+80002c70: 01053107 fld ft2,16(a0)
+80002c74: 01852683 lw a3,24(a0)
+80002c78: 01c52303 lw t1,28(a0)
+80002c7c: a2101553 flt.d a0,ft0,ft1
+80002c80: 00000393 li t2,0
+80002c84: 001015f3 fsflags a1,zero
+80002c88: 00000613 li a2,0
+80002c8c: 2ed51063 bne a0,a3,80002f6c <fail>
+80002c90: 2c731e63 bne t1,t2,80002f6c <fail>
+80002c94: 2cc59c63 bne a1,a2,80002f6c <fail>
+
+80002c98 <test_5>:
+80002c98: 00500193 li gp,5
+80002c9c: 00001517 auipc a0,0x1
+80002ca0: 3c450513 addi a0,a0,964 # 80004060 <test_5_data>
+80002ca4: 00053007 fld ft0,0(a0)
+80002ca8: 00853087 fld ft1,8(a0)
+80002cac: 01053107 fld ft2,16(a0)
+80002cb0: 01852683 lw a3,24(a0)
+80002cb4: 01c52303 lw t1,28(a0)
+80002cb8: a2102553 feq.d a0,ft0,ft1
+80002cbc: 00000393 li t2,0
+80002cc0: 001015f3 fsflags a1,zero
+80002cc4: 00000613 li a2,0
+80002cc8: 2ad51263 bne a0,a3,80002f6c <fail>
+80002ccc: 2a731063 bne t1,t2,80002f6c <fail>
+80002cd0: 28c59e63 bne a1,a2,80002f6c <fail>
+
+80002cd4 <test_6>:
+80002cd4: 00600193 li gp,6
+80002cd8: 00001517 auipc a0,0x1
+80002cdc: 3a850513 addi a0,a0,936 # 80004080 <test_6_data>
+80002ce0: 00053007 fld ft0,0(a0)
+80002ce4: 00853087 fld ft1,8(a0)
+80002ce8: 01053107 fld ft2,16(a0)
+80002cec: 01852683 lw a3,24(a0)
+80002cf0: 01c52303 lw t1,28(a0)
+80002cf4: a2100553 fle.d a0,ft0,ft1
+80002cf8: 00000393 li t2,0
+80002cfc: 001015f3 fsflags a1,zero
+80002d00: 00000613 li a2,0
+80002d04: 26d51463 bne a0,a3,80002f6c <fail>
+80002d08: 26731263 bne t1,t2,80002f6c <fail>
+80002d0c: 26c59063 bne a1,a2,80002f6c <fail>
+
+80002d10 <test_7>:
+80002d10: 00700193 li gp,7
+80002d14: 00001517 auipc a0,0x1
+80002d18: 38c50513 addi a0,a0,908 # 800040a0 <test_7_data>
+80002d1c: 00053007 fld ft0,0(a0)
+80002d20: 00853087 fld ft1,8(a0)
+80002d24: 01053107 fld ft2,16(a0)
+80002d28: 01852683 lw a3,24(a0)
+80002d2c: 01c52303 lw t1,28(a0)
+80002d30: a2101553 flt.d a0,ft0,ft1
+80002d34: 00000393 li t2,0
+80002d38: 001015f3 fsflags a1,zero
+80002d3c: 00000613 li a2,0
+80002d40: 22d51663 bne a0,a3,80002f6c <fail>
+80002d44: 22731463 bne t1,t2,80002f6c <fail>
+80002d48: 22c59263 bne a1,a2,80002f6c <fail>
+
+80002d4c <test_8>:
+80002d4c: 00800193 li gp,8
+80002d50: 00001517 auipc a0,0x1
+80002d54: 37050513 addi a0,a0,880 # 800040c0 <test_8_data>
+80002d58: 00053007 fld ft0,0(a0)
+80002d5c: 00853087 fld ft1,8(a0)
+80002d60: 01053107 fld ft2,16(a0)
+80002d64: 01852683 lw a3,24(a0)
+80002d68: 01c52303 lw t1,28(a0)
+80002d6c: a2102553 feq.d a0,ft0,ft1
+80002d70: 00000393 li t2,0
+80002d74: 001015f3 fsflags a1,zero
+80002d78: 00000613 li a2,0
+80002d7c: 1ed51863 bne a0,a3,80002f6c <fail>
+80002d80: 1e731663 bne t1,t2,80002f6c <fail>
+80002d84: 1ec59463 bne a1,a2,80002f6c <fail>
+
+80002d88 <test_9>:
+80002d88: 00900193 li gp,9
+80002d8c: 00001517 auipc a0,0x1
+80002d90: 35450513 addi a0,a0,852 # 800040e0 <test_9_data>
+80002d94: 00053007 fld ft0,0(a0)
+80002d98: 00853087 fld ft1,8(a0)
+80002d9c: 01053107 fld ft2,16(a0)
+80002da0: 01852683 lw a3,24(a0)
+80002da4: 01c52303 lw t1,28(a0)
+80002da8: a2102553 feq.d a0,ft0,ft1
+80002dac: 00000393 li t2,0
+80002db0: 001015f3 fsflags a1,zero
+80002db4: 00000613 li a2,0
+80002db8: 1ad51a63 bne a0,a3,80002f6c <fail>
+80002dbc: 1a731863 bne t1,t2,80002f6c <fail>
+80002dc0: 1ac59663 bne a1,a2,80002f6c <fail>
+
+80002dc4 <test_10>:
+80002dc4: 00a00193 li gp,10
+80002dc8: 00001517 auipc a0,0x1
+80002dcc: 33850513 addi a0,a0,824 # 80004100 <test_10_data>
+80002dd0: 00053007 fld ft0,0(a0)
+80002dd4: 00853087 fld ft1,8(a0)
+80002dd8: 01053107 fld ft2,16(a0)
+80002ddc: 01852683 lw a3,24(a0)
+80002de0: 01c52303 lw t1,28(a0)
+80002de4: a2102553 feq.d a0,ft0,ft1
+80002de8: 00000393 li t2,0
+80002dec: 001015f3 fsflags a1,zero
+80002df0: 01000613 li a2,16
+80002df4: 16d51c63 bne a0,a3,80002f6c <fail>
+80002df8: 16731a63 bne t1,t2,80002f6c <fail>
+80002dfc: 16c59863 bne a1,a2,80002f6c <fail>
+
+80002e00 <test_11>:
+80002e00: 00b00193 li gp,11
+80002e04: 00001517 auipc a0,0x1
+80002e08: 31c50513 addi a0,a0,796 # 80004120 <test_11_data>
+80002e0c: 00053007 fld ft0,0(a0)
+80002e10: 00853087 fld ft1,8(a0)
+80002e14: 01053107 fld ft2,16(a0)
+80002e18: 01852683 lw a3,24(a0)
+80002e1c: 01c52303 lw t1,28(a0)
+80002e20: a2101553 flt.d a0,ft0,ft1
+80002e24: 00000393 li t2,0
+80002e28: 001015f3 fsflags a1,zero
+80002e2c: 01000613 li a2,16
+80002e30: 12d51e63 bne a0,a3,80002f6c <fail>
+80002e34: 12731c63 bne t1,t2,80002f6c <fail>
+80002e38: 12c59a63 bne a1,a2,80002f6c <fail>
+
+80002e3c <test_12>:
+80002e3c: 00c00193 li gp,12
+80002e40: 00001517 auipc a0,0x1
+80002e44: 30050513 addi a0,a0,768 # 80004140 <test_12_data>
+80002e48: 00053007 fld ft0,0(a0)
+80002e4c: 00853087 fld ft1,8(a0)
+80002e50: 01053107 fld ft2,16(a0)
+80002e54: 01852683 lw a3,24(a0)
+80002e58: 01c52303 lw t1,28(a0)
+80002e5c: a2101553 flt.d a0,ft0,ft1
+80002e60: 00000393 li t2,0
+80002e64: 001015f3 fsflags a1,zero
+80002e68: 01000613 li a2,16
+80002e6c: 10d51063 bne a0,a3,80002f6c <fail>
+80002e70: 0e731e63 bne t1,t2,80002f6c <fail>
+80002e74: 0ec59c63 bne a1,a2,80002f6c <fail>
+
+80002e78 <test_13>:
+80002e78: 00d00193 li gp,13
+80002e7c: 00001517 auipc a0,0x1
+80002e80: 2e450513 addi a0,a0,740 # 80004160 <test_13_data>
+80002e84: 00053007 fld ft0,0(a0)
+80002e88: 00853087 fld ft1,8(a0)
+80002e8c: 01053107 fld ft2,16(a0)
+80002e90: 01852683 lw a3,24(a0)
+80002e94: 01c52303 lw t1,28(a0)
+80002e98: a2101553 flt.d a0,ft0,ft1
+80002e9c: 00000393 li t2,0
+80002ea0: 001015f3 fsflags a1,zero
+80002ea4: 01000613 li a2,16
+80002ea8: 0cd51263 bne a0,a3,80002f6c <fail>
+80002eac: 0c731063 bne t1,t2,80002f6c <fail>
+80002eb0: 0ac59e63 bne a1,a2,80002f6c <fail>
+
+80002eb4 <test_14>:
+80002eb4: 00e00193 li gp,14
+80002eb8: 00001517 auipc a0,0x1
+80002ebc: 2c850513 addi a0,a0,712 # 80004180 <test_14_data>
+80002ec0: 00053007 fld ft0,0(a0)
+80002ec4: 00853087 fld ft1,8(a0)
+80002ec8: 01053107 fld ft2,16(a0)
+80002ecc: 01852683 lw a3,24(a0)
+80002ed0: 01c52303 lw t1,28(a0)
+80002ed4: a2100553 fle.d a0,ft0,ft1
+80002ed8: 00000393 li t2,0
+80002edc: 001015f3 fsflags a1,zero
+80002ee0: 01000613 li a2,16
+80002ee4: 08d51463 bne a0,a3,80002f6c <fail>
+80002ee8: 08731263 bne t1,t2,80002f6c <fail>
+80002eec: 08c59063 bne a1,a2,80002f6c <fail>
+
+80002ef0 <test_15>:
+80002ef0: 00f00193 li gp,15
+80002ef4: 00001517 auipc a0,0x1
+80002ef8: 2ac50513 addi a0,a0,684 # 800041a0 <test_15_data>
+80002efc: 00053007 fld ft0,0(a0)
+80002f00: 00853087 fld ft1,8(a0)
+80002f04: 01053107 fld ft2,16(a0)
+80002f08: 01852683 lw a3,24(a0)
+80002f0c: 01c52303 lw t1,28(a0)
+80002f10: a2100553 fle.d a0,ft0,ft1
+80002f14: 00000393 li t2,0
+80002f18: 001015f3 fsflags a1,zero
+80002f1c: 01000613 li a2,16
+80002f20: 04d51663 bne a0,a3,80002f6c <fail>
+80002f24: 04731463 bne t1,t2,80002f6c <fail>
+80002f28: 04c59263 bne a1,a2,80002f6c <fail>
+
+80002f2c <test_16>:
+80002f2c: 01000193 li gp,16
+80002f30: 00001517 auipc a0,0x1
+80002f34: 29050513 addi a0,a0,656 # 800041c0 <test_16_data>
+80002f38: 00053007 fld ft0,0(a0)
+80002f3c: 00853087 fld ft1,8(a0)
+80002f40: 01053107 fld ft2,16(a0)
+80002f44: 01852683 lw a3,24(a0)
+80002f48: 01c52303 lw t1,28(a0)
+80002f4c: a2100553 fle.d a0,ft0,ft1
+80002f50: 00000393 li t2,0
+80002f54: 001015f3 fsflags a1,zero
+80002f58: 01000613 li a2,16
+80002f5c: 00d51863 bne a0,a3,80002f6c <fail>
+80002f60: 00731663 bne t1,t2,80002f6c <fail>
+80002f64: 00c59463 bne a1,a2,80002f6c <fail>
+80002f68: 00301a63 bne zero,gp,80002f7c <pass>
+
+80002f6c <fail>:
+80002f6c: 00119513 slli a0,gp,0x1
+80002f70: 00050063 beqz a0,80002f70 <fail+0x4>
+80002f74: 00156513 ori a0,a0,1
+80002f78: 00000073 ecall
+
+80002f7c <pass>:
+80002f7c: 00100513 li a0,1
+80002f80: 00000073 ecall
+80002f84: c0001073 unimp
+
+Disassembly of section .data:
+
+80004000 <test_2_data>:
+80004000: 5c28f5c3 0x5c28f5c3
+80004004: bff5c28f 0xbff5c28f
+80004008: 5c28f5c3 0x5c28f5c3
+8000400c: bff5c28f 0xbff5c28f
+80004010: 0000 unimp
+80004012: 0000 unimp
+80004014: 0000 unimp
+80004016: 0000 unimp
+80004018: 0001 nop
+8000401a: 0000 unimp
+8000401c: 0000 unimp
+8000401e: 0000 unimp
+
+80004020 <test_3_data>:
+80004020: 5c28f5c3 0x5c28f5c3
+80004024: bff5c28f 0xbff5c28f
+80004028: 5c28f5c3 0x5c28f5c3
+8000402c: bff5c28f 0xbff5c28f
+80004030: 0000 unimp
+80004032: 0000 unimp
+80004034: 0000 unimp
+80004036: 0000 unimp
+80004038: 0001 nop
+8000403a: 0000 unimp
+8000403c: 0000 unimp
+8000403e: 0000 unimp
+
+80004040 <test_4_data>:
+80004040: 5c28f5c3 0x5c28f5c3
+80004044: bff5c28f 0xbff5c28f
+80004048: 5c28f5c3 0x5c28f5c3
+8000404c: bff5c28f 0xbff5c28f
+80004050: 0000 unimp
+80004052: 0000 unimp
+80004054: 0000 unimp
+80004056: 0000 unimp
+80004058: 0000 unimp
+8000405a: 0000 unimp
+8000405c: 0000 unimp
+8000405e: 0000 unimp
+
+80004060 <test_5_data>:
+80004060: 51ec lw a1,100(a1)
+80004062: 1eb8 addi a4,sp,888
+80004064: eb85 bnez a5,80004094 <test_6_data+0x14>
+80004066: bff5 j 80004062 <test_5_data+0x2>
+80004068: 5c28f5c3 0x5c28f5c3
+8000406c: bff5c28f 0xbff5c28f
+80004070: 0000 unimp
+80004072: 0000 unimp
+80004074: 0000 unimp
+80004076: 0000 unimp
+80004078: 0000 unimp
+8000407a: 0000 unimp
+8000407c: 0000 unimp
+8000407e: 0000 unimp
+
+80004080 <test_6_data>:
+80004080: 51ec lw a1,100(a1)
+80004082: 1eb8 addi a4,sp,888
+80004084: eb85 bnez a5,800040b4 <test_7_data+0x14>
+80004086: bff5 j 80004082 <test_6_data+0x2>
+80004088: 5c28f5c3 0x5c28f5c3
+8000408c: bff5c28f 0xbff5c28f
+80004090: 0000 unimp
+80004092: 0000 unimp
+80004094: 0000 unimp
+80004096: 0000 unimp
+80004098: 0001 nop
+8000409a: 0000 unimp
+8000409c: 0000 unimp
+8000409e: 0000 unimp
+
+800040a0 <test_7_data>:
+800040a0: 51ec lw a1,100(a1)
+800040a2: 1eb8 addi a4,sp,888
+800040a4: eb85 bnez a5,800040d4 <test_8_data+0x14>
+800040a6: bff5 j 800040a2 <test_7_data+0x2>
+800040a8: 5c28f5c3 0x5c28f5c3
+800040ac: bff5c28f 0xbff5c28f
+800040b0: 0000 unimp
+800040b2: 0000 unimp
+800040b4: 0000 unimp
+800040b6: 0000 unimp
+800040b8: 0001 nop
+800040ba: 0000 unimp
+800040bc: 0000 unimp
+800040be: 0000 unimp
+
+800040c0 <test_8_data>:
+800040c0: ffff 0xffff
+800040c2: ffff 0xffff
+800040c4: ffff 0xffff
+800040c6: 7fff 0x7fff
+800040c8: 0000 unimp
+800040ca: 0000 unimp
+800040cc: 0000 unimp
+800040ce: 0000 unimp
+800040d0: 0000 unimp
+800040d2: 0000 unimp
+800040d4: 0000 unimp
+800040d6: 0000 unimp
+800040d8: 0000 unimp
+800040da: 0000 unimp
+800040dc: 0000 unimp
+800040de: 0000 unimp
+
+800040e0 <test_9_data>:
+800040e0: ffff 0xffff
+800040e2: ffff 0xffff
+800040e4: ffff 0xffff
+800040e6: 7fff 0x7fff
+800040e8: ffff 0xffff
+800040ea: ffff 0xffff
+800040ec: ffff 0xffff
+800040ee: 7fff 0x7fff
+800040f0: 0000 unimp
+800040f2: 0000 unimp
+800040f4: 0000 unimp
+800040f6: 0000 unimp
+800040f8: 0000 unimp
+800040fa: 0000 unimp
+800040fc: 0000 unimp
+800040fe: 0000 unimp
+
+80004100 <test_10_data>:
+80004100: 0001 nop
+80004102: 0000 unimp
+80004104: 0000 unimp
+80004106: 7ff0 flw fa2,124(a5)
+80004108: 0000 unimp
+8000410a: 0000 unimp
+8000410c: 0000 unimp
+8000410e: 0000 unimp
+80004110: 0000 unimp
+80004112: 0000 unimp
+80004114: 0000 unimp
+80004116: 0000 unimp
+80004118: 0000 unimp
+8000411a: 0000 unimp
+8000411c: 0000 unimp
+8000411e: 0000 unimp
+
+80004120 <test_11_data>:
+80004120: ffff 0xffff
+80004122: ffff 0xffff
+80004124: ffff 0xffff
+80004126: 7fff 0x7fff
+80004128: 0000 unimp
+8000412a: 0000 unimp
+8000412c: 0000 unimp
+8000412e: 0000 unimp
+80004130: 0000 unimp
+80004132: 0000 unimp
+80004134: 0000 unimp
+80004136: 0000 unimp
+80004138: 0000 unimp
+8000413a: 0000 unimp
+8000413c: 0000 unimp
+8000413e: 0000 unimp
+
+80004140 <test_12_data>:
+80004140: ffff 0xffff
+80004142: ffff 0xffff
+80004144: ffff 0xffff
+80004146: 7fff 0x7fff
+80004148: ffff 0xffff
+8000414a: ffff 0xffff
+8000414c: ffff 0xffff
+8000414e: 7fff 0x7fff
+80004150: 0000 unimp
+80004152: 0000 unimp
+80004154: 0000 unimp
+80004156: 0000 unimp
+80004158: 0000 unimp
+8000415a: 0000 unimp
+8000415c: 0000 unimp
+8000415e: 0000 unimp
+
+80004160 <test_13_data>:
+80004160: 0001 nop
+80004162: 0000 unimp
+80004164: 0000 unimp
+80004166: 7ff0 flw fa2,124(a5)
+80004168: 0000 unimp
+8000416a: 0000 unimp
+8000416c: 0000 unimp
+8000416e: 0000 unimp
+80004170: 0000 unimp
+80004172: 0000 unimp
+80004174: 0000 unimp
+80004176: 0000 unimp
+80004178: 0000 unimp
+8000417a: 0000 unimp
+8000417c: 0000 unimp
+8000417e: 0000 unimp
+
+80004180 <test_14_data>:
+80004180: ffff 0xffff
+80004182: ffff 0xffff
+80004184: ffff 0xffff
+80004186: 7fff 0x7fff
+80004188: 0000 unimp
+8000418a: 0000 unimp
+8000418c: 0000 unimp
+8000418e: 0000 unimp
+80004190: 0000 unimp
+80004192: 0000 unimp
+80004194: 0000 unimp
+80004196: 0000 unimp
+80004198: 0000 unimp
+8000419a: 0000 unimp
+8000419c: 0000 unimp
+8000419e: 0000 unimp
+
+800041a0 <test_15_data>:
+800041a0: ffff 0xffff
+800041a2: ffff 0xffff
+800041a4: ffff 0xffff
+800041a6: 7fff 0x7fff
+800041a8: ffff 0xffff
+800041aa: ffff 0xffff
+800041ac: ffff 0xffff
+800041ae: 7fff 0x7fff
+800041b0: 0000 unimp
+800041b2: 0000 unimp
+800041b4: 0000 unimp
+800041b6: 0000 unimp
+800041b8: 0000 unimp
+800041ba: 0000 unimp
+800041bc: 0000 unimp
+800041be: 0000 unimp
+
+800041c0 <test_16_data>:
+800041c0: 0001 nop
+800041c2: 0000 unimp
+800041c4: 0000 unimp
+800041c6: 7ff0 flw fa2,124(a5)
+800041c8: 0000 unimp
+800041ca: 0000 unimp
+800041cc: 0000 unimp
+800041ce: 0000 unimp
+800041d0: 0000 unimp
+800041d2: 0000 unimp
+800041d4: 0000 unimp
+800041d6: 0000 unimp
+800041d8: 0000 unimp
+800041da: 0000 unimp
+800041dc: 0000 unimp
+800041de: 0000 unimp
diff --git a/test/riscv-tests/rv32ud-v-fcmp.elf b/test/riscv-tests/rv32ud-v-fcmp.elf
new file mode 100644
index 0000000..bc134d7
--- /dev/null
+++ b/test/riscv-tests/rv32ud-v-fcmp.elf
Binary files differ
diff --git a/test/riscv-tests/rv32ud-v-fcvt.dump b/test/riscv-tests/rv32ud-v-fcvt.dump
new file mode 100644
index 0000000..1425a18
--- /dev/null
+++ b/test/riscv-tests/rv32ud-v-fcvt.dump
@@ -0,0 +1,1095 @@
+
+rv32ud-v-fcvt: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 00c0006f j 8000000c <handle_reset>
+
+80000004 <nmi_vector>:
+80000004: 2780206f j 8000227c <wtf>
+
+80000008 <trap_vector>:
+80000008: 2740206f j 8000227c <wtf>
+
+8000000c <handle_reset>:
+8000000c: 00000297 auipc t0,0x0
+80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+80000014: 30529073 csrw mtvec,t0
+80000018: 00007117 auipc sp,0x7
+8000001c: 35010113 addi sp,sp,848 # 80007368 <_end+0xf70>
+80000020: f14022f3 csrr t0,mhartid
+80000024: 00c29293 slli t0,t0,0xc
+80000028: 00510133 add sp,sp,t0
+8000002c: 34011073 csrw mscratch,sp
+80000030: 00003517 auipc a0,0x3
+80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart>
+80000038: 2090206f j 80002a40 <vm_boot>
+
+8000003c <pop_tf>:
+8000003c: 08452283 lw t0,132(a0)
+80000040: 14129073 csrw sepc,t0
+80000044: 00452083 lw ra,4(a0)
+80000048: 00852103 lw sp,8(a0)
+8000004c: 00c52183 lw gp,12(a0)
+80000050: 01052203 lw tp,16(a0)
+80000054: 01452283 lw t0,20(a0)
+80000058: 01852303 lw t1,24(a0)
+8000005c: 01c52383 lw t2,28(a0)
+80000060: 02052403 lw s0,32(a0)
+80000064: 02452483 lw s1,36(a0)
+80000068: 02c52583 lw a1,44(a0)
+8000006c: 03052603 lw a2,48(a0)
+80000070: 03452683 lw a3,52(a0)
+80000074: 03852703 lw a4,56(a0)
+80000078: 03c52783 lw a5,60(a0)
+8000007c: 04052803 lw a6,64(a0)
+80000080: 04452883 lw a7,68(a0)
+80000084: 04852903 lw s2,72(a0)
+80000088: 04c52983 lw s3,76(a0)
+8000008c: 05052a03 lw s4,80(a0)
+80000090: 05452a83 lw s5,84(a0)
+80000094: 05852b03 lw s6,88(a0)
+80000098: 05c52b83 lw s7,92(a0)
+8000009c: 06052c03 lw s8,96(a0)
+800000a0: 06452c83 lw s9,100(a0)
+800000a4: 06852d03 lw s10,104(a0)
+800000a8: 06c52d83 lw s11,108(a0)
+800000ac: 07052e03 lw t3,112(a0)
+800000b0: 07452e83 lw t4,116(a0)
+800000b4: 07852f03 lw t5,120(a0)
+800000b8: 07c52f83 lw t6,124(a0)
+800000bc: 02852503 lw a0,40(a0)
+800000c0: 10200073 sret
+
+800000c4 <trap_entry>:
+800000c4: 14011173 csrrw sp,sscratch,sp
+800000c8: 00112223 sw ra,4(sp)
+800000cc: 00312623 sw gp,12(sp)
+800000d0: 00412823 sw tp,16(sp)
+800000d4: 00512a23 sw t0,20(sp)
+800000d8: 00612c23 sw t1,24(sp)
+800000dc: 00712e23 sw t2,28(sp)
+800000e0: 02812023 sw s0,32(sp)
+800000e4: 02912223 sw s1,36(sp)
+800000e8: 02a12423 sw a0,40(sp)
+800000ec: 02b12623 sw a1,44(sp)
+800000f0: 02c12823 sw a2,48(sp)
+800000f4: 02d12a23 sw a3,52(sp)
+800000f8: 02e12c23 sw a4,56(sp)
+800000fc: 02f12e23 sw a5,60(sp)
+80000100: 05012023 sw a6,64(sp)
+80000104: 05112223 sw a7,68(sp)
+80000108: 05212423 sw s2,72(sp)
+8000010c: 05312623 sw s3,76(sp)
+80000110: 05412823 sw s4,80(sp)
+80000114: 05512a23 sw s5,84(sp)
+80000118: 05612c23 sw s6,88(sp)
+8000011c: 05712e23 sw s7,92(sp)
+80000120: 07812023 sw s8,96(sp)
+80000124: 07912223 sw s9,100(sp)
+80000128: 07a12423 sw s10,104(sp)
+8000012c: 07b12623 sw s11,108(sp)
+80000130: 07c12823 sw t3,112(sp)
+80000134: 07d12a23 sw t4,116(sp)
+80000138: 07e12c23 sw t5,120(sp)
+8000013c: 07f12e23 sw t6,124(sp)
+80000140: 140112f3 csrrw t0,sscratch,sp
+80000144: 00512423 sw t0,8(sp)
+80000148: 100022f3 csrr t0,sstatus
+8000014c: 08512023 sw t0,128(sp)
+80000150: 141022f3 csrr t0,sepc
+80000154: 08512223 sw t0,132(sp)
+80000158: 143022f3 csrr t0,stval
+8000015c: 08512423 sw t0,136(sp)
+80000160: 142022f3 csrr t0,scause
+80000164: 08512623 sw t0,140(sp)
+80000168: 00010513 mv a0,sp
+8000016c: 50c0206f j 80002678 <handle_trap>
+
+Disassembly of section .text:
+
+80002000 <memcpy>:
+80002000: 00c5e7b3 or a5,a1,a2
+80002004: 00f567b3 or a5,a0,a5
+80002008: 0037f793 andi a5,a5,3
+8000200c: 00c506b3 add a3,a0,a2
+80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+80002014: 00c58633 add a2,a1,a2
+80002018: 00050793 mv a5,a0
+8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+80002020: 00158593 addi a1,a1,1
+80002024: fff5c703 lbu a4,-1(a1)
+80002028: 00178793 addi a5,a5,1
+8000202c: fee78fa3 sb a4,-1(a5)
+80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+80002034: 00008067 ret
+80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+8000203c: 00050793 mv a5,a0
+80002040: 00458593 addi a1,a1,4
+80002044: ffc5a703 lw a4,-4(a1)
+80002048: 00478793 addi a5,a5,4
+8000204c: fee7ae23 sw a4,-4(a5)
+80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+80002054: 00008067 ret
+80002058: 00008067 ret
+
+8000205c <memset>:
+8000205c: 00c567b3 or a5,a0,a2
+80002060: 0037f793 andi a5,a5,3
+80002064: 00c50633 add a2,a0,a2
+80002068: 02078063 beqz a5,80002088 <memset+0x2c>
+8000206c: 0ff5f593 andi a1,a1,255
+80002070: 00050793 mv a5,a0
+80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58>
+80002078: 00178793 addi a5,a5,1
+8000207c: feb78fa3 sb a1,-1(a5)
+80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+80002084: 00008067 ret
+80002088: 0ff5f593 andi a1,a1,255
+8000208c: 00859793 slli a5,a1,0x8
+80002090: 00b7e7b3 or a5,a5,a1
+80002094: 01079593 slli a1,a5,0x10
+80002098: 00f5e5b3 or a1,a1,a5
+8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28>
+800020a0: 00050793 mv a5,a0
+800020a4: 00478793 addi a5,a5,4
+800020a8: feb7ae23 sw a1,-4(a5)
+800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48>
+800020b0: 00008067 ret
+800020b4: 00008067 ret
+
+800020b8 <strlen>:
+800020b8: 00054783 lbu a5,0(a0)
+800020bc: 00050713 mv a4,a0
+800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20>
+800020c4: 00150513 addi a0,a0,1
+800020c8: 00054783 lbu a5,0(a0)
+800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc>
+800020d0: 40e50533 sub a0,a0,a4
+800020d4: 00008067 ret
+800020d8: 00000513 li a0,0
+800020dc: 00008067 ret
+
+800020e0 <strcmp>:
+800020e0: 00150513 addi a0,a0,1
+800020e4: fff54783 lbu a5,-1(a0)
+800020e8: 00158593 addi a1,a1,1
+800020ec: fff5c703 lbu a4,-1(a1)
+800020f0: 00078863 beqz a5,80002100 <strcmp+0x20>
+800020f4: fee786e3 beq a5,a4,800020e0 <strcmp>
+800020f8: 40e78533 sub a0,a5,a4
+800020fc: 00008067 ret
+80002100: 00000793 li a5,0
+80002104: ff5ff06f j 800020f8 <strcmp+0x18>
+
+80002108 <memcmp>:
+80002108: 00b567b3 or a5,a0,a1
+8000210c: 0037f793 andi a5,a5,3
+80002110: 04079263 bnez a5,80002154 <memcmp+0x4c>
+80002114: ffc67693 andi a3,a2,-4
+80002118: 00d506b3 add a3,a0,a3
+8000211c: 00050813 mv a6,a0
+80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c>
+80002124: 00052703 lw a4,0(a0)
+80002128: 0005a783 lw a5,0(a1)
+8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38>
+80002130: 0240006f j 80002154 <memcmp+0x4c>
+80002134: 00052703 lw a4,0(a0)
+80002138: 0005a783 lw a5,0(a1)
+8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44>
+80002140: 00450513 addi a0,a0,4
+80002144: 00458593 addi a1,a1,4
+80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c>
+8000214c: 41050833 sub a6,a0,a6
+80002150: 41060633 sub a2,a2,a6
+80002154: 00c58633 add a2,a1,a2
+80002158: 0140006f j 8000216c <memcmp+0x64>
+8000215c: 00158593 addi a1,a1,1
+80002160: fff54783 lbu a5,-1(a0)
+80002164: fff5c703 lbu a4,-1(a1)
+80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74>
+8000216c: 00150513 addi a0,a0,1
+80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54>
+80002174: 00000513 li a0,0
+80002178: 00008067 ret
+8000217c: 40e78533 sub a0,a5,a4
+80002180: 00008067 ret
+
+80002184 <strcpy>:
+80002184: 00050793 mv a5,a0
+80002188: 00158593 addi a1,a1,1
+8000218c: fff5c703 lbu a4,-1(a1)
+80002190: 00178793 addi a5,a5,1
+80002194: fee78fa3 sb a4,-1(a5)
+80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4>
+8000219c: 00008067 ret
+
+800021a0 <atol>:
+800021a0: 00054783 lbu a5,0(a0)
+800021a4: 02000713 li a4,32
+800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18>
+800021ac: 00150513 addi a0,a0,1
+800021b0: 00054783 lbu a5,0(a0)
+800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc>
+800021b8: fd578713 addi a4,a5,-43
+800021bc: 0fd77713 andi a4,a4,253
+800021c0: 04070263 beqz a4,80002204 <atol+0x64>
+800021c4: 00054683 lbu a3,0(a0)
+800021c8: 00050793 mv a5,a0
+800021cc: 00000613 li a2,0
+800021d0: 04068863 beqz a3,80002220 <atol+0x80>
+800021d4: 00000513 li a0,0
+800021d8: 00178793 addi a5,a5,1
+800021dc: fd068593 addi a1,a3,-48
+800021e0: 00251713 slli a4,a0,0x2
+800021e4: 0007c683 lbu a3,0(a5)
+800021e8: 00a70533 add a0,a4,a0
+800021ec: 00151513 slli a0,a0,0x1
+800021f0: 00a58533 add a0,a1,a0
+800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38>
+800021f8: 00060463 beqz a2,80002200 <atol+0x60>
+800021fc: 40a00533 neg a0,a0
+80002200: 00008067 ret
+80002204: 00154683 lbu a3,1(a0)
+80002208: fd378793 addi a5,a5,-45
+8000220c: 0017b613 seqz a2,a5
+80002210: 00150793 addi a5,a0,1
+80002214: fc0690e3 bnez a3,800021d4 <atol+0x34>
+80002218: 00000513 li a0,0
+8000221c: fddff06f j 800021f8 <atol+0x58>
+80002220: 00000513 li a0,0
+80002224: 00008067 ret
+
+80002228 <terminate>:
+80002228: fffff697 auipc a3,0xfffff
+8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost>
+80002230: 0006a703 lw a4,0(a3)
+80002234: 0046a783 lw a5,4(a3)
+80002238: 00050813 mv a6,a0
+8000223c: 41f55893 srai a7,a0,0x1f
+80002240: 00f76733 or a4,a4,a5
+80002244: 02070663 beqz a4,80002270 <terminate+0x48>
+80002248: fffff617 auipc a2,0xfffff
+8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost>
+80002250: 00000713 li a4,0
+80002254: 00e62023 sw a4,0(a2)
+80002258: 00000793 li a5,0
+8000225c: 00f62223 sw a5,4(a2)
+80002260: 0006a703 lw a4,0(a3)
+80002264: 0046a783 lw a5,4(a3)
+80002268: 00f76733 or a4,a4,a5
+8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28>
+80002270: 0106a023 sw a6,0(a3)
+80002274: 0116a223 sw a7,4(a3)
+80002278: 0000006f j 80002278 <terminate+0x50>
+
+8000227c <wtf>:
+8000227c: ff010113 addi sp,sp,-16
+80002280: 34900513 li a0,841
+80002284: 00112623 sw ra,12(sp)
+80002288: fa1ff0ef jal ra,80002228 <terminate>
+
+8000228c <printhex>:
+8000228c: fe010113 addi sp,sp,-32
+80002290: 01b10793 addi a5,sp,27
+80002294: 00b10e93 addi t4,sp,11
+80002298: 00900e13 li t3,9
+8000229c: 00f57693 andi a3,a0,15
+800022a0: 01c59313 slli t1,a1,0x1c
+800022a4: 00455513 srli a0,a0,0x4
+800022a8: 05700613 li a2,87
+800022ac: 0ff6f713 andi a4,a3,255
+800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c>
+800022b4: 03000613 li a2,48
+800022b8: 00c70733 add a4,a4,a2
+800022bc: 00e78023 sb a4,0(a5)
+800022c0: fff78793 addi a5,a5,-1
+800022c4: 00a36533 or a0,t1,a0
+800022c8: 0045d593 srli a1,a1,0x4
+800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10>
+800022d0: 00c14583 lbu a1,12(sp)
+800022d4: 00010e23 sb zero,28(sp)
+800022d8: 06058263 beqz a1,8000233c <printhex+0xb0>
+800022dc: 00c10513 addi a0,sp,12
+800022e0: fffff697 auipc a3,0xfffff
+800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost>
+800022e8: fffff617 auipc a2,0xfffff
+800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost>
+800022f0: 0006a703 lw a4,0(a3)
+800022f4: 0046a783 lw a5,4(a3)
+800022f8: 00058813 mv a6,a1
+800022fc: 00150513 addi a0,a0,1
+80002300: 00f76733 or a4,a4,a5
+80002304: 010108b7 lui a7,0x1010
+80002308: 02070263 beqz a4,8000232c <printhex+0xa0>
+8000230c: 00000713 li a4,0
+80002310: 00e62023 sw a4,0(a2)
+80002314: 00000793 li a5,0
+80002318: 00f62223 sw a5,4(a2)
+8000231c: 0006a703 lw a4,0(a3)
+80002320: 0046a783 lw a5,4(a3)
+80002324: 00f76733 or a4,a4,a5
+80002328: fe0712e3 bnez a4,8000230c <printhex+0x80>
+8000232c: 00054583 lbu a1,0(a0)
+80002330: 0106a023 sw a6,0(a3)
+80002334: 0116a223 sw a7,4(a3)
+80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64>
+8000233c: 02010113 addi sp,sp,32
+80002340: 00008067 ret
+
+80002344 <handle_fault>:
+80002344: ff010113 addi sp,sp,-16
+80002348: fffff6b7 lui a3,0xfffff
+8000234c: 00112623 sw ra,12(sp)
+80002350: 00812423 sw s0,8(sp)
+80002354: 00912223 sw s1,4(sp)
+80002358: 00d50733 add a4,a0,a3
+8000235c: 0003e7b7 lui a5,0x3e
+80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180>
+80002364: 00c55613 srli a2,a0,0xc
+80002368: 40060e13 addi t3,a2,1024
+8000236c: 00002317 auipc t1,0x2
+80002370: c9430313 addi t1,t1,-876 # 80004000 <pt>
+80002374: 002e1793 slli a5,t3,0x2
+80002378: 00f307b3 add a5,t1,a5
+8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000>
+80002380: 00d57533 and a0,a0,a3
+80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130>
+80002388: 00004797 auipc a5,0x4
+8000238c: 06c78793 addi a5,a5,108 # 800063f4 <freelist_head>
+80002390: 0007a583 lw a1,0(a5)
+80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0>
+80002398: 0045a783 lw a5,4(a1)
+8000239c: 00004717 auipc a4,0x4
+800023a0: 05470713 addi a4,a4,84 # 800063f0 <freelist_tail>
+800023a4: 00072703 lw a4,0(a4)
+800023a8: 00004697 auipc a3,0x4
+800023ac: 04f6a623 sw a5,76(a3) # 800063f4 <freelist_head>
+800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174>
+800023b4: 0005a703 lw a4,0(a1)
+800023b8: 002e1793 slli a5,t3,0x2
+800023bc: 00f307b3 add a5,t1,a5
+800023c0: 00c75713 srli a4,a4,0xc
+800023c4: 00a71713 slli a4,a4,0xa
+800023c8: 0df76e93 ori t4,a4,223
+800023cc: 01f76693 ori a3,a4,31
+800023d0: 01d7a023 sw t4,0(a5)
+800023d4: 12050073 sfence.vma a0
+800023d8: 00004717 auipc a4,0x4
+800023dc: e2070713 addi a4,a4,-480 # 800061f8 <user_mapping>
+800023e0: 00361793 slli a5,a2,0x3
+800023e4: 00f707b3 add a5,a4,a5
+800023e8: 0007a703 lw a4,0(a5)
+800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c>
+800023f0: 0005a703 lw a4,0(a1)
+800023f4: 00e7a023 sw a4,0(a5)
+800023f8: 0045a703 lw a4,4(a1)
+800023fc: 00e7a223 sw a4,4(a5)
+80002400: 000407b7 lui a5,0x40
+80002404: 1007a5f3 csrrs a1,sstatus,a5
+80002408: ffc007b7 lui a5,0xffc00
+8000240c: 00f507b3 add a5,a0,a5
+80002410: 00001637 lui a2,0x1
+80002414: 00050713 mv a4,a0
+80002418: 00c78633 add a2,a5,a2
+8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf9c08>
+80002420: 0047ae83 lw t4,4(a5)
+80002424: 0087a883 lw a7,8(a5)
+80002428: 00c7a803 lw a6,12(a5)
+8000242c: 01e72023 sw t5,0(a4)
+80002430: 01d72223 sw t4,4(a4)
+80002434: 01172423 sw a7,8(a4)
+80002438: 01072623 sw a6,12(a4)
+8000243c: 01078793 addi a5,a5,16
+80002440: 01070713 addi a4,a4,16
+80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8>
+80002448: 10059073 csrw sstatus,a1
+8000244c: 002e1e13 slli t3,t3,0x2
+80002450: 01c30333 add t1,t1,t3
+80002454: 00d32023 sw a3,0(t1)
+80002458: 12050073 sfence.vma a0
+8000245c: 0000100f fence.i
+80002460: 00c12083 lw ra,12(sp)
+80002464: 00812403 lw s0,8(sp)
+80002468: 00412483 lw s1,4(sp)
+8000246c: 01010113 addi sp,sp,16
+80002470: 00008067 ret
+80002474: 04077693 andi a3,a4,64
+80002478: 02069263 bnez a3,8000249c <handle_fault+0x158>
+8000247c: 04076713 ori a4,a4,64
+80002480: 00e7a023 sw a4,0(a5)
+80002484: 12050073 sfence.vma a0
+80002488: 00c12083 lw ra,12(sp)
+8000248c: 00812403 lw s0,8(sp)
+80002490: 00412483 lw s1,4(sp)
+80002494: 01010113 addi sp,sp,16
+80002498: 00008067 ret
+8000249c: 08077693 andi a3,a4,128
+800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8>
+800024a4: 00f00693 li a3,15
+800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8>
+800024ac: 08076713 ori a4,a4,128
+800024b0: 00e7a023 sw a4,0(a5)
+800024b4: fd1ff06f j 80002484 <handle_fault+0x140>
+800024b8: 00004797 auipc a5,0x4
+800024bc: f207ac23 sw zero,-200(a5) # 800063f0 <freelist_tail>
+800024c0: ef5ff06f j 800023b4 <handle_fault+0x70>
+800024c4: 04100513 li a0,65
+800024c8: 00001597 auipc a1,0x1
+800024cc: 8c858593 addi a1,a1,-1848 # 80002d90 <pass+0xc>
+800024d0: fffff697 auipc a3,0xfffff
+800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost>
+800024d8: fffff617 auipc a2,0xfffff
+800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost>
+800024e0: 0006a703 lw a4,0(a3)
+800024e4: 0046a783 lw a5,4(a3)
+800024e8: 00050313 mv t1,a0
+800024ec: 00158593 addi a1,a1,1
+800024f0: 00f76733 or a4,a4,a5
+800024f4: 010103b7 lui t2,0x1010
+800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8>
+800024fc: 00000793 li a5,0
+80002500: 00f62023 sw a5,0(a2)
+80002504: 00000813 li a6,0
+80002508: 01062223 sw a6,4(a2)
+8000250c: 0006a703 lw a4,0(a3)
+80002510: 0046a783 lw a5,4(a3)
+80002514: 00f76733 or a4,a4,a5
+80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8>
+8000251c: 0005c503 lbu a0,0(a1)
+80002520: 0066a023 sw t1,0(a3)
+80002524: 0076a223 sw t2,4(a3)
+80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c>
+8000252c: 00300513 li a0,3
+80002530: cf9ff0ef jal ra,80002228 <terminate>
+80002534: 04100513 li a0,65
+80002538: 00001597 auipc a1,0x1
+8000253c: 8e458593 addi a1,a1,-1820 # 80002e1c <pass+0x98>
+80002540: fffff697 auipc a3,0xfffff
+80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost>
+80002548: fffff617 auipc a2,0xfffff
+8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost>
+80002550: 0006a703 lw a4,0(a3)
+80002554: 0046a783 lw a5,4(a3)
+80002558: 00050f13 mv t5,a0
+8000255c: 00158593 addi a1,a1,1
+80002560: 00f76733 or a4,a4,a5
+80002564: 01010fb7 lui t6,0x1010
+80002568: 02070263 beqz a4,8000258c <handle_fault+0x248>
+8000256c: 00000793 li a5,0
+80002570: 00f62023 sw a5,0(a2)
+80002574: 00000813 li a6,0
+80002578: 01062223 sw a6,4(a2)
+8000257c: 0006a703 lw a4,0(a3)
+80002580: 0046a783 lw a5,4(a3)
+80002584: 00f76733 or a4,a4,a5
+80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228>
+8000258c: 0005c503 lbu a0,0(a1)
+80002590: 01e6a023 sw t5,0(a3)
+80002594: 01f6a223 sw t6,4(a3)
+80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c>
+8000259c: f91ff06f j 8000252c <handle_fault+0x1e8>
+800025a0: 04100513 li a0,65
+800025a4: 00001597 auipc a1,0x1
+800025a8: 89058593 addi a1,a1,-1904 # 80002e34 <pass+0xb0>
+800025ac: fffff697 auipc a3,0xfffff
+800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost>
+800025b4: fffff617 auipc a2,0xfffff
+800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost>
+800025bc: 0006a703 lw a4,0(a3)
+800025c0: 0046a783 lw a5,4(a3)
+800025c4: 00050813 mv a6,a0
+800025c8: 00158593 addi a1,a1,1
+800025cc: 00f76733 or a4,a4,a5
+800025d0: 010108b7 lui a7,0x1010
+800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4>
+800025d8: 00000713 li a4,0
+800025dc: 00e62023 sw a4,0(a2)
+800025e0: 00000793 li a5,0
+800025e4: 00f62223 sw a5,4(a2)
+800025e8: 0006a703 lw a4,0(a3)
+800025ec: 0046a783 lw a5,4(a3)
+800025f0: 00f76733 or a4,a4,a5
+800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294>
+800025f8: 0005c503 lbu a0,0(a1)
+800025fc: 0106a023 sw a6,0(a3)
+80002600: 0116a223 sw a7,4(a3)
+80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278>
+80002608: f25ff06f j 8000252c <handle_fault+0x1e8>
+8000260c: 04100793 li a5,65
+80002610: 00000597 auipc a1,0x0
+80002614: 7c458593 addi a1,a1,1988 # 80002dd4 <pass+0x50>
+80002618: fffff697 auipc a3,0xfffff
+8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost>
+80002620: fffff617 auipc a2,0xfffff
+80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost>
+80002628: 0006a803 lw a6,0(a3)
+8000262c: 0046a883 lw a7,4(a3)
+80002630: 00078413 mv s0,a5
+80002634: 00158593 addi a1,a1,1
+80002638: 01186833 or a6,a6,a7
+8000263c: 010104b7 lui s1,0x1010
+80002640: 02080263 beqz a6,80002664 <handle_fault+0x320>
+80002644: 00000793 li a5,0
+80002648: 00f62023 sw a5,0(a2)
+8000264c: 00000813 li a6,0
+80002650: 01062223 sw a6,4(a2)
+80002654: 0006a703 lw a4,0(a3)
+80002658: 0046a783 lw a5,4(a3)
+8000265c: 00f76733 or a4,a4,a5
+80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300>
+80002664: 0005c783 lbu a5,0(a1)
+80002668: 0086a023 sw s0,0(a3)
+8000266c: 0096a223 sw s1,4(a3)
+80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4>
+80002674: eb9ff06f j 8000252c <handle_fault+0x1e8>
+
+80002678 <handle_trap>:
+80002678: 08c52583 lw a1,140(a0)
+8000267c: fb010113 addi sp,sp,-80
+80002680: 03412c23 sw s4,56(sp)
+80002684: 04112623 sw ra,76(sp)
+80002688: 04812423 sw s0,72(sp)
+8000268c: 04912223 sw s1,68(sp)
+80002690: 05212023 sw s2,64(sp)
+80002694: 03312e23 sw s3,60(sp)
+80002698: 03512a23 sw s5,52(sp)
+8000269c: 03612823 sw s6,48(sp)
+800026a0: 03712623 sw s7,44(sp)
+800026a4: 03812423 sw s8,40(sp)
+800026a8: 03912223 sw s9,36(sp)
+800026ac: 03a12023 sw s10,32(sp)
+800026b0: 01b12e23 sw s11,28(sp)
+800026b4: 00800793 li a5,8
+800026b8: 00050a13 mv s4,a0
+800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0>
+800026c0: 00200793 li a5,2
+800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac>
+800026c8: ff458793 addi a5,a1,-12
+800026cc: 00100713 li a4,1
+800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64>
+800026d4: 00f00793 li a5,15
+800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294>
+800026dc: 088a2503 lw a0,136(s4)
+800026e0: c65ff0ef jal ra,80002344 <handle_fault>
+800026e4: 04812403 lw s0,72(sp)
+800026e8: 04c12083 lw ra,76(sp)
+800026ec: 04412483 lw s1,68(sp)
+800026f0: 04012903 lw s2,64(sp)
+800026f4: 03c12983 lw s3,60(sp)
+800026f8: 03412a83 lw s5,52(sp)
+800026fc: 03012b03 lw s6,48(sp)
+80002700: 02c12b83 lw s7,44(sp)
+80002704: 02812c03 lw s8,40(sp)
+80002708: 02412c83 lw s9,36(sp)
+8000270c: 02012d03 lw s10,32(sp)
+80002710: 01c12d83 lw s11,28(sp)
+80002714: 000a0513 mv a0,s4
+80002718: 03812a03 lw s4,56(sp)
+8000271c: 05010113 addi sp,sp,80
+80002720: 91dfd06f j 8000003c <pop_tf>
+80002724: 08452703 lw a4,132(a0)
+80002728: 00377793 andi a5,a4,3
+8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144>
+80002730: 008007ef jal a5,80002738 <handle_trap+0xc0>
+80002734: 00301073 fssr zero
+80002738: 00072703 lw a4,0(a4)
+8000273c: 0007a783 lw a5,0(a5)
+80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c>
+80002744: 04100513 li a0,65
+80002748: 00000597 auipc a1,0x0
+8000274c: 7b458593 addi a1,a1,1972 # 80002efc <pass+0x178>
+80002750: fffff697 auipc a3,0xfffff
+80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost>
+80002758: fffff617 auipc a2,0xfffff
+8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost>
+80002760: 0006a703 lw a4,0(a3)
+80002764: 0046a783 lw a5,4(a3)
+80002768: 00050813 mv a6,a0
+8000276c: 00158593 addi a1,a1,1
+80002770: 00f76733 or a4,a4,a5
+80002774: 010108b7 lui a7,0x1010
+80002778: 02070263 beqz a4,8000279c <handle_trap+0x124>
+8000277c: 00000713 li a4,0
+80002780: 00e62023 sw a4,0(a2)
+80002784: 00000793 li a5,0
+80002788: 00f62223 sw a5,4(a2)
+8000278c: 0006a703 lw a4,0(a3)
+80002790: 0046a783 lw a5,4(a3)
+80002794: 00f76733 or a4,a4,a5
+80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104>
+8000279c: 0005c503 lbu a0,0(a1)
+800027a0: 0106a023 sw a6,0(a3)
+800027a4: 0116a223 sw a7,4(a3)
+800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8>
+800027ac: 00300513 li a0,3
+800027b0: a79ff0ef jal ra,80002228 <terminate>
+800027b4: 00100513 li a0,1
+800027b8: a71ff0ef jal ra,80002228 <terminate>
+800027bc: 00000597 auipc a1,0x0
+800027c0: 71c58593 addi a1,a1,1820 # 80002ed8 <pass+0x154>
+800027c4: 04100613 li a2,65
+800027c8: fffff697 auipc a3,0xfffff
+800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost>
+800027d0: fffff517 auipc a0,0xfffff
+800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost>
+800027d8: 0006a703 lw a4,0(a3)
+800027dc: 0046a783 lw a5,4(a3)
+800027e0: 00060e13 mv t3,a2
+800027e4: 00158593 addi a1,a1,1
+800027e8: 00f76733 or a4,a4,a5
+800027ec: 01010eb7 lui t4,0x1010
+800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c>
+800027f4: 00000793 li a5,0
+800027f8: 00f52023 sw a5,0(a0)
+800027fc: 00000813 li a6,0
+80002800: 01052223 sw a6,4(a0)
+80002804: 0006a703 lw a4,0(a3)
+80002808: 0046a783 lw a5,4(a3)
+8000280c: 00f76733 or a4,a4,a5
+80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c>
+80002814: 0005c603 lbu a2,0(a1)
+80002818: 01c6a023 sw t3,0(a3)
+8000281c: 01d6a223 sw t4,4(a3)
+80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160>
+80002824: f89ff06f j 800027ac <handle_trap+0x134>
+80002828: 02852783 lw a5,40(a0)
+8000282c: 00001a37 lui s4,0x1
+80002830: 00004b17 auipc s6,0x4
+80002834: 9c8b0b13 addi s6,s6,-1592 # 800061f8 <user_mapping>
+80002838: 00f12223 sw a5,4(sp)
+8000283c: 00001d17 auipc s10,0x1
+80002840: 7c4d0d13 addi s10,s10,1988 # 80004000 <pt>
+80002844: 00040cb7 lui s9,0x40
+80002848: ffc00c37 lui s8,0xffc00
+8000284c: 0003fab7 lui s5,0x3f
+80002850: 01c0006f j 8000286c <handle_trap+0x1f4>
+80002854: 00f72223 sw a5,4(a4)
+80002858: 00004717 auipc a4,0x4
+8000285c: b8f72c23 sw a5,-1128(a4) # 800063f0 <freelist_tail>
+80002860: 000017b7 lui a5,0x1
+80002864: 00fa0a33 add s4,s4,a5
+80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398>
+8000286c: 00ca5713 srli a4,s4,0xc
+80002870: 00371b93 slli s7,a4,0x3
+80002874: 017b0633 add a2,s6,s7
+80002878: 00062603 lw a2,0(a2)
+8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8>
+80002880: 40070713 addi a4,a4,1024
+80002884: 00271713 slli a4,a4,0x2
+80002888: 00ed0733 add a4,s10,a4
+8000288c: 00072703 lw a4,0(a4)
+80002890: 04077613 andi a2,a4,64
+80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c>
+80002898: 00e12623 sw a4,12(sp)
+8000289c: 100cadf3 csrrs s11,sstatus,s9
+800028a0: 018a0833 add a6,s4,s8
+800028a4: 00001637 lui a2,0x1
+800028a8: 00080593 mv a1,a6
+800028ac: 000a0513 mv a0,s4
+800028b0: 01012423 sw a6,8(sp)
+800028b4: 855ff0ef jal ra,80002108 <memcmp>
+800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264>
+800028bc: 00c12703 lw a4,12(sp)
+800028c0: 00812803 lw a6,8(sp)
+800028c4: 08077713 andi a4,a4,128
+800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300>
+800028cc: 00001637 lui a2,0x1
+800028d0: 00080593 mv a1,a6
+800028d4: 000a0513 mv a0,s4
+800028d8: f28ff0ef jal ra,80002000 <memcpy>
+800028dc: 017b07b3 add a5,s6,s7
+800028e0: 100d9073 csrw sstatus,s11
+800028e4: 00004717 auipc a4,0x4
+800028e8: b0c70713 addi a4,a4,-1268 # 800063f0 <freelist_tail>
+800028ec: 00072703 lw a4,0(a4)
+800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000>
+800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc>
+800028f8: 00004717 auipc a4,0x4
+800028fc: aef72c23 sw a5,-1288(a4) # 800063f0 <freelist_tail>
+80002900: 00004717 auipc a4,0x4
+80002904: aef72a23 sw a5,-1292(a4) # 800063f4 <freelist_head>
+80002908: f59ff06f j 80002860 <handle_trap+0x1e8>
+8000290c: 04100593 li a1,65
+80002910: 00000617 auipc a2,0x0
+80002914: 61860613 addi a2,a2,1560 # 80002f28 <pass+0x1a4>
+80002918: ffffe697 auipc a3,0xffffe
+8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost>
+80002920: ffffe517 auipc a0,0xffffe
+80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost>
+80002928: 0006a703 lw a4,0(a3)
+8000292c: 0046a783 lw a5,4(a3)
+80002930: 00058313 mv t1,a1
+80002934: 00160613 addi a2,a2,1
+80002938: 00f76733 or a4,a4,a5
+8000293c: 010103b7 lui t2,0x1010
+80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec>
+80002944: 00000793 li a5,0
+80002948: 00f52023 sw a5,0(a0)
+8000294c: 00000813 li a6,0
+80002950: 01052223 sw a6,4(a0)
+80002954: 0006a703 lw a4,0(a3)
+80002958: 0046a783 lw a5,4(a3)
+8000295c: 00f76733 or a4,a4,a5
+80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc>
+80002964: 00064583 lbu a1,0(a2)
+80002968: 0066a023 sw t1,0(a3)
+8000296c: 0076a223 sw t2,4(a3)
+80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0>
+80002974: e39ff06f j 800027ac <handle_trap+0x134>
+80002978: 04100793 li a5,65
+8000297c: 00000617 auipc a2,0x0
+80002980: 52860613 addi a2,a2,1320 # 80002ea4 <pass+0x120>
+80002984: ffffe697 auipc a3,0xffffe
+80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost>
+8000298c: ffffe597 auipc a1,0xffffe
+80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost>
+80002994: 00078413 mv s0,a5
+80002998: 00160613 addi a2,a2,1
+8000299c: 010104b7 lui s1,0x1010
+800029a0: 0006a703 lw a4,0(a3)
+800029a4: 0046a783 lw a5,4(a3)
+800029a8: 00f76733 or a4,a4,a5
+800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0>
+800029b0: 00000793 li a5,0
+800029b4: 00000813 li a6,0
+800029b8: 00f5a023 sw a5,0(a1)
+800029bc: 0105a223 sw a6,4(a1)
+800029c0: fe1ff06f j 800029a0 <handle_trap+0x328>
+800029c4: 04100793 li a5,65
+800029c8: 00000617 auipc a2,0x0
+800029cc: 4a860613 addi a2,a2,1192 # 80002e70 <pass+0xec>
+800029d0: ffffe697 auipc a3,0xffffe
+800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost>
+800029d8: ffffe597 auipc a1,0xffffe
+800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost>
+800029e0: 00078913 mv s2,a5
+800029e4: 00160613 addi a2,a2,1
+800029e8: 010109b7 lui s3,0x1010
+800029ec: 0006a703 lw a4,0(a3)
+800029f0: 0046a783 lw a5,4(a3)
+800029f4: 00f76733 or a4,a4,a5
+800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4>
+800029fc: 00000793 li a5,0
+80002a00: 00000813 li a6,0
+80002a04: 00f5a023 sw a5,0(a1)
+80002a08: 0105a223 sw a6,4(a1)
+80002a0c: fe1ff06f j 800029ec <handle_trap+0x374>
+80002a10: 00412503 lw a0,4(sp)
+80002a14: 815ff0ef jal ra,80002228 <terminate>
+80002a18: 00064783 lbu a5,0(a2)
+80002a1c: 0086a023 sw s0,0(a3)
+80002a20: 0096a223 sw s1,4(a3)
+80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c>
+80002a28: d85ff06f j 800027ac <handle_trap+0x134>
+80002a2c: 00064783 lbu a5,0(a2)
+80002a30: 0126a023 sw s2,0(a3)
+80002a34: 0136a223 sw s3,4(a3)
+80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368>
+80002a3c: d71ff06f j 800027ac <handle_trap+0x134>
+
+80002a40 <vm_boot>:
+80002a40: f14027f3 csrr a5,mhartid
+80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158>
+80002a48: 00002797 auipc a5,0x2
+80002a4c: 5b878793 addi a5,a5,1464 # 80005000 <pt+0x1000>
+80002a50: 00c7d793 srli a5,a5,0xc
+80002a54: 00a79793 slli a5,a5,0xa
+80002a58: 0017e793 ori a5,a5,1
+80002a5c: 00001697 auipc a3,0x1
+80002a60: 5af6a223 sw a5,1444(a3) # 80004000 <pt>
+80002a64: 200007b7 lui a5,0x20000
+80002a68: 00001717 auipc a4,0x1
+80002a6c: 59870713 addi a4,a4,1432 # 80004000 <pt>
+80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31>
+80002a74: f6010113 addi sp,sp,-160
+80002a78: 00002697 auipc a3,0x2
+80002a7c: 58f6a223 sw a5,1412(a3) # 80004ffc <pt+0xffc>
+80002a80: 00c75793 srli a5,a4,0xc
+80002a84: 80000737 lui a4,0x80000
+80002a88: 08112e23 sw ra,156(sp)
+80002a8c: 08812c23 sw s0,152(sp)
+80002a90: 00e7e7b3 or a5,a5,a4
+80002a94: 18079073 csrw satp,a5
+80002a98: 01f00793 li a5,31
+80002a9c: fff00713 li a4,-1
+80002aa0: 00000297 auipc t0,0x0
+80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74>
+80002aa8: 305292f3 csrrw t0,mtvec,t0
+80002aac: 3b071073 csrw pmpaddr0,a4
+80002ab0: 3a079073 csrw pmpcfg0,a5
+80002ab4: 7fbfd797 auipc a5,0x7fbfd
+80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf9ccc>
+80002abc: 10579073 csrw stvec,a5
+80002ac0: 340027f3 csrr a5,mscratch
+80002ac4: 7fc00837 lui a6,0x7fc00
+80002ac8: 010787b3 add a5,a5,a6
+80002acc: 14079073 csrw sscratch,a5
+80002ad0: 0000b7b7 lui a5,0xb
+80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00>
+80002ad8: 30279073 csrw medeleg,a5
+80002adc: 0001e7b7 lui a5,0x1e
+80002ae0: 30079073 csrw mstatus,a5
+80002ae4: 30405073 csrwi mie,0
+80002ae8: 7fc03797 auipc a5,0x7fc03
+80002aec: 51878793 addi a5,a5,1304 # ffc06000 <_end+0x7fbffc08>
+80002af0: 00004717 auipc a4,0x4
+80002af4: 90f72223 sw a5,-1788(a4) # 800063f4 <freelist_head>
+80002af8: 7fc03797 auipc a5,0x7fc03
+80002afc: 6f878793 addi a5,a5,1784 # ffc061f0 <_end+0x7fbffdf8>
+80002b00: 00004717 auipc a4,0x4
+80002b04: 8ef72823 sw a5,-1808(a4) # 800063f0 <freelist_tail>
+80002b08: 000808b7 lui a7,0x80
+80002b0c: 00003717 auipc a4,0x3
+80002b10: 4f470713 addi a4,a4,1268 # 80006000 <freelist_nodes>
+80002b14: 00003317 auipc t1,0x3
+80002b18: 6e430313 addi t1,t1,1764 # 800061f8 <user_mapping>
+80002b1c: 01900793 li a5,25
+80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1>
+80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8>
+80002b28: 0017d613 srli a2,a5,0x1
+80002b2c: 011786b3 add a3,a5,a7
+80002b30: 00f647b3 xor a5,a2,a5
+80002b34: 010705b3 add a1,a4,a6
+80002b38: 00c69693 slli a3,a3,0xc
+80002b3c: 00579793 slli a5,a5,0x5
+80002b40: 00d72023 sw a3,0(a4)
+80002b44: 00b72223 sw a1,4(a4)
+80002b48: 0207f793 andi a5,a5,32
+80002b4c: 00870713 addi a4,a4,8
+80002b50: 00f667b3 or a5,a2,a5
+80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8>
+80002b58: 00050413 mv s0,a0
+80002b5c: 09000613 li a2,144
+80002b60: 00000593 li a1,0
+80002b64: 00010513 mv a0,sp
+80002b68: 00003797 auipc a5,0x3
+80002b6c: 6807a623 sw zero,1676(a5) # 800061f4 <freelist_nodes+0x1f4>
+80002b70: cecff0ef jal ra,8000205c <memset>
+80002b74: 800007b7 lui a5,0x80000
+80002b78: 00f40433 add s0,s0,a5
+80002b7c: 00010513 mv a0,sp
+80002b80: 08812223 sw s0,132(sp)
+80002b84: cb8fd0ef jal ra,8000003c <pop_tf>
+80002b88: 09c12083 lw ra,156(sp)
+80002b8c: 09812403 lw s0,152(sp)
+80002b90: 0a010113 addi sp,sp,160
+80002b94: 00008067 ret
+80002b98: 0c98a7b7 lui a5,0xc98a
+80002b9c: 00080637 lui a2,0x80
+80002ba0: 68178793 addi a5,a5,1665 # c98a681 <_start-0x7367597f>
+80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004>
+80002ba8: 800005b7 lui a1,0x80000
+80002bac: 00c7f733 and a4,a5,a2
+80002bb0: 0017f693 andi a3,a5,1
+80002bb4: 00b70733 add a4,a4,a1
+80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194>
+80002bbc: 0007202f amoadd.w zero,zero,(a4)
+80002bc0: 0017d793 srli a5,a5,0x1
+80002bc4: 00c7f733 and a4,a5,a2
+80002bc8: 0017f693 andi a3,a5,1
+80002bcc: 00b70733 add a4,a4,a1
+80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c>
+80002bd4: 00072003 lw zero,0(a4)
+80002bd8: 0017d793 srli a5,a5,0x1
+80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184>
+
+80002be0 <userstart>:
+80002be0: 00301073 fssr zero
+
+80002be4 <test_2>:
+80002be4: 00200193 li gp,2
+80002be8: 00000517 auipc a0,0x0
+80002bec: 41850513 addi a0,a0,1048 # 80003000 <test_2_data>
+80002bf0: 00052683 lw a3,0(a0)
+80002bf4: 00452703 lw a4,4(a0)
+80002bf8: 00200593 li a1,2
+80002bfc: d2058053 fcvt.d.w ft0,a1
+80002c00: 00053027 fsd ft0,0(a0)
+80002c04: 00452583 lw a1,4(a0)
+80002c08: 00052503 lw a0,0(a0)
+80002c0c: 00101073 fsflags zero
+80002c10: 16d51263 bne a0,a3,80002d74 <fail>
+80002c14: 16e59063 bne a1,a4,80002d74 <fail>
+
+80002c18 <test_3>:
+80002c18: 00300193 li gp,3
+80002c1c: 00000517 auipc a0,0x0
+80002c20: 3ec50513 addi a0,a0,1004 # 80003008 <test_3_data>
+80002c24: 00052683 lw a3,0(a0)
+80002c28: 00452703 lw a4,4(a0)
+80002c2c: ffe00593 li a1,-2
+80002c30: d2058053 fcvt.d.w ft0,a1
+80002c34: 00053027 fsd ft0,0(a0)
+80002c38: 00452583 lw a1,4(a0)
+80002c3c: 00052503 lw a0,0(a0)
+80002c40: 00101073 fsflags zero
+80002c44: 12d51863 bne a0,a3,80002d74 <fail>
+80002c48: 12e59663 bne a1,a4,80002d74 <fail>
+
+80002c4c <test_4>:
+80002c4c: 00400193 li gp,4
+80002c50: 00000517 auipc a0,0x0
+80002c54: 3c050513 addi a0,a0,960 # 80003010 <test_4_data>
+80002c58: 00052683 lw a3,0(a0)
+80002c5c: 00452703 lw a4,4(a0)
+80002c60: 00200593 li a1,2
+80002c64: d2158053 fcvt.d.wu ft0,a1
+80002c68: 00053027 fsd ft0,0(a0)
+80002c6c: 00452583 lw a1,4(a0)
+80002c70: 00052503 lw a0,0(a0)
+80002c74: 00101073 fsflags zero
+80002c78: 0ed51e63 bne a0,a3,80002d74 <fail>
+80002c7c: 0ee59c63 bne a1,a4,80002d74 <fail>
+
+80002c80 <test_5>:
+80002c80: 00500193 li gp,5
+80002c84: 00000517 auipc a0,0x0
+80002c88: 39450513 addi a0,a0,916 # 80003018 <test_5_data>
+80002c8c: 00052683 lw a3,0(a0)
+80002c90: 00452703 lw a4,4(a0)
+80002c94: ffe00593 li a1,-2
+80002c98: d2158053 fcvt.d.wu ft0,a1
+80002c9c: 00053027 fsd ft0,0(a0)
+80002ca0: 00452583 lw a1,4(a0)
+80002ca4: 00052503 lw a0,0(a0)
+80002ca8: 00101073 fsflags zero
+80002cac: 0cd51463 bne a0,a3,80002d74 <fail>
+80002cb0: 0ce59263 bne a1,a4,80002d74 <fail>
+
+80002cb4 <test_10>:
+80002cb4: 00a00193 li gp,10
+80002cb8: 00000517 auipc a0,0x0
+80002cbc: 36850513 addi a0,a0,872 # 80003020 <test_10_data>
+80002cc0: 00053007 fld ft0,0(a0)
+80002cc4: 00853087 fld ft1,8(a0)
+80002cc8: 01053107 fld ft2,16(a0)
+80002ccc: 01852683 lw a3,24(a0)
+80002cd0: 01c52303 lw t1,28(a0)
+80002cd4: 401071d3 fcvt.s.d ft3,ft0
+80002cd8: 420181d3 fcvt.d.s ft3,ft3
+80002cdc: 00353027 fsd ft3,0(a0)
+80002ce0: 00452383 lw t2,4(a0)
+80002ce4: 00052503 lw a0,0(a0)
+80002ce8: 001015f3 fsflags a1,zero
+80002cec: 00000613 li a2,0
+80002cf0: 08d51263 bne a0,a3,80002d74 <fail>
+80002cf4: 08731063 bne t1,t2,80002d74 <fail>
+80002cf8: 06c59e63 bne a1,a2,80002d74 <fail>
+
+80002cfc <test_11>:
+80002cfc: 00b00193 li gp,11
+80002d00: 00000517 auipc a0,0x0
+80002d04: 34050513 addi a0,a0,832 # 80003040 <test_11_data>
+80002d08: 00052007 flw ft0,0(a0)
+80002d0c: 00452087 flw ft1,4(a0)
+80002d10: 00852107 flw ft2,8(a0)
+80002d14: 00c52683 lw a3,12(a0)
+80002d18: 420001d3 fcvt.d.s ft3,ft0
+80002d1c: 4011f1d3 fcvt.s.d ft3,ft3
+80002d20: e0018553 fmv.x.w a0,ft3
+80002d24: 001015f3 fsflags a1,zero
+80002d28: 00000613 li a2,0
+80002d2c: 04d51463 bne a0,a3,80002d74 <fail>
+80002d30: 04c59263 bne a1,a2,80002d74 <fail>
+
+80002d34 <test_12>:
+80002d34: 00000597 auipc a1,0x0
+80002d38: 32c58593 addi a1,a1,812 # 80003060 <begin_signature>
+80002d3c: 0005b107 fld ft2,0(a1)
+80002d40: 40117153 fcvt.s.d ft2,ft2
+80002d44: 42010153 fcvt.d.s ft2,ft2
+80002d48: 0025b027 fsd ft2,0(a1)
+80002d4c: 0005a503 lw a0,0(a1)
+80002d50: 0045a583 lw a1,4(a1)
+80002d54: 00000f97 auipc t6,0x0
+80002d58: 2fcf8f93 addi t6,t6,764 # 80003050 <test_12_data>
+80002d5c: 000fae83 lw t4,0(t6)
+80002d60: 004faf83 lw t6,4(t6)
+80002d64: 00c00193 li gp,12
+80002d68: 01d51663 bne a0,t4,80002d74 <fail>
+80002d6c: 01f59463 bne a1,t6,80002d74 <fail>
+80002d70: 00301a63 bne zero,gp,80002d84 <pass>
+
+80002d74 <fail>:
+80002d74: 00119513 slli a0,gp,0x1
+80002d78: 00050063 beqz a0,80002d78 <fail+0x4>
+80002d7c: 00156513 ori a0,a0,1
+80002d80: 00000073 ecall
+
+80002d84 <pass>:
+80002d84: 00100513 li a0,1
+80002d88: 00000073 ecall
+80002d8c: c0001073 unimp
+
+Disassembly of section .data:
+
+80003000 <test_2_data>:
+80003000: 0000 unimp
+80003002: 0000 unimp
+80003004: 0000 unimp
+80003006: 4000 lw s0,0(s0)
+
+80003008 <test_3_data>:
+80003008: 0000 unimp
+8000300a: 0000 unimp
+8000300c: 0000 unimp
+8000300e: c000 sw s0,0(s0)
+
+80003010 <test_4_data>:
+80003010: 0000 unimp
+80003012: 0000 unimp
+80003014: 0000 unimp
+80003016: 4000 lw s0,0(s0)
+
+80003018 <test_5_data>:
+80003018: 0000 unimp
+8000301a: ffc0 fsw fs0,60(a5)
+8000301c: ffff 0xffff
+8000301e: jal gp,8000701e <_end+0xc26>
+
+80003020 <test_10_data>:
+80003020: 0000 unimp
+80003022: 0000 unimp
+80003024: 0000 unimp
+80003026: bff8 fsd fa4,248(a5)
+80003028: 0000 unimp
+8000302a: 0000 unimp
+8000302c: 0000 unimp
+8000302e: 0000 unimp
+80003030: 0000 unimp
+80003032: 0000 unimp
+80003034: 0000 unimp
+80003036: 0000 unimp
+80003038: 0000 unimp
+8000303a: 0000 unimp
+8000303c: 0000 unimp
+8000303e: bff8 fsd fa4,248(a5)
+
+80003040 <test_11_data>:
+80003040: 0000 unimp
+80003042: bfc0 fsd fs0,184(a5)
+80003044: 0000 unimp
+80003046: 0000 unimp
+80003048: 0000 unimp
+8000304a: 0000 unimp
+8000304c: 0000 unimp
+8000304e: bfc0 fsd fs0,184(a5)
+
+80003050 <test_12_data>:
+80003050: 0000 unimp
+80003052: 0000 unimp
+80003054: 0000 unimp
+80003056: 7ff8 flw fa4,124(a5)
+80003058: 0000 unimp
+8000305a: 0000 unimp
+8000305c: 0000 unimp
+8000305e: 0000 unimp
+
+80003060 <begin_signature>:
+80003060: 8004 0x8004
+80003062: ffff 0xffff
+80003064: ffff 0xffff
+80003066: 7ffc flw fa5,124(a5)
diff --git a/test/riscv-tests/rv32ud-v-fcvt.elf b/test/riscv-tests/rv32ud-v-fcvt.elf
new file mode 100644
index 0000000..b12379f
--- /dev/null
+++ b/test/riscv-tests/rv32ud-v-fcvt.elf
Binary files differ
diff --git a/test/riscv-tests/rv32ud-v-fcvt_w.dump b/test/riscv-tests/rv32ud-v-fcvt_w.dump
new file mode 100644
index 0000000..bd8f33f
--- /dev/null
+++ b/test/riscv-tests/rv32ud-v-fcvt_w.dump
@@ -0,0 +1,1401 @@
+
+rv32ud-v-fcvt_w: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 00c0006f j 8000000c <handle_reset>
+
+80000004 <nmi_vector>:
+80000004: 2780206f j 8000227c <wtf>
+
+80000008 <trap_vector>:
+80000008: 2740206f j 8000227c <wtf>
+
+8000000c <handle_reset>:
+8000000c: 00000297 auipc t0,0x0
+80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+80000014: 30529073 csrw mtvec,t0
+80000018: 00008117 auipc sp,0x8
+8000001c: 35010113 addi sp,sp,848 # 80008368 <_end+0xf70>
+80000020: f14022f3 csrr t0,mhartid
+80000024: 00c29293 slli t0,t0,0xc
+80000028: 00510133 add sp,sp,t0
+8000002c: 34011073 csrw mscratch,sp
+80000030: 00003517 auipc a0,0x3
+80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart>
+80000038: 2090206f j 80002a40 <vm_boot>
+
+8000003c <pop_tf>:
+8000003c: 08452283 lw t0,132(a0)
+80000040: 14129073 csrw sepc,t0
+80000044: 00452083 lw ra,4(a0)
+80000048: 00852103 lw sp,8(a0)
+8000004c: 00c52183 lw gp,12(a0)
+80000050: 01052203 lw tp,16(a0)
+80000054: 01452283 lw t0,20(a0)
+80000058: 01852303 lw t1,24(a0)
+8000005c: 01c52383 lw t2,28(a0)
+80000060: 02052403 lw s0,32(a0)
+80000064: 02452483 lw s1,36(a0)
+80000068: 02c52583 lw a1,44(a0)
+8000006c: 03052603 lw a2,48(a0)
+80000070: 03452683 lw a3,52(a0)
+80000074: 03852703 lw a4,56(a0)
+80000078: 03c52783 lw a5,60(a0)
+8000007c: 04052803 lw a6,64(a0)
+80000080: 04452883 lw a7,68(a0)
+80000084: 04852903 lw s2,72(a0)
+80000088: 04c52983 lw s3,76(a0)
+8000008c: 05052a03 lw s4,80(a0)
+80000090: 05452a83 lw s5,84(a0)
+80000094: 05852b03 lw s6,88(a0)
+80000098: 05c52b83 lw s7,92(a0)
+8000009c: 06052c03 lw s8,96(a0)
+800000a0: 06452c83 lw s9,100(a0)
+800000a4: 06852d03 lw s10,104(a0)
+800000a8: 06c52d83 lw s11,108(a0)
+800000ac: 07052e03 lw t3,112(a0)
+800000b0: 07452e83 lw t4,116(a0)
+800000b4: 07852f03 lw t5,120(a0)
+800000b8: 07c52f83 lw t6,124(a0)
+800000bc: 02852503 lw a0,40(a0)
+800000c0: 10200073 sret
+
+800000c4 <trap_entry>:
+800000c4: 14011173 csrrw sp,sscratch,sp
+800000c8: 00112223 sw ra,4(sp)
+800000cc: 00312623 sw gp,12(sp)
+800000d0: 00412823 sw tp,16(sp)
+800000d4: 00512a23 sw t0,20(sp)
+800000d8: 00612c23 sw t1,24(sp)
+800000dc: 00712e23 sw t2,28(sp)
+800000e0: 02812023 sw s0,32(sp)
+800000e4: 02912223 sw s1,36(sp)
+800000e8: 02a12423 sw a0,40(sp)
+800000ec: 02b12623 sw a1,44(sp)
+800000f0: 02c12823 sw a2,48(sp)
+800000f4: 02d12a23 sw a3,52(sp)
+800000f8: 02e12c23 sw a4,56(sp)
+800000fc: 02f12e23 sw a5,60(sp)
+80000100: 05012023 sw a6,64(sp)
+80000104: 05112223 sw a7,68(sp)
+80000108: 05212423 sw s2,72(sp)
+8000010c: 05312623 sw s3,76(sp)
+80000110: 05412823 sw s4,80(sp)
+80000114: 05512a23 sw s5,84(sp)
+80000118: 05612c23 sw s6,88(sp)
+8000011c: 05712e23 sw s7,92(sp)
+80000120: 07812023 sw s8,96(sp)
+80000124: 07912223 sw s9,100(sp)
+80000128: 07a12423 sw s10,104(sp)
+8000012c: 07b12623 sw s11,108(sp)
+80000130: 07c12823 sw t3,112(sp)
+80000134: 07d12a23 sw t4,116(sp)
+80000138: 07e12c23 sw t5,120(sp)
+8000013c: 07f12e23 sw t6,124(sp)
+80000140: 140112f3 csrrw t0,sscratch,sp
+80000144: 00512423 sw t0,8(sp)
+80000148: 100022f3 csrr t0,sstatus
+8000014c: 08512023 sw t0,128(sp)
+80000150: 141022f3 csrr t0,sepc
+80000154: 08512223 sw t0,132(sp)
+80000158: 143022f3 csrr t0,stval
+8000015c: 08512423 sw t0,136(sp)
+80000160: 142022f3 csrr t0,scause
+80000164: 08512623 sw t0,140(sp)
+80000168: 00010513 mv a0,sp
+8000016c: 50c0206f j 80002678 <handle_trap>
+
+Disassembly of section .text:
+
+80002000 <memcpy>:
+80002000: 00c5e7b3 or a5,a1,a2
+80002004: 00f567b3 or a5,a0,a5
+80002008: 0037f793 andi a5,a5,3
+8000200c: 00c506b3 add a3,a0,a2
+80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+80002014: 00c58633 add a2,a1,a2
+80002018: 00050793 mv a5,a0
+8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+80002020: 00158593 addi a1,a1,1
+80002024: fff5c703 lbu a4,-1(a1)
+80002028: 00178793 addi a5,a5,1
+8000202c: fee78fa3 sb a4,-1(a5)
+80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+80002034: 00008067 ret
+80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+8000203c: 00050793 mv a5,a0
+80002040: 00458593 addi a1,a1,4
+80002044: ffc5a703 lw a4,-4(a1)
+80002048: 00478793 addi a5,a5,4
+8000204c: fee7ae23 sw a4,-4(a5)
+80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+80002054: 00008067 ret
+80002058: 00008067 ret
+
+8000205c <memset>:
+8000205c: 00c567b3 or a5,a0,a2
+80002060: 0037f793 andi a5,a5,3
+80002064: 00c50633 add a2,a0,a2
+80002068: 02078063 beqz a5,80002088 <memset+0x2c>
+8000206c: 0ff5f593 andi a1,a1,255
+80002070: 00050793 mv a5,a0
+80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58>
+80002078: 00178793 addi a5,a5,1
+8000207c: feb78fa3 sb a1,-1(a5)
+80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+80002084: 00008067 ret
+80002088: 0ff5f593 andi a1,a1,255
+8000208c: 00859793 slli a5,a1,0x8
+80002090: 00b7e7b3 or a5,a5,a1
+80002094: 01079593 slli a1,a5,0x10
+80002098: 00f5e5b3 or a1,a1,a5
+8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28>
+800020a0: 00050793 mv a5,a0
+800020a4: 00478793 addi a5,a5,4
+800020a8: feb7ae23 sw a1,-4(a5)
+800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48>
+800020b0: 00008067 ret
+800020b4: 00008067 ret
+
+800020b8 <strlen>:
+800020b8: 00054783 lbu a5,0(a0)
+800020bc: 00050713 mv a4,a0
+800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20>
+800020c4: 00150513 addi a0,a0,1
+800020c8: 00054783 lbu a5,0(a0)
+800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc>
+800020d0: 40e50533 sub a0,a0,a4
+800020d4: 00008067 ret
+800020d8: 00000513 li a0,0
+800020dc: 00008067 ret
+
+800020e0 <strcmp>:
+800020e0: 00150513 addi a0,a0,1
+800020e4: fff54783 lbu a5,-1(a0)
+800020e8: 00158593 addi a1,a1,1
+800020ec: fff5c703 lbu a4,-1(a1)
+800020f0: 00078863 beqz a5,80002100 <strcmp+0x20>
+800020f4: fee786e3 beq a5,a4,800020e0 <strcmp>
+800020f8: 40e78533 sub a0,a5,a4
+800020fc: 00008067 ret
+80002100: 00000793 li a5,0
+80002104: ff5ff06f j 800020f8 <strcmp+0x18>
+
+80002108 <memcmp>:
+80002108: 00b567b3 or a5,a0,a1
+8000210c: 0037f793 andi a5,a5,3
+80002110: 04079263 bnez a5,80002154 <memcmp+0x4c>
+80002114: ffc67693 andi a3,a2,-4
+80002118: 00d506b3 add a3,a0,a3
+8000211c: 00050813 mv a6,a0
+80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c>
+80002124: 00052703 lw a4,0(a0)
+80002128: 0005a783 lw a5,0(a1)
+8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38>
+80002130: 0240006f j 80002154 <memcmp+0x4c>
+80002134: 00052703 lw a4,0(a0)
+80002138: 0005a783 lw a5,0(a1)
+8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44>
+80002140: 00450513 addi a0,a0,4
+80002144: 00458593 addi a1,a1,4
+80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c>
+8000214c: 41050833 sub a6,a0,a6
+80002150: 41060633 sub a2,a2,a6
+80002154: 00c58633 add a2,a1,a2
+80002158: 0140006f j 8000216c <memcmp+0x64>
+8000215c: 00158593 addi a1,a1,1
+80002160: fff54783 lbu a5,-1(a0)
+80002164: fff5c703 lbu a4,-1(a1)
+80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74>
+8000216c: 00150513 addi a0,a0,1
+80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54>
+80002174: 00000513 li a0,0
+80002178: 00008067 ret
+8000217c: 40e78533 sub a0,a5,a4
+80002180: 00008067 ret
+
+80002184 <strcpy>:
+80002184: 00050793 mv a5,a0
+80002188: 00158593 addi a1,a1,1
+8000218c: fff5c703 lbu a4,-1(a1)
+80002190: 00178793 addi a5,a5,1
+80002194: fee78fa3 sb a4,-1(a5)
+80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4>
+8000219c: 00008067 ret
+
+800021a0 <atol>:
+800021a0: 00054783 lbu a5,0(a0)
+800021a4: 02000713 li a4,32
+800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18>
+800021ac: 00150513 addi a0,a0,1
+800021b0: 00054783 lbu a5,0(a0)
+800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc>
+800021b8: fd578713 addi a4,a5,-43
+800021bc: 0fd77713 andi a4,a4,253
+800021c0: 04070263 beqz a4,80002204 <atol+0x64>
+800021c4: 00054683 lbu a3,0(a0)
+800021c8: 00050793 mv a5,a0
+800021cc: 00000613 li a2,0
+800021d0: 04068863 beqz a3,80002220 <atol+0x80>
+800021d4: 00000513 li a0,0
+800021d8: 00178793 addi a5,a5,1
+800021dc: fd068593 addi a1,a3,-48
+800021e0: 00251713 slli a4,a0,0x2
+800021e4: 0007c683 lbu a3,0(a5)
+800021e8: 00a70533 add a0,a4,a0
+800021ec: 00151513 slli a0,a0,0x1
+800021f0: 00a58533 add a0,a1,a0
+800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38>
+800021f8: 00060463 beqz a2,80002200 <atol+0x60>
+800021fc: 40a00533 neg a0,a0
+80002200: 00008067 ret
+80002204: 00154683 lbu a3,1(a0)
+80002208: fd378793 addi a5,a5,-45
+8000220c: 0017b613 seqz a2,a5
+80002210: 00150793 addi a5,a0,1
+80002214: fc0690e3 bnez a3,800021d4 <atol+0x34>
+80002218: 00000513 li a0,0
+8000221c: fddff06f j 800021f8 <atol+0x58>
+80002220: 00000513 li a0,0
+80002224: 00008067 ret
+
+80002228 <terminate>:
+80002228: fffff697 auipc a3,0xfffff
+8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost>
+80002230: 0006a703 lw a4,0(a3)
+80002234: 0046a783 lw a5,4(a3)
+80002238: 00050813 mv a6,a0
+8000223c: 41f55893 srai a7,a0,0x1f
+80002240: 00f76733 or a4,a4,a5
+80002244: 02070663 beqz a4,80002270 <terminate+0x48>
+80002248: fffff617 auipc a2,0xfffff
+8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost>
+80002250: 00000713 li a4,0
+80002254: 00e62023 sw a4,0(a2)
+80002258: 00000793 li a5,0
+8000225c: 00f62223 sw a5,4(a2)
+80002260: 0006a703 lw a4,0(a3)
+80002264: 0046a783 lw a5,4(a3)
+80002268: 00f76733 or a4,a4,a5
+8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28>
+80002270: 0106a023 sw a6,0(a3)
+80002274: 0116a223 sw a7,4(a3)
+80002278: 0000006f j 80002278 <terminate+0x50>
+
+8000227c <wtf>:
+8000227c: ff010113 addi sp,sp,-16
+80002280: 34900513 li a0,841
+80002284: 00112623 sw ra,12(sp)
+80002288: fa1ff0ef jal ra,80002228 <terminate>
+
+8000228c <printhex>:
+8000228c: fe010113 addi sp,sp,-32
+80002290: 01b10793 addi a5,sp,27
+80002294: 00b10e93 addi t4,sp,11
+80002298: 00900e13 li t3,9
+8000229c: 00f57693 andi a3,a0,15
+800022a0: 01c59313 slli t1,a1,0x1c
+800022a4: 00455513 srli a0,a0,0x4
+800022a8: 05700613 li a2,87
+800022ac: 0ff6f713 andi a4,a3,255
+800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c>
+800022b4: 03000613 li a2,48
+800022b8: 00c70733 add a4,a4,a2
+800022bc: 00e78023 sb a4,0(a5)
+800022c0: fff78793 addi a5,a5,-1
+800022c4: 00a36533 or a0,t1,a0
+800022c8: 0045d593 srli a1,a1,0x4
+800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10>
+800022d0: 00c14583 lbu a1,12(sp)
+800022d4: 00010e23 sb zero,28(sp)
+800022d8: 06058263 beqz a1,8000233c <printhex+0xb0>
+800022dc: 00c10513 addi a0,sp,12
+800022e0: fffff697 auipc a3,0xfffff
+800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost>
+800022e8: fffff617 auipc a2,0xfffff
+800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost>
+800022f0: 0006a703 lw a4,0(a3)
+800022f4: 0046a783 lw a5,4(a3)
+800022f8: 00058813 mv a6,a1
+800022fc: 00150513 addi a0,a0,1
+80002300: 00f76733 or a4,a4,a5
+80002304: 010108b7 lui a7,0x1010
+80002308: 02070263 beqz a4,8000232c <printhex+0xa0>
+8000230c: 00000713 li a4,0
+80002310: 00e62023 sw a4,0(a2)
+80002314: 00000793 li a5,0
+80002318: 00f62223 sw a5,4(a2)
+8000231c: 0006a703 lw a4,0(a3)
+80002320: 0046a783 lw a5,4(a3)
+80002324: 00f76733 or a4,a4,a5
+80002328: fe0712e3 bnez a4,8000230c <printhex+0x80>
+8000232c: 00054583 lbu a1,0(a0)
+80002330: 0106a023 sw a6,0(a3)
+80002334: 0116a223 sw a7,4(a3)
+80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64>
+8000233c: 02010113 addi sp,sp,32
+80002340: 00008067 ret
+
+80002344 <handle_fault>:
+80002344: ff010113 addi sp,sp,-16
+80002348: fffff6b7 lui a3,0xfffff
+8000234c: 00112623 sw ra,12(sp)
+80002350: 00812423 sw s0,8(sp)
+80002354: 00912223 sw s1,4(sp)
+80002358: 00d50733 add a4,a0,a3
+8000235c: 0003e7b7 lui a5,0x3e
+80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180>
+80002364: 00c55613 srli a2,a0,0xc
+80002368: 40060e13 addi t3,a2,1024
+8000236c: 00003317 auipc t1,0x3
+80002370: c9430313 addi t1,t1,-876 # 80005000 <pt>
+80002374: 002e1793 slli a5,t3,0x2
+80002378: 00f307b3 add a5,t1,a5
+8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000>
+80002380: 00d57533 and a0,a0,a3
+80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130>
+80002388: 00005797 auipc a5,0x5
+8000238c: 06c78793 addi a5,a5,108 # 800073f4 <freelist_head>
+80002390: 0007a583 lw a1,0(a5)
+80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0>
+80002398: 0045a783 lw a5,4(a1)
+8000239c: 00005717 auipc a4,0x5
+800023a0: 05470713 addi a4,a4,84 # 800073f0 <freelist_tail>
+800023a4: 00072703 lw a4,0(a4)
+800023a8: 00005697 auipc a3,0x5
+800023ac: 04f6a623 sw a5,76(a3) # 800073f4 <freelist_head>
+800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174>
+800023b4: 0005a703 lw a4,0(a1)
+800023b8: 002e1793 slli a5,t3,0x2
+800023bc: 00f307b3 add a5,t1,a5
+800023c0: 00c75713 srli a4,a4,0xc
+800023c4: 00a71713 slli a4,a4,0xa
+800023c8: 0df76e93 ori t4,a4,223
+800023cc: 01f76693 ori a3,a4,31
+800023d0: 01d7a023 sw t4,0(a5)
+800023d4: 12050073 sfence.vma a0
+800023d8: 00005717 auipc a4,0x5
+800023dc: e2070713 addi a4,a4,-480 # 800071f8 <user_mapping>
+800023e0: 00361793 slli a5,a2,0x3
+800023e4: 00f707b3 add a5,a4,a5
+800023e8: 0007a703 lw a4,0(a5)
+800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c>
+800023f0: 0005a703 lw a4,0(a1)
+800023f4: 00e7a023 sw a4,0(a5)
+800023f8: 0045a703 lw a4,4(a1)
+800023fc: 00e7a223 sw a4,4(a5)
+80002400: 000407b7 lui a5,0x40
+80002404: 1007a5f3 csrrs a1,sstatus,a5
+80002408: ffc007b7 lui a5,0xffc00
+8000240c: 00f507b3 add a5,a0,a5
+80002410: 00001637 lui a2,0x1
+80002414: 00050713 mv a4,a0
+80002418: 00c78633 add a2,a5,a2
+8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf8c08>
+80002420: 0047ae83 lw t4,4(a5)
+80002424: 0087a883 lw a7,8(a5)
+80002428: 00c7a803 lw a6,12(a5)
+8000242c: 01e72023 sw t5,0(a4)
+80002430: 01d72223 sw t4,4(a4)
+80002434: 01172423 sw a7,8(a4)
+80002438: 01072623 sw a6,12(a4)
+8000243c: 01078793 addi a5,a5,16
+80002440: 01070713 addi a4,a4,16
+80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8>
+80002448: 10059073 csrw sstatus,a1
+8000244c: 002e1e13 slli t3,t3,0x2
+80002450: 01c30333 add t1,t1,t3
+80002454: 00d32023 sw a3,0(t1)
+80002458: 12050073 sfence.vma a0
+8000245c: 0000100f fence.i
+80002460: 00c12083 lw ra,12(sp)
+80002464: 00812403 lw s0,8(sp)
+80002468: 00412483 lw s1,4(sp)
+8000246c: 01010113 addi sp,sp,16
+80002470: 00008067 ret
+80002474: 04077693 andi a3,a4,64
+80002478: 02069263 bnez a3,8000249c <handle_fault+0x158>
+8000247c: 04076713 ori a4,a4,64
+80002480: 00e7a023 sw a4,0(a5)
+80002484: 12050073 sfence.vma a0
+80002488: 00c12083 lw ra,12(sp)
+8000248c: 00812403 lw s0,8(sp)
+80002490: 00412483 lw s1,4(sp)
+80002494: 01010113 addi sp,sp,16
+80002498: 00008067 ret
+8000249c: 08077693 andi a3,a4,128
+800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8>
+800024a4: 00f00693 li a3,15
+800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8>
+800024ac: 08076713 ori a4,a4,128
+800024b0: 00e7a023 sw a4,0(a5)
+800024b4: fd1ff06f j 80002484 <handle_fault+0x140>
+800024b8: 00005797 auipc a5,0x5
+800024bc: f207ac23 sw zero,-200(a5) # 800073f0 <freelist_tail>
+800024c0: ef5ff06f j 800023b4 <handle_fault+0x70>
+800024c4: 04100513 li a0,65
+800024c8: 00001597 auipc a1,0x1
+800024cc: b2858593 addi a1,a1,-1240 # 80002ff0 <pass+0xc>
+800024d0: fffff697 auipc a3,0xfffff
+800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost>
+800024d8: fffff617 auipc a2,0xfffff
+800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost>
+800024e0: 0006a703 lw a4,0(a3)
+800024e4: 0046a783 lw a5,4(a3)
+800024e8: 00050313 mv t1,a0
+800024ec: 00158593 addi a1,a1,1
+800024f0: 00f76733 or a4,a4,a5
+800024f4: 010103b7 lui t2,0x1010
+800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8>
+800024fc: 00000793 li a5,0
+80002500: 00f62023 sw a5,0(a2)
+80002504: 00000813 li a6,0
+80002508: 01062223 sw a6,4(a2)
+8000250c: 0006a703 lw a4,0(a3)
+80002510: 0046a783 lw a5,4(a3)
+80002514: 00f76733 or a4,a4,a5
+80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8>
+8000251c: 0005c503 lbu a0,0(a1)
+80002520: 0066a023 sw t1,0(a3)
+80002524: 0076a223 sw t2,4(a3)
+80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c>
+8000252c: 00300513 li a0,3
+80002530: cf9ff0ef jal ra,80002228 <terminate>
+80002534: 04100513 li a0,65
+80002538: 00001597 auipc a1,0x1
+8000253c: b4458593 addi a1,a1,-1212 # 8000307c <pass+0x98>
+80002540: fffff697 auipc a3,0xfffff
+80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost>
+80002548: fffff617 auipc a2,0xfffff
+8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost>
+80002550: 0006a703 lw a4,0(a3)
+80002554: 0046a783 lw a5,4(a3)
+80002558: 00050f13 mv t5,a0
+8000255c: 00158593 addi a1,a1,1
+80002560: 00f76733 or a4,a4,a5
+80002564: 01010fb7 lui t6,0x1010
+80002568: 02070263 beqz a4,8000258c <handle_fault+0x248>
+8000256c: 00000793 li a5,0
+80002570: 00f62023 sw a5,0(a2)
+80002574: 00000813 li a6,0
+80002578: 01062223 sw a6,4(a2)
+8000257c: 0006a703 lw a4,0(a3)
+80002580: 0046a783 lw a5,4(a3)
+80002584: 00f76733 or a4,a4,a5
+80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228>
+8000258c: 0005c503 lbu a0,0(a1)
+80002590: 01e6a023 sw t5,0(a3)
+80002594: 01f6a223 sw t6,4(a3)
+80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c>
+8000259c: f91ff06f j 8000252c <handle_fault+0x1e8>
+800025a0: 04100513 li a0,65
+800025a4: 00001597 auipc a1,0x1
+800025a8: af058593 addi a1,a1,-1296 # 80003094 <pass+0xb0>
+800025ac: fffff697 auipc a3,0xfffff
+800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost>
+800025b4: fffff617 auipc a2,0xfffff
+800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost>
+800025bc: 0006a703 lw a4,0(a3)
+800025c0: 0046a783 lw a5,4(a3)
+800025c4: 00050813 mv a6,a0
+800025c8: 00158593 addi a1,a1,1
+800025cc: 00f76733 or a4,a4,a5
+800025d0: 010108b7 lui a7,0x1010
+800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4>
+800025d8: 00000713 li a4,0
+800025dc: 00e62023 sw a4,0(a2)
+800025e0: 00000793 li a5,0
+800025e4: 00f62223 sw a5,4(a2)
+800025e8: 0006a703 lw a4,0(a3)
+800025ec: 0046a783 lw a5,4(a3)
+800025f0: 00f76733 or a4,a4,a5
+800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294>
+800025f8: 0005c503 lbu a0,0(a1)
+800025fc: 0106a023 sw a6,0(a3)
+80002600: 0116a223 sw a7,4(a3)
+80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278>
+80002608: f25ff06f j 8000252c <handle_fault+0x1e8>
+8000260c: 04100793 li a5,65
+80002610: 00001597 auipc a1,0x1
+80002614: a2458593 addi a1,a1,-1500 # 80003034 <pass+0x50>
+80002618: fffff697 auipc a3,0xfffff
+8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost>
+80002620: fffff617 auipc a2,0xfffff
+80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost>
+80002628: 0006a803 lw a6,0(a3)
+8000262c: 0046a883 lw a7,4(a3)
+80002630: 00078413 mv s0,a5
+80002634: 00158593 addi a1,a1,1
+80002638: 01186833 or a6,a6,a7
+8000263c: 010104b7 lui s1,0x1010
+80002640: 02080263 beqz a6,80002664 <handle_fault+0x320>
+80002644: 00000793 li a5,0
+80002648: 00f62023 sw a5,0(a2)
+8000264c: 00000813 li a6,0
+80002650: 01062223 sw a6,4(a2)
+80002654: 0006a703 lw a4,0(a3)
+80002658: 0046a783 lw a5,4(a3)
+8000265c: 00f76733 or a4,a4,a5
+80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300>
+80002664: 0005c783 lbu a5,0(a1)
+80002668: 0086a023 sw s0,0(a3)
+8000266c: 0096a223 sw s1,4(a3)
+80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4>
+80002674: eb9ff06f j 8000252c <handle_fault+0x1e8>
+
+80002678 <handle_trap>:
+80002678: 08c52583 lw a1,140(a0)
+8000267c: fb010113 addi sp,sp,-80
+80002680: 03412c23 sw s4,56(sp)
+80002684: 04112623 sw ra,76(sp)
+80002688: 04812423 sw s0,72(sp)
+8000268c: 04912223 sw s1,68(sp)
+80002690: 05212023 sw s2,64(sp)
+80002694: 03312e23 sw s3,60(sp)
+80002698: 03512a23 sw s5,52(sp)
+8000269c: 03612823 sw s6,48(sp)
+800026a0: 03712623 sw s7,44(sp)
+800026a4: 03812423 sw s8,40(sp)
+800026a8: 03912223 sw s9,36(sp)
+800026ac: 03a12023 sw s10,32(sp)
+800026b0: 01b12e23 sw s11,28(sp)
+800026b4: 00800793 li a5,8
+800026b8: 00050a13 mv s4,a0
+800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0>
+800026c0: 00200793 li a5,2
+800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac>
+800026c8: ff458793 addi a5,a1,-12
+800026cc: 00100713 li a4,1
+800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64>
+800026d4: 00f00793 li a5,15
+800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294>
+800026dc: 088a2503 lw a0,136(s4)
+800026e0: c65ff0ef jal ra,80002344 <handle_fault>
+800026e4: 04812403 lw s0,72(sp)
+800026e8: 04c12083 lw ra,76(sp)
+800026ec: 04412483 lw s1,68(sp)
+800026f0: 04012903 lw s2,64(sp)
+800026f4: 03c12983 lw s3,60(sp)
+800026f8: 03412a83 lw s5,52(sp)
+800026fc: 03012b03 lw s6,48(sp)
+80002700: 02c12b83 lw s7,44(sp)
+80002704: 02812c03 lw s8,40(sp)
+80002708: 02412c83 lw s9,36(sp)
+8000270c: 02012d03 lw s10,32(sp)
+80002710: 01c12d83 lw s11,28(sp)
+80002714: 000a0513 mv a0,s4
+80002718: 03812a03 lw s4,56(sp)
+8000271c: 05010113 addi sp,sp,80
+80002720: 91dfd06f j 8000003c <pop_tf>
+80002724: 08452703 lw a4,132(a0)
+80002728: 00377793 andi a5,a4,3
+8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144>
+80002730: 008007ef jal a5,80002738 <handle_trap+0xc0>
+80002734: 00301073 fssr zero
+80002738: 00072703 lw a4,0(a4)
+8000273c: 0007a783 lw a5,0(a5)
+80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c>
+80002744: 04100513 li a0,65
+80002748: 00001597 auipc a1,0x1
+8000274c: a1458593 addi a1,a1,-1516 # 8000315c <pass+0x178>
+80002750: fffff697 auipc a3,0xfffff
+80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost>
+80002758: fffff617 auipc a2,0xfffff
+8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost>
+80002760: 0006a703 lw a4,0(a3)
+80002764: 0046a783 lw a5,4(a3)
+80002768: 00050813 mv a6,a0
+8000276c: 00158593 addi a1,a1,1
+80002770: 00f76733 or a4,a4,a5
+80002774: 010108b7 lui a7,0x1010
+80002778: 02070263 beqz a4,8000279c <handle_trap+0x124>
+8000277c: 00000713 li a4,0
+80002780: 00e62023 sw a4,0(a2)
+80002784: 00000793 li a5,0
+80002788: 00f62223 sw a5,4(a2)
+8000278c: 0006a703 lw a4,0(a3)
+80002790: 0046a783 lw a5,4(a3)
+80002794: 00f76733 or a4,a4,a5
+80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104>
+8000279c: 0005c503 lbu a0,0(a1)
+800027a0: 0106a023 sw a6,0(a3)
+800027a4: 0116a223 sw a7,4(a3)
+800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8>
+800027ac: 00300513 li a0,3
+800027b0: a79ff0ef jal ra,80002228 <terminate>
+800027b4: 00100513 li a0,1
+800027b8: a71ff0ef jal ra,80002228 <terminate>
+800027bc: 00001597 auipc a1,0x1
+800027c0: 97c58593 addi a1,a1,-1668 # 80003138 <pass+0x154>
+800027c4: 04100613 li a2,65
+800027c8: fffff697 auipc a3,0xfffff
+800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost>
+800027d0: fffff517 auipc a0,0xfffff
+800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost>
+800027d8: 0006a703 lw a4,0(a3)
+800027dc: 0046a783 lw a5,4(a3)
+800027e0: 00060e13 mv t3,a2
+800027e4: 00158593 addi a1,a1,1
+800027e8: 00f76733 or a4,a4,a5
+800027ec: 01010eb7 lui t4,0x1010
+800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c>
+800027f4: 00000793 li a5,0
+800027f8: 00f52023 sw a5,0(a0)
+800027fc: 00000813 li a6,0
+80002800: 01052223 sw a6,4(a0)
+80002804: 0006a703 lw a4,0(a3)
+80002808: 0046a783 lw a5,4(a3)
+8000280c: 00f76733 or a4,a4,a5
+80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c>
+80002814: 0005c603 lbu a2,0(a1)
+80002818: 01c6a023 sw t3,0(a3)
+8000281c: 01d6a223 sw t4,4(a3)
+80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160>
+80002824: f89ff06f j 800027ac <handle_trap+0x134>
+80002828: 02852783 lw a5,40(a0)
+8000282c: 00001a37 lui s4,0x1
+80002830: 00005b17 auipc s6,0x5
+80002834: 9c8b0b13 addi s6,s6,-1592 # 800071f8 <user_mapping>
+80002838: 00f12223 sw a5,4(sp)
+8000283c: 00002d17 auipc s10,0x2
+80002840: 7c4d0d13 addi s10,s10,1988 # 80005000 <pt>
+80002844: 00040cb7 lui s9,0x40
+80002848: ffc00c37 lui s8,0xffc00
+8000284c: 0003fab7 lui s5,0x3f
+80002850: 01c0006f j 8000286c <handle_trap+0x1f4>
+80002854: 00f72223 sw a5,4(a4)
+80002858: 00005717 auipc a4,0x5
+8000285c: b8f72c23 sw a5,-1128(a4) # 800073f0 <freelist_tail>
+80002860: 000017b7 lui a5,0x1
+80002864: 00fa0a33 add s4,s4,a5
+80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398>
+8000286c: 00ca5713 srli a4,s4,0xc
+80002870: 00371b93 slli s7,a4,0x3
+80002874: 017b0633 add a2,s6,s7
+80002878: 00062603 lw a2,0(a2)
+8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8>
+80002880: 40070713 addi a4,a4,1024
+80002884: 00271713 slli a4,a4,0x2
+80002888: 00ed0733 add a4,s10,a4
+8000288c: 00072703 lw a4,0(a4)
+80002890: 04077613 andi a2,a4,64
+80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c>
+80002898: 00e12623 sw a4,12(sp)
+8000289c: 100cadf3 csrrs s11,sstatus,s9
+800028a0: 018a0833 add a6,s4,s8
+800028a4: 00001637 lui a2,0x1
+800028a8: 00080593 mv a1,a6
+800028ac: 000a0513 mv a0,s4
+800028b0: 01012423 sw a6,8(sp)
+800028b4: 855ff0ef jal ra,80002108 <memcmp>
+800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264>
+800028bc: 00c12703 lw a4,12(sp)
+800028c0: 00812803 lw a6,8(sp)
+800028c4: 08077713 andi a4,a4,128
+800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300>
+800028cc: 00001637 lui a2,0x1
+800028d0: 00080593 mv a1,a6
+800028d4: 000a0513 mv a0,s4
+800028d8: f28ff0ef jal ra,80002000 <memcpy>
+800028dc: 017b07b3 add a5,s6,s7
+800028e0: 100d9073 csrw sstatus,s11
+800028e4: 00005717 auipc a4,0x5
+800028e8: b0c70713 addi a4,a4,-1268 # 800073f0 <freelist_tail>
+800028ec: 00072703 lw a4,0(a4)
+800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000>
+800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc>
+800028f8: 00005717 auipc a4,0x5
+800028fc: aef72c23 sw a5,-1288(a4) # 800073f0 <freelist_tail>
+80002900: 00005717 auipc a4,0x5
+80002904: aef72a23 sw a5,-1292(a4) # 800073f4 <freelist_head>
+80002908: f59ff06f j 80002860 <handle_trap+0x1e8>
+8000290c: 04100593 li a1,65
+80002910: 00001617 auipc a2,0x1
+80002914: 87860613 addi a2,a2,-1928 # 80003188 <pass+0x1a4>
+80002918: ffffe697 auipc a3,0xffffe
+8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost>
+80002920: ffffe517 auipc a0,0xffffe
+80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost>
+80002928: 0006a703 lw a4,0(a3)
+8000292c: 0046a783 lw a5,4(a3)
+80002930: 00058313 mv t1,a1
+80002934: 00160613 addi a2,a2,1
+80002938: 00f76733 or a4,a4,a5
+8000293c: 010103b7 lui t2,0x1010
+80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec>
+80002944: 00000793 li a5,0
+80002948: 00f52023 sw a5,0(a0)
+8000294c: 00000813 li a6,0
+80002950: 01052223 sw a6,4(a0)
+80002954: 0006a703 lw a4,0(a3)
+80002958: 0046a783 lw a5,4(a3)
+8000295c: 00f76733 or a4,a4,a5
+80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc>
+80002964: 00064583 lbu a1,0(a2)
+80002968: 0066a023 sw t1,0(a3)
+8000296c: 0076a223 sw t2,4(a3)
+80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0>
+80002974: e39ff06f j 800027ac <handle_trap+0x134>
+80002978: 04100793 li a5,65
+8000297c: 00000617 auipc a2,0x0
+80002980: 78860613 addi a2,a2,1928 # 80003104 <pass+0x120>
+80002984: ffffe697 auipc a3,0xffffe
+80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost>
+8000298c: ffffe597 auipc a1,0xffffe
+80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost>
+80002994: 00078413 mv s0,a5
+80002998: 00160613 addi a2,a2,1
+8000299c: 010104b7 lui s1,0x1010
+800029a0: 0006a703 lw a4,0(a3)
+800029a4: 0046a783 lw a5,4(a3)
+800029a8: 00f76733 or a4,a4,a5
+800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0>
+800029b0: 00000793 li a5,0
+800029b4: 00000813 li a6,0
+800029b8: 00f5a023 sw a5,0(a1)
+800029bc: 0105a223 sw a6,4(a1)
+800029c0: fe1ff06f j 800029a0 <handle_trap+0x328>
+800029c4: 04100793 li a5,65
+800029c8: 00000617 auipc a2,0x0
+800029cc: 70860613 addi a2,a2,1800 # 800030d0 <pass+0xec>
+800029d0: ffffe697 auipc a3,0xffffe
+800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost>
+800029d8: ffffe597 auipc a1,0xffffe
+800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost>
+800029e0: 00078913 mv s2,a5
+800029e4: 00160613 addi a2,a2,1
+800029e8: 010109b7 lui s3,0x1010
+800029ec: 0006a703 lw a4,0(a3)
+800029f0: 0046a783 lw a5,4(a3)
+800029f4: 00f76733 or a4,a4,a5
+800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4>
+800029fc: 00000793 li a5,0
+80002a00: 00000813 li a6,0
+80002a04: 00f5a023 sw a5,0(a1)
+80002a08: 0105a223 sw a6,4(a1)
+80002a0c: fe1ff06f j 800029ec <handle_trap+0x374>
+80002a10: 00412503 lw a0,4(sp)
+80002a14: 815ff0ef jal ra,80002228 <terminate>
+80002a18: 00064783 lbu a5,0(a2)
+80002a1c: 0086a023 sw s0,0(a3)
+80002a20: 0096a223 sw s1,4(a3)
+80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c>
+80002a28: d85ff06f j 800027ac <handle_trap+0x134>
+80002a2c: 00064783 lbu a5,0(a2)
+80002a30: 0126a023 sw s2,0(a3)
+80002a34: 0136a223 sw s3,4(a3)
+80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368>
+80002a3c: d71ff06f j 800027ac <handle_trap+0x134>
+
+80002a40 <vm_boot>:
+80002a40: f14027f3 csrr a5,mhartid
+80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158>
+80002a48: 00003797 auipc a5,0x3
+80002a4c: 5b878793 addi a5,a5,1464 # 80006000 <pt+0x1000>
+80002a50: 00c7d793 srli a5,a5,0xc
+80002a54: 00a79793 slli a5,a5,0xa
+80002a58: 0017e793 ori a5,a5,1
+80002a5c: 00002697 auipc a3,0x2
+80002a60: 5af6a223 sw a5,1444(a3) # 80005000 <pt>
+80002a64: 200007b7 lui a5,0x20000
+80002a68: 00002717 auipc a4,0x2
+80002a6c: 59870713 addi a4,a4,1432 # 80005000 <pt>
+80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31>
+80002a74: f6010113 addi sp,sp,-160
+80002a78: 00003697 auipc a3,0x3
+80002a7c: 58f6a223 sw a5,1412(a3) # 80005ffc <pt+0xffc>
+80002a80: 00c75793 srli a5,a4,0xc
+80002a84: 80000737 lui a4,0x80000
+80002a88: 08112e23 sw ra,156(sp)
+80002a8c: 08812c23 sw s0,152(sp)
+80002a90: 00e7e7b3 or a5,a5,a4
+80002a94: 18079073 csrw satp,a5
+80002a98: 01f00793 li a5,31
+80002a9c: fff00713 li a4,-1
+80002aa0: 00000297 auipc t0,0x0
+80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74>
+80002aa8: 305292f3 csrrw t0,mtvec,t0
+80002aac: 3b071073 csrw pmpaddr0,a4
+80002ab0: 3a079073 csrw pmpcfg0,a5
+80002ab4: 7fbfd797 auipc a5,0x7fbfd
+80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf8ccc>
+80002abc: 10579073 csrw stvec,a5
+80002ac0: 340027f3 csrr a5,mscratch
+80002ac4: 7fc00837 lui a6,0x7fc00
+80002ac8: 010787b3 add a5,a5,a6
+80002acc: 14079073 csrw sscratch,a5
+80002ad0: 0000b7b7 lui a5,0xb
+80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00>
+80002ad8: 30279073 csrw medeleg,a5
+80002adc: 0001e7b7 lui a5,0x1e
+80002ae0: 30079073 csrw mstatus,a5
+80002ae4: 30405073 csrwi mie,0
+80002ae8: 7fc04797 auipc a5,0x7fc04
+80002aec: 51878793 addi a5,a5,1304 # ffc07000 <_end+0x7fbffc08>
+80002af0: 00005717 auipc a4,0x5
+80002af4: 90f72223 sw a5,-1788(a4) # 800073f4 <freelist_head>
+80002af8: 7fc04797 auipc a5,0x7fc04
+80002afc: 6f878793 addi a5,a5,1784 # ffc071f0 <_end+0x7fbffdf8>
+80002b00: 00005717 auipc a4,0x5
+80002b04: 8ef72823 sw a5,-1808(a4) # 800073f0 <freelist_tail>
+80002b08: 000808b7 lui a7,0x80
+80002b0c: 00004717 auipc a4,0x4
+80002b10: 4f470713 addi a4,a4,1268 # 80007000 <freelist_nodes>
+80002b14: 00004317 auipc t1,0x4
+80002b18: 6e430313 addi t1,t1,1764 # 800071f8 <user_mapping>
+80002b1c: 00e00793 li a5,14
+80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1>
+80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8>
+80002b28: 0017d613 srli a2,a5,0x1
+80002b2c: 011786b3 add a3,a5,a7
+80002b30: 00f647b3 xor a5,a2,a5
+80002b34: 010705b3 add a1,a4,a6
+80002b38: 00c69693 slli a3,a3,0xc
+80002b3c: 00579793 slli a5,a5,0x5
+80002b40: 00d72023 sw a3,0(a4)
+80002b44: 00b72223 sw a1,4(a4)
+80002b48: 0207f793 andi a5,a5,32
+80002b4c: 00870713 addi a4,a4,8
+80002b50: 00f667b3 or a5,a2,a5
+80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8>
+80002b58: 00050413 mv s0,a0
+80002b5c: 09000613 li a2,144
+80002b60: 00000593 li a1,0
+80002b64: 00010513 mv a0,sp
+80002b68: 00004797 auipc a5,0x4
+80002b6c: 6807a623 sw zero,1676(a5) # 800071f4 <freelist_nodes+0x1f4>
+80002b70: cecff0ef jal ra,8000205c <memset>
+80002b74: 800007b7 lui a5,0x80000
+80002b78: 00f40433 add s0,s0,a5
+80002b7c: 00010513 mv a0,sp
+80002b80: 08812223 sw s0,132(sp)
+80002b84: cb8fd0ef jal ra,8000003c <pop_tf>
+80002b88: 09c12083 lw ra,156(sp)
+80002b8c: 09812403 lw s0,152(sp)
+80002b90: 0a010113 addi sp,sp,160
+80002b94: 00008067 ret
+80002b98: 0ddd07b7 lui a5,0xddd0
+80002b9c: 00080637 lui a2,0x80
+80002ba0: ebd78793 addi a5,a5,-323 # ddcfebd <_start-0x72230143>
+80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004>
+80002ba8: 800005b7 lui a1,0x80000
+80002bac: 00c7f733 and a4,a5,a2
+80002bb0: 0017f693 andi a3,a5,1
+80002bb4: 00b70733 add a4,a4,a1
+80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194>
+80002bbc: 0007202f amoadd.w zero,zero,(a4)
+80002bc0: 0017d793 srli a5,a5,0x1
+80002bc4: 00c7f733 and a4,a5,a2
+80002bc8: 0017f693 andi a3,a5,1
+80002bcc: 00b70733 add a4,a4,a1
+80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c>
+80002bd4: 00072003 lw zero,0(a4)
+80002bd8: 0017d793 srli a5,a5,0x1
+80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184>
+
+80002be0 <userstart>:
+80002be0: 00301073 fssr zero
+
+80002be4 <test_2>:
+80002be4: 00200193 li gp,2
+80002be8: 00001517 auipc a0,0x1
+80002bec: 41850513 addi a0,a0,1048 # 80004000 <test_2_data>
+80002bf0: 00052007 flw ft0,0(a0)
+80002bf4: 00452087 flw ft1,4(a0)
+80002bf8: 00852107 flw ft2,8(a0)
+80002bfc: 00c52683 lw a3,12(a0)
+80002c00: c0001553 fcvt.w.s a0,ft0,rtz
+80002c04: 001015f3 fsflags a1,zero
+80002c08: 00100613 li a2,1
+80002c0c: 3cd51463 bne a0,a3,80002fd4 <fail>
+80002c10: 3cc59263 bne a1,a2,80002fd4 <fail>
+
+80002c14 <test_3>:
+80002c14: 00300193 li gp,3
+80002c18: 00001517 auipc a0,0x1
+80002c1c: 3f850513 addi a0,a0,1016 # 80004010 <test_3_data>
+80002c20: 00052007 flw ft0,0(a0)
+80002c24: 00452087 flw ft1,4(a0)
+80002c28: 00852107 flw ft2,8(a0)
+80002c2c: 00c52683 lw a3,12(a0)
+80002c30: c0001553 fcvt.w.s a0,ft0,rtz
+80002c34: 001015f3 fsflags a1,zero
+80002c38: 00000613 li a2,0
+80002c3c: 38d51c63 bne a0,a3,80002fd4 <fail>
+80002c40: 38c59a63 bne a1,a2,80002fd4 <fail>
+
+80002c44 <test_4>:
+80002c44: 00400193 li gp,4
+80002c48: 00001517 auipc a0,0x1
+80002c4c: 3d850513 addi a0,a0,984 # 80004020 <test_4_data>
+80002c50: 00052007 flw ft0,0(a0)
+80002c54: 00452087 flw ft1,4(a0)
+80002c58: 00852107 flw ft2,8(a0)
+80002c5c: 00c52683 lw a3,12(a0)
+80002c60: c0001553 fcvt.w.s a0,ft0,rtz
+80002c64: 001015f3 fsflags a1,zero
+80002c68: 00100613 li a2,1
+80002c6c: 36d51463 bne a0,a3,80002fd4 <fail>
+80002c70: 36c59263 bne a1,a2,80002fd4 <fail>
+
+80002c74 <test_5>:
+80002c74: 00500193 li gp,5
+80002c78: 00001517 auipc a0,0x1
+80002c7c: 3b850513 addi a0,a0,952 # 80004030 <test_5_data>
+80002c80: 00052007 flw ft0,0(a0)
+80002c84: 00452087 flw ft1,4(a0)
+80002c88: 00852107 flw ft2,8(a0)
+80002c8c: 00c52683 lw a3,12(a0)
+80002c90: c0001553 fcvt.w.s a0,ft0,rtz
+80002c94: 001015f3 fsflags a1,zero
+80002c98: 00100613 li a2,1
+80002c9c: 32d51c63 bne a0,a3,80002fd4 <fail>
+80002ca0: 32c59a63 bne a1,a2,80002fd4 <fail>
+
+80002ca4 <test_6>:
+80002ca4: 00600193 li gp,6
+80002ca8: 00001517 auipc a0,0x1
+80002cac: 39850513 addi a0,a0,920 # 80004040 <test_6_data>
+80002cb0: 00052007 flw ft0,0(a0)
+80002cb4: 00452087 flw ft1,4(a0)
+80002cb8: 00852107 flw ft2,8(a0)
+80002cbc: 00c52683 lw a3,12(a0)
+80002cc0: c0001553 fcvt.w.s a0,ft0,rtz
+80002cc4: 001015f3 fsflags a1,zero
+80002cc8: 00000613 li a2,0
+80002ccc: 30d51463 bne a0,a3,80002fd4 <fail>
+80002cd0: 30c59263 bne a1,a2,80002fd4 <fail>
+
+80002cd4 <test_7>:
+80002cd4: 00700193 li gp,7
+80002cd8: 00001517 auipc a0,0x1
+80002cdc: 37850513 addi a0,a0,888 # 80004050 <test_7_data>
+80002ce0: 00052007 flw ft0,0(a0)
+80002ce4: 00452087 flw ft1,4(a0)
+80002ce8: 00852107 flw ft2,8(a0)
+80002cec: 00c52683 lw a3,12(a0)
+80002cf0: c0001553 fcvt.w.s a0,ft0,rtz
+80002cf4: 001015f3 fsflags a1,zero
+80002cf8: 00100613 li a2,1
+80002cfc: 2cd51c63 bne a0,a3,80002fd4 <fail>
+80002d00: 2cc59a63 bne a1,a2,80002fd4 <fail>
+
+80002d04 <test_8>:
+80002d04: 00800193 li gp,8
+80002d08: 00001517 auipc a0,0x1
+80002d0c: 35850513 addi a0,a0,856 # 80004060 <test_8_data>
+80002d10: 00052007 flw ft0,0(a0)
+80002d14: 00452087 flw ft1,4(a0)
+80002d18: 00852107 flw ft2,8(a0)
+80002d1c: 00c52683 lw a3,12(a0)
+80002d20: c0001553 fcvt.w.s a0,ft0,rtz
+80002d24: 001015f3 fsflags a1,zero
+80002d28: 01000613 li a2,16
+80002d2c: 2ad51463 bne a0,a3,80002fd4 <fail>
+80002d30: 2ac59263 bne a1,a2,80002fd4 <fail>
+
+80002d34 <test_9>:
+80002d34: 00900193 li gp,9
+80002d38: 00001517 auipc a0,0x1
+80002d3c: 33850513 addi a0,a0,824 # 80004070 <test_9_data>
+80002d40: 00052007 flw ft0,0(a0)
+80002d44: 00452087 flw ft1,4(a0)
+80002d48: 00852107 flw ft2,8(a0)
+80002d4c: 00c52683 lw a3,12(a0)
+80002d50: c0001553 fcvt.w.s a0,ft0,rtz
+80002d54: 001015f3 fsflags a1,zero
+80002d58: 01000613 li a2,16
+80002d5c: 26d51c63 bne a0,a3,80002fd4 <fail>
+80002d60: 26c59a63 bne a1,a2,80002fd4 <fail>
+
+80002d64 <test_12>:
+80002d64: 00c00193 li gp,12
+80002d68: 00001517 auipc a0,0x1
+80002d6c: 31850513 addi a0,a0,792 # 80004080 <test_12_data>
+80002d70: 00052007 flw ft0,0(a0)
+80002d74: 00452087 flw ft1,4(a0)
+80002d78: 00852107 flw ft2,8(a0)
+80002d7c: 00c52683 lw a3,12(a0)
+80002d80: c0101553 fcvt.wu.s a0,ft0,rtz
+80002d84: 001015f3 fsflags a1,zero
+80002d88: 01000613 li a2,16
+80002d8c: 24d51463 bne a0,a3,80002fd4 <fail>
+80002d90: 24c59263 bne a1,a2,80002fd4 <fail>
+
+80002d94 <test_13>:
+80002d94: 00d00193 li gp,13
+80002d98: 00001517 auipc a0,0x1
+80002d9c: 2f850513 addi a0,a0,760 # 80004090 <test_13_data>
+80002da0: 00052007 flw ft0,0(a0)
+80002da4: 00452087 flw ft1,4(a0)
+80002da8: 00852107 flw ft2,8(a0)
+80002dac: 00c52683 lw a3,12(a0)
+80002db0: c0101553 fcvt.wu.s a0,ft0,rtz
+80002db4: 001015f3 fsflags a1,zero
+80002db8: 01000613 li a2,16
+80002dbc: 20d51c63 bne a0,a3,80002fd4 <fail>
+80002dc0: 20c59a63 bne a1,a2,80002fd4 <fail>
+
+80002dc4 <test_14>:
+80002dc4: 00e00193 li gp,14
+80002dc8: 00001517 auipc a0,0x1
+80002dcc: 2d850513 addi a0,a0,728 # 800040a0 <test_14_data>
+80002dd0: 00052007 flw ft0,0(a0)
+80002dd4: 00452087 flw ft1,4(a0)
+80002dd8: 00852107 flw ft2,8(a0)
+80002ddc: 00c52683 lw a3,12(a0)
+80002de0: c0101553 fcvt.wu.s a0,ft0,rtz
+80002de4: 001015f3 fsflags a1,zero
+80002de8: 00100613 li a2,1
+80002dec: 1ed51463 bne a0,a3,80002fd4 <fail>
+80002df0: 1ec59263 bne a1,a2,80002fd4 <fail>
+
+80002df4 <test_15>:
+80002df4: 00f00193 li gp,15
+80002df8: 00001517 auipc a0,0x1
+80002dfc: 2b850513 addi a0,a0,696 # 800040b0 <test_15_data>
+80002e00: 00052007 flw ft0,0(a0)
+80002e04: 00452087 flw ft1,4(a0)
+80002e08: 00852107 flw ft2,8(a0)
+80002e0c: 00c52683 lw a3,12(a0)
+80002e10: c0101553 fcvt.wu.s a0,ft0,rtz
+80002e14: 001015f3 fsflags a1,zero
+80002e18: 00100613 li a2,1
+80002e1c: 1ad51c63 bne a0,a3,80002fd4 <fail>
+80002e20: 1ac59a63 bne a1,a2,80002fd4 <fail>
+
+80002e24 <test_16>:
+80002e24: 01000193 li gp,16
+80002e28: 00001517 auipc a0,0x1
+80002e2c: 29850513 addi a0,a0,664 # 800040c0 <test_16_data>
+80002e30: 00052007 flw ft0,0(a0)
+80002e34: 00452087 flw ft1,4(a0)
+80002e38: 00852107 flw ft2,8(a0)
+80002e3c: 00c52683 lw a3,12(a0)
+80002e40: c0101553 fcvt.wu.s a0,ft0,rtz
+80002e44: 001015f3 fsflags a1,zero
+80002e48: 00000613 li a2,0
+80002e4c: 18d51463 bne a0,a3,80002fd4 <fail>
+80002e50: 18c59263 bne a1,a2,80002fd4 <fail>
+
+80002e54 <test_17>:
+80002e54: 01100193 li gp,17
+80002e58: 00001517 auipc a0,0x1
+80002e5c: 27850513 addi a0,a0,632 # 800040d0 <test_17_data>
+80002e60: 00052007 flw ft0,0(a0)
+80002e64: 00452087 flw ft1,4(a0)
+80002e68: 00852107 flw ft2,8(a0)
+80002e6c: 00c52683 lw a3,12(a0)
+80002e70: c0101553 fcvt.wu.s a0,ft0,rtz
+80002e74: 001015f3 fsflags a1,zero
+80002e78: 00100613 li a2,1
+80002e7c: 14d51c63 bne a0,a3,80002fd4 <fail>
+80002e80: 14c59a63 bne a1,a2,80002fd4 <fail>
+
+80002e84 <test_18>:
+80002e84: 01200193 li gp,18
+80002e88: 00001517 auipc a0,0x1
+80002e8c: 25850513 addi a0,a0,600 # 800040e0 <test_18_data>
+80002e90: 00052007 flw ft0,0(a0)
+80002e94: 00452087 flw ft1,4(a0)
+80002e98: 00852107 flw ft2,8(a0)
+80002e9c: 00c52683 lw a3,12(a0)
+80002ea0: c0101553 fcvt.wu.s a0,ft0,rtz
+80002ea4: 001015f3 fsflags a1,zero
+80002ea8: 01000613 li a2,16
+80002eac: 12d51463 bne a0,a3,80002fd4 <fail>
+80002eb0: 12c59263 bne a1,a2,80002fd4 <fail>
+
+80002eb4 <test_19>:
+80002eb4: 01300193 li gp,19
+80002eb8: 00001517 auipc a0,0x1
+80002ebc: 23850513 addi a0,a0,568 # 800040f0 <test_19_data>
+80002ec0: 00052007 flw ft0,0(a0)
+80002ec4: 00452087 flw ft1,4(a0)
+80002ec8: 00852107 flw ft2,8(a0)
+80002ecc: 00c52683 lw a3,12(a0)
+80002ed0: c0101553 fcvt.wu.s a0,ft0,rtz
+80002ed4: 001015f3 fsflags a1,zero
+80002ed8: 00000613 li a2,0
+80002edc: 0ed51c63 bne a0,a3,80002fd4 <fail>
+80002ee0: 0ec59a63 bne a1,a2,80002fd4 <fail>
+
+80002ee4 <test_42>:
+80002ee4: 00001097 auipc ra,0x1
+80002ee8: 21c08093 addi ra,ra,540 # 80004100 <begin_signature>
+80002eec: 0000a087 flw ft1,0(ra)
+80002ef0: c000f0d3 fcvt.w.s ra,ft1
+80002ef4: 80000eb7 lui t4,0x80000
+80002ef8: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffff8c07>
+80002efc: 02a00193 li gp,42
+80002f00: 0dd09a63 bne ra,t4,80002fd4 <fail>
+
+80002f04 <test_44>:
+80002f04: 00001097 auipc ra,0x1
+80002f08: 1fc08093 addi ra,ra,508 # 80004100 <begin_signature>
+80002f0c: 0080a087 flw ft1,8(ra)
+80002f10: c000f0d3 fcvt.w.s ra,ft1
+80002f14: 80000eb7 lui t4,0x80000
+80002f18: 02c00193 li gp,44
+80002f1c: 0bd09c63 bne ra,t4,80002fd4 <fail>
+
+80002f20 <test_52>:
+80002f20: 00001097 auipc ra,0x1
+80002f24: 1e008093 addi ra,ra,480 # 80004100 <begin_signature>
+80002f28: 0040a087 flw ft1,4(ra)
+80002f2c: c000f0d3 fcvt.w.s ra,ft1
+80002f30: 80000eb7 lui t4,0x80000
+80002f34: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffff8c07>
+80002f38: 03400193 li gp,52
+80002f3c: 09d09c63 bne ra,t4,80002fd4 <fail>
+
+80002f40 <test_54>:
+80002f40: 00001097 auipc ra,0x1
+80002f44: 1c008093 addi ra,ra,448 # 80004100 <begin_signature>
+80002f48: 00c0a087 flw ft1,12(ra)
+80002f4c: c000f0d3 fcvt.w.s ra,ft1
+80002f50: 80000eb7 lui t4,0x80000
+80002f54: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffff8c07>
+80002f58: 03600193 li gp,54
+80002f5c: 07d09c63 bne ra,t4,80002fd4 <fail>
+
+80002f60 <test_62>:
+80002f60: 00001097 auipc ra,0x1
+80002f64: 1a008093 addi ra,ra,416 # 80004100 <begin_signature>
+80002f68: 0000a087 flw ft1,0(ra)
+80002f6c: c010f0d3 fcvt.wu.s ra,ft1
+80002f70: fff00e93 li t4,-1
+80002f74: 03e00193 li gp,62
+80002f78: 05d09e63 bne ra,t4,80002fd4 <fail>
+
+80002f7c <test_63>:
+80002f7c: 00001097 auipc ra,0x1
+80002f80: 18408093 addi ra,ra,388 # 80004100 <begin_signature>
+80002f84: 0040a087 flw ft1,4(ra)
+80002f88: c010f0d3 fcvt.wu.s ra,ft1
+80002f8c: fff00e93 li t4,-1
+80002f90: 03f00193 li gp,63
+80002f94: 05d09063 bne ra,t4,80002fd4 <fail>
+
+80002f98 <test_64>:
+80002f98: 00001097 auipc ra,0x1
+80002f9c: 16808093 addi ra,ra,360 # 80004100 <begin_signature>
+80002fa0: 0080a087 flw ft1,8(ra)
+80002fa4: c010f0d3 fcvt.wu.s ra,ft1
+80002fa8: 00000e93 li t4,0
+80002fac: 04000193 li gp,64
+80002fb0: 03d09263 bne ra,t4,80002fd4 <fail>
+
+80002fb4 <test_65>:
+80002fb4: 00001097 auipc ra,0x1
+80002fb8: 14c08093 addi ra,ra,332 # 80004100 <begin_signature>
+80002fbc: 00c0a087 flw ft1,12(ra)
+80002fc0: c010f0d3 fcvt.wu.s ra,ft1
+80002fc4: fff00e93 li t4,-1
+80002fc8: 04100193 li gp,65
+80002fcc: 01d09463 bne ra,t4,80002fd4 <fail>
+80002fd0: 00301a63 bne zero,gp,80002fe4 <pass>
+
+80002fd4 <fail>:
+80002fd4: 00119513 slli a0,gp,0x1
+80002fd8: 00050063 beqz a0,80002fd8 <fail+0x4>
+80002fdc: 00156513 ori a0,a0,1
+80002fe0: 00000073 ecall
+
+80002fe4 <pass>:
+80002fe4: 00100513 li a0,1
+80002fe8: 00000073 ecall
+80002fec: c0001073 unimp
+
+Disassembly of section .data:
+
+80004000 <test_2_data>:
+80004000: cccd beqz s1,800040ba <test_15_data+0xa>
+80004002: bf8c fsd fa1,56(a5)
+80004004: 0000 unimp
+80004006: 0000 unimp
+80004008: 0000 unimp
+8000400a: 0000 unimp
+8000400c: ffff 0xffff
+8000400e: ffff 0xffff
+
+80004010 <test_3_data>:
+80004010: 0000 unimp
+80004012: bf80 fsd fs0,56(a5)
+80004014: 0000 unimp
+80004016: 0000 unimp
+80004018: 0000 unimp
+8000401a: 0000 unimp
+8000401c: ffff 0xffff
+8000401e: ffff 0xffff
+
+80004020 <test_4_data>:
+80004020: 6666 flw fa2,88(sp)
+80004022: bf66 fsd fs9,440(sp)
+80004024: 0000 unimp
+80004026: 0000 unimp
+80004028: 0000 unimp
+8000402a: 0000 unimp
+8000402c: 0000 unimp
+8000402e: 0000 unimp
+
+80004030 <test_5_data>:
+80004030: 6666 flw fa2,88(sp)
+80004032: 3f66 fld ft10,120(sp)
+80004034: 0000 unimp
+80004036: 0000 unimp
+80004038: 0000 unimp
+8000403a: 0000 unimp
+8000403c: 0000 unimp
+8000403e: 0000 unimp
+
+80004040 <test_6_data>:
+80004040: 0000 unimp
+80004042: 3f80 fld fs0,56(a5)
+80004044: 0000 unimp
+80004046: 0000 unimp
+80004048: 0000 unimp
+8000404a: 0000 unimp
+8000404c: 0001 nop
+8000404e: 0000 unimp
+
+80004050 <test_7_data>:
+80004050: cccd beqz s1,8000410a <begin_signature+0xa>
+80004052: 3f8c fld fa1,56(a5)
+80004054: 0000 unimp
+80004056: 0000 unimp
+80004058: 0000 unimp
+8000405a: 0000 unimp
+8000405c: 0001 nop
+8000405e: 0000 unimp
+
+80004060 <test_8_data>:
+80004060: d05e sw s7,32(sp)
+80004062: cf32 sw a2,156(sp)
+80004064: 0000 unimp
+80004066: 0000 unimp
+80004068: 0000 unimp
+8000406a: 0000 unimp
+8000406c: 0000 unimp
+8000406e: 8000 0x8000
+
+80004070 <test_9_data>:
+80004070: d05e sw s7,32(sp)
+80004072: 4f32 lw t5,12(sp)
+80004074: 0000 unimp
+80004076: 0000 unimp
+80004078: 0000 unimp
+8000407a: 0000 unimp
+8000407c: ffff 0xffff
+8000407e: 7fff 0x7fff
+
+80004080 <test_12_data>:
+80004080: 0000 unimp
+80004082: c040 sw s0,4(s0)
+80004084: 0000 unimp
+80004086: 0000 unimp
+80004088: 0000 unimp
+8000408a: 0000 unimp
+8000408c: 0000 unimp
+8000408e: 0000 unimp
+
+80004090 <test_13_data>:
+80004090: 0000 unimp
+80004092: bf80 fsd fs0,56(a5)
+80004094: 0000 unimp
+80004096: 0000 unimp
+80004098: 0000 unimp
+8000409a: 0000 unimp
+8000409c: 0000 unimp
+8000409e: 0000 unimp
+
+800040a0 <test_14_data>:
+800040a0: 6666 flw fa2,88(sp)
+800040a2: bf66 fsd fs9,440(sp)
+800040a4: 0000 unimp
+800040a6: 0000 unimp
+800040a8: 0000 unimp
+800040aa: 0000 unimp
+800040ac: 0000 unimp
+800040ae: 0000 unimp
+
+800040b0 <test_15_data>:
+800040b0: 6666 flw fa2,88(sp)
+800040b2: 3f66 fld ft10,120(sp)
+800040b4: 0000 unimp
+800040b6: 0000 unimp
+800040b8: 0000 unimp
+800040ba: 0000 unimp
+800040bc: 0000 unimp
+800040be: 0000 unimp
+
+800040c0 <test_16_data>:
+800040c0: 0000 unimp
+800040c2: 3f80 fld fs0,56(a5)
+800040c4: 0000 unimp
+800040c6: 0000 unimp
+800040c8: 0000 unimp
+800040ca: 0000 unimp
+800040cc: 0001 nop
+800040ce: 0000 unimp
+
+800040d0 <test_17_data>:
+800040d0: cccd beqz s1,8000418a <tdat_d+0x7a>
+800040d2: 3f8c fld fa1,56(a5)
+800040d4: 0000 unimp
+800040d6: 0000 unimp
+800040d8: 0000 unimp
+800040da: 0000 unimp
+800040dc: 0001 nop
+800040de: 0000 unimp
+
+800040e0 <test_18_data>:
+800040e0: d05e sw s7,32(sp)
+800040e2: cf32 sw a2,156(sp)
+800040e4: 0000 unimp
+800040e6: 0000 unimp
+800040e8: 0000 unimp
+800040ea: 0000 unimp
+800040ec: 0000 unimp
+800040ee: 0000 unimp
+
+800040f0 <test_19_data>:
+800040f0: d05e sw s7,32(sp)
+800040f2: 4f32 lw t5,12(sp)
+800040f4: 0000 unimp
+800040f6: 0000 unimp
+800040f8: 0000 unimp
+800040fa: 0000 unimp
+800040fc: 5e00 lw s0,56(a2)
+800040fe: b2d0 fsd fa2,160(a3)
+
+80004100 <begin_signature>:
+80004100: ffff 0xffff
+80004102: ffff 0xffff
+80004104: ffff 0xffff
+80004106: 7fff 0x7fff
+80004108: 0000 unimp
+8000410a: ff80 fsw fs0,56(a5)
+8000410c: 0000 unimp
+8000410e: 7f80 flw fs0,56(a5)
+
+80004110 <tdat_d>:
+80004110: ffff 0xffff
+80004112: ffff 0xffff
+80004114: ffff 0xffff
+80004116: ffff 0xffff
+80004118: ffff 0xffff
+8000411a: ffff 0xffff
+8000411c: ffff 0xffff
+8000411e: 7fff 0x7fff
+80004120: 0000 unimp
+80004122: 0000 unimp
+80004124: 0000 unimp
+80004126: fff0 fsw fa2,124(a5)
+80004128: 0000 unimp
+8000412a: 0000 unimp
+8000412c: 0000 unimp
+8000412e: 7ff0 flw fa2,124(a5)
diff --git a/test/riscv-tests/rv32ud-v-fcvt_w.elf b/test/riscv-tests/rv32ud-v-fcvt_w.elf
new file mode 100644
index 0000000..ddbd2db
--- /dev/null
+++ b/test/riscv-tests/rv32ud-v-fcvt_w.elf
Binary files differ
diff --git a/test/riscv-tests/rv32ud-v-fdiv.dump b/test/riscv-tests/rv32ud-v-fdiv.dump
new file mode 100644
index 0000000..ee9c731
--- /dev/null
+++ b/test/riscv-tests/rv32ud-v-fdiv.dump
@@ -0,0 +1,1198 @@
+
+rv32ud-v-fdiv: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 00c0006f j 8000000c <handle_reset>
+
+80000004 <nmi_vector>:
+80000004: 2780206f j 8000227c <wtf>
+
+80000008 <trap_vector>:
+80000008: 2740206f j 8000227c <wtf>
+
+8000000c <handle_reset>:
+8000000c: 00000297 auipc t0,0x0
+80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+80000014: 30529073 csrw mtvec,t0
+80000018: 00007117 auipc sp,0x7
+8000001c: 35010113 addi sp,sp,848 # 80007368 <_end+0xf70>
+80000020: f14022f3 csrr t0,mhartid
+80000024: 00c29293 slli t0,t0,0xc
+80000028: 00510133 add sp,sp,t0
+8000002c: 34011073 csrw mscratch,sp
+80000030: 00003517 auipc a0,0x3
+80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart>
+80000038: 2090206f j 80002a40 <vm_boot>
+
+8000003c <pop_tf>:
+8000003c: 08452283 lw t0,132(a0)
+80000040: 14129073 csrw sepc,t0
+80000044: 00452083 lw ra,4(a0)
+80000048: 00852103 lw sp,8(a0)
+8000004c: 00c52183 lw gp,12(a0)
+80000050: 01052203 lw tp,16(a0)
+80000054: 01452283 lw t0,20(a0)
+80000058: 01852303 lw t1,24(a0)
+8000005c: 01c52383 lw t2,28(a0)
+80000060: 02052403 lw s0,32(a0)
+80000064: 02452483 lw s1,36(a0)
+80000068: 02c52583 lw a1,44(a0)
+8000006c: 03052603 lw a2,48(a0)
+80000070: 03452683 lw a3,52(a0)
+80000074: 03852703 lw a4,56(a0)
+80000078: 03c52783 lw a5,60(a0)
+8000007c: 04052803 lw a6,64(a0)
+80000080: 04452883 lw a7,68(a0)
+80000084: 04852903 lw s2,72(a0)
+80000088: 04c52983 lw s3,76(a0)
+8000008c: 05052a03 lw s4,80(a0)
+80000090: 05452a83 lw s5,84(a0)
+80000094: 05852b03 lw s6,88(a0)
+80000098: 05c52b83 lw s7,92(a0)
+8000009c: 06052c03 lw s8,96(a0)
+800000a0: 06452c83 lw s9,100(a0)
+800000a4: 06852d03 lw s10,104(a0)
+800000a8: 06c52d83 lw s11,108(a0)
+800000ac: 07052e03 lw t3,112(a0)
+800000b0: 07452e83 lw t4,116(a0)
+800000b4: 07852f03 lw t5,120(a0)
+800000b8: 07c52f83 lw t6,124(a0)
+800000bc: 02852503 lw a0,40(a0)
+800000c0: 10200073 sret
+
+800000c4 <trap_entry>:
+800000c4: 14011173 csrrw sp,sscratch,sp
+800000c8: 00112223 sw ra,4(sp)
+800000cc: 00312623 sw gp,12(sp)
+800000d0: 00412823 sw tp,16(sp)
+800000d4: 00512a23 sw t0,20(sp)
+800000d8: 00612c23 sw t1,24(sp)
+800000dc: 00712e23 sw t2,28(sp)
+800000e0: 02812023 sw s0,32(sp)
+800000e4: 02912223 sw s1,36(sp)
+800000e8: 02a12423 sw a0,40(sp)
+800000ec: 02b12623 sw a1,44(sp)
+800000f0: 02c12823 sw a2,48(sp)
+800000f4: 02d12a23 sw a3,52(sp)
+800000f8: 02e12c23 sw a4,56(sp)
+800000fc: 02f12e23 sw a5,60(sp)
+80000100: 05012023 sw a6,64(sp)
+80000104: 05112223 sw a7,68(sp)
+80000108: 05212423 sw s2,72(sp)
+8000010c: 05312623 sw s3,76(sp)
+80000110: 05412823 sw s4,80(sp)
+80000114: 05512a23 sw s5,84(sp)
+80000118: 05612c23 sw s6,88(sp)
+8000011c: 05712e23 sw s7,92(sp)
+80000120: 07812023 sw s8,96(sp)
+80000124: 07912223 sw s9,100(sp)
+80000128: 07a12423 sw s10,104(sp)
+8000012c: 07b12623 sw s11,108(sp)
+80000130: 07c12823 sw t3,112(sp)
+80000134: 07d12a23 sw t4,116(sp)
+80000138: 07e12c23 sw t5,120(sp)
+8000013c: 07f12e23 sw t6,124(sp)
+80000140: 140112f3 csrrw t0,sscratch,sp
+80000144: 00512423 sw t0,8(sp)
+80000148: 100022f3 csrr t0,sstatus
+8000014c: 08512023 sw t0,128(sp)
+80000150: 141022f3 csrr t0,sepc
+80000154: 08512223 sw t0,132(sp)
+80000158: 143022f3 csrr t0,stval
+8000015c: 08512423 sw t0,136(sp)
+80000160: 142022f3 csrr t0,scause
+80000164: 08512623 sw t0,140(sp)
+80000168: 00010513 mv a0,sp
+8000016c: 50c0206f j 80002678 <handle_trap>
+
+Disassembly of section .text:
+
+80002000 <memcpy>:
+80002000: 00c5e7b3 or a5,a1,a2
+80002004: 00f567b3 or a5,a0,a5
+80002008: 0037f793 andi a5,a5,3
+8000200c: 00c506b3 add a3,a0,a2
+80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+80002014: 00c58633 add a2,a1,a2
+80002018: 00050793 mv a5,a0
+8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+80002020: 00158593 addi a1,a1,1
+80002024: fff5c703 lbu a4,-1(a1)
+80002028: 00178793 addi a5,a5,1
+8000202c: fee78fa3 sb a4,-1(a5)
+80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+80002034: 00008067 ret
+80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+8000203c: 00050793 mv a5,a0
+80002040: 00458593 addi a1,a1,4
+80002044: ffc5a703 lw a4,-4(a1)
+80002048: 00478793 addi a5,a5,4
+8000204c: fee7ae23 sw a4,-4(a5)
+80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+80002054: 00008067 ret
+80002058: 00008067 ret
+
+8000205c <memset>:
+8000205c: 00c567b3 or a5,a0,a2
+80002060: 0037f793 andi a5,a5,3
+80002064: 00c50633 add a2,a0,a2
+80002068: 02078063 beqz a5,80002088 <memset+0x2c>
+8000206c: 0ff5f593 andi a1,a1,255
+80002070: 00050793 mv a5,a0
+80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58>
+80002078: 00178793 addi a5,a5,1
+8000207c: feb78fa3 sb a1,-1(a5)
+80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+80002084: 00008067 ret
+80002088: 0ff5f593 andi a1,a1,255
+8000208c: 00859793 slli a5,a1,0x8
+80002090: 00b7e7b3 or a5,a5,a1
+80002094: 01079593 slli a1,a5,0x10
+80002098: 00f5e5b3 or a1,a1,a5
+8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28>
+800020a0: 00050793 mv a5,a0
+800020a4: 00478793 addi a5,a5,4
+800020a8: feb7ae23 sw a1,-4(a5)
+800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48>
+800020b0: 00008067 ret
+800020b4: 00008067 ret
+
+800020b8 <strlen>:
+800020b8: 00054783 lbu a5,0(a0)
+800020bc: 00050713 mv a4,a0
+800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20>
+800020c4: 00150513 addi a0,a0,1
+800020c8: 00054783 lbu a5,0(a0)
+800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc>
+800020d0: 40e50533 sub a0,a0,a4
+800020d4: 00008067 ret
+800020d8: 00000513 li a0,0
+800020dc: 00008067 ret
+
+800020e0 <strcmp>:
+800020e0: 00150513 addi a0,a0,1
+800020e4: fff54783 lbu a5,-1(a0)
+800020e8: 00158593 addi a1,a1,1
+800020ec: fff5c703 lbu a4,-1(a1)
+800020f0: 00078863 beqz a5,80002100 <strcmp+0x20>
+800020f4: fee786e3 beq a5,a4,800020e0 <strcmp>
+800020f8: 40e78533 sub a0,a5,a4
+800020fc: 00008067 ret
+80002100: 00000793 li a5,0
+80002104: ff5ff06f j 800020f8 <strcmp+0x18>
+
+80002108 <memcmp>:
+80002108: 00b567b3 or a5,a0,a1
+8000210c: 0037f793 andi a5,a5,3
+80002110: 04079263 bnez a5,80002154 <memcmp+0x4c>
+80002114: ffc67693 andi a3,a2,-4
+80002118: 00d506b3 add a3,a0,a3
+8000211c: 00050813 mv a6,a0
+80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c>
+80002124: 00052703 lw a4,0(a0)
+80002128: 0005a783 lw a5,0(a1)
+8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38>
+80002130: 0240006f j 80002154 <memcmp+0x4c>
+80002134: 00052703 lw a4,0(a0)
+80002138: 0005a783 lw a5,0(a1)
+8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44>
+80002140: 00450513 addi a0,a0,4
+80002144: 00458593 addi a1,a1,4
+80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c>
+8000214c: 41050833 sub a6,a0,a6
+80002150: 41060633 sub a2,a2,a6
+80002154: 00c58633 add a2,a1,a2
+80002158: 0140006f j 8000216c <memcmp+0x64>
+8000215c: 00158593 addi a1,a1,1
+80002160: fff54783 lbu a5,-1(a0)
+80002164: fff5c703 lbu a4,-1(a1)
+80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74>
+8000216c: 00150513 addi a0,a0,1
+80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54>
+80002174: 00000513 li a0,0
+80002178: 00008067 ret
+8000217c: 40e78533 sub a0,a5,a4
+80002180: 00008067 ret
+
+80002184 <strcpy>:
+80002184: 00050793 mv a5,a0
+80002188: 00158593 addi a1,a1,1
+8000218c: fff5c703 lbu a4,-1(a1)
+80002190: 00178793 addi a5,a5,1
+80002194: fee78fa3 sb a4,-1(a5)
+80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4>
+8000219c: 00008067 ret
+
+800021a0 <atol>:
+800021a0: 00054783 lbu a5,0(a0)
+800021a4: 02000713 li a4,32
+800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18>
+800021ac: 00150513 addi a0,a0,1
+800021b0: 00054783 lbu a5,0(a0)
+800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc>
+800021b8: fd578713 addi a4,a5,-43
+800021bc: 0fd77713 andi a4,a4,253
+800021c0: 04070263 beqz a4,80002204 <atol+0x64>
+800021c4: 00054683 lbu a3,0(a0)
+800021c8: 00050793 mv a5,a0
+800021cc: 00000613 li a2,0
+800021d0: 04068863 beqz a3,80002220 <atol+0x80>
+800021d4: 00000513 li a0,0
+800021d8: 00178793 addi a5,a5,1
+800021dc: fd068593 addi a1,a3,-48
+800021e0: 00251713 slli a4,a0,0x2
+800021e4: 0007c683 lbu a3,0(a5)
+800021e8: 00a70533 add a0,a4,a0
+800021ec: 00151513 slli a0,a0,0x1
+800021f0: 00a58533 add a0,a1,a0
+800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38>
+800021f8: 00060463 beqz a2,80002200 <atol+0x60>
+800021fc: 40a00533 neg a0,a0
+80002200: 00008067 ret
+80002204: 00154683 lbu a3,1(a0)
+80002208: fd378793 addi a5,a5,-45
+8000220c: 0017b613 seqz a2,a5
+80002210: 00150793 addi a5,a0,1
+80002214: fc0690e3 bnez a3,800021d4 <atol+0x34>
+80002218: 00000513 li a0,0
+8000221c: fddff06f j 800021f8 <atol+0x58>
+80002220: 00000513 li a0,0
+80002224: 00008067 ret
+
+80002228 <terminate>:
+80002228: fffff697 auipc a3,0xfffff
+8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost>
+80002230: 0006a703 lw a4,0(a3)
+80002234: 0046a783 lw a5,4(a3)
+80002238: 00050813 mv a6,a0
+8000223c: 41f55893 srai a7,a0,0x1f
+80002240: 00f76733 or a4,a4,a5
+80002244: 02070663 beqz a4,80002270 <terminate+0x48>
+80002248: fffff617 auipc a2,0xfffff
+8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost>
+80002250: 00000713 li a4,0
+80002254: 00e62023 sw a4,0(a2)
+80002258: 00000793 li a5,0
+8000225c: 00f62223 sw a5,4(a2)
+80002260: 0006a703 lw a4,0(a3)
+80002264: 0046a783 lw a5,4(a3)
+80002268: 00f76733 or a4,a4,a5
+8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28>
+80002270: 0106a023 sw a6,0(a3)
+80002274: 0116a223 sw a7,4(a3)
+80002278: 0000006f j 80002278 <terminate+0x50>
+
+8000227c <wtf>:
+8000227c: ff010113 addi sp,sp,-16
+80002280: 34900513 li a0,841
+80002284: 00112623 sw ra,12(sp)
+80002288: fa1ff0ef jal ra,80002228 <terminate>
+
+8000228c <printhex>:
+8000228c: fe010113 addi sp,sp,-32
+80002290: 01b10793 addi a5,sp,27
+80002294: 00b10e93 addi t4,sp,11
+80002298: 00900e13 li t3,9
+8000229c: 00f57693 andi a3,a0,15
+800022a0: 01c59313 slli t1,a1,0x1c
+800022a4: 00455513 srli a0,a0,0x4
+800022a8: 05700613 li a2,87
+800022ac: 0ff6f713 andi a4,a3,255
+800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c>
+800022b4: 03000613 li a2,48
+800022b8: 00c70733 add a4,a4,a2
+800022bc: 00e78023 sb a4,0(a5)
+800022c0: fff78793 addi a5,a5,-1
+800022c4: 00a36533 or a0,t1,a0
+800022c8: 0045d593 srli a1,a1,0x4
+800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10>
+800022d0: 00c14583 lbu a1,12(sp)
+800022d4: 00010e23 sb zero,28(sp)
+800022d8: 06058263 beqz a1,8000233c <printhex+0xb0>
+800022dc: 00c10513 addi a0,sp,12
+800022e0: fffff697 auipc a3,0xfffff
+800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost>
+800022e8: fffff617 auipc a2,0xfffff
+800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost>
+800022f0: 0006a703 lw a4,0(a3)
+800022f4: 0046a783 lw a5,4(a3)
+800022f8: 00058813 mv a6,a1
+800022fc: 00150513 addi a0,a0,1
+80002300: 00f76733 or a4,a4,a5
+80002304: 010108b7 lui a7,0x1010
+80002308: 02070263 beqz a4,8000232c <printhex+0xa0>
+8000230c: 00000713 li a4,0
+80002310: 00e62023 sw a4,0(a2)
+80002314: 00000793 li a5,0
+80002318: 00f62223 sw a5,4(a2)
+8000231c: 0006a703 lw a4,0(a3)
+80002320: 0046a783 lw a5,4(a3)
+80002324: 00f76733 or a4,a4,a5
+80002328: fe0712e3 bnez a4,8000230c <printhex+0x80>
+8000232c: 00054583 lbu a1,0(a0)
+80002330: 0106a023 sw a6,0(a3)
+80002334: 0116a223 sw a7,4(a3)
+80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64>
+8000233c: 02010113 addi sp,sp,32
+80002340: 00008067 ret
+
+80002344 <handle_fault>:
+80002344: ff010113 addi sp,sp,-16
+80002348: fffff6b7 lui a3,0xfffff
+8000234c: 00112623 sw ra,12(sp)
+80002350: 00812423 sw s0,8(sp)
+80002354: 00912223 sw s1,4(sp)
+80002358: 00d50733 add a4,a0,a3
+8000235c: 0003e7b7 lui a5,0x3e
+80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180>
+80002364: 00c55613 srli a2,a0,0xc
+80002368: 40060e13 addi t3,a2,1024
+8000236c: 00002317 auipc t1,0x2
+80002370: c9430313 addi t1,t1,-876 # 80004000 <pt>
+80002374: 002e1793 slli a5,t3,0x2
+80002378: 00f307b3 add a5,t1,a5
+8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000>
+80002380: 00d57533 and a0,a0,a3
+80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130>
+80002388: 00004797 auipc a5,0x4
+8000238c: 06c78793 addi a5,a5,108 # 800063f4 <freelist_head>
+80002390: 0007a583 lw a1,0(a5)
+80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0>
+80002398: 0045a783 lw a5,4(a1)
+8000239c: 00004717 auipc a4,0x4
+800023a0: 05470713 addi a4,a4,84 # 800063f0 <freelist_tail>
+800023a4: 00072703 lw a4,0(a4)
+800023a8: 00004697 auipc a3,0x4
+800023ac: 04f6a623 sw a5,76(a3) # 800063f4 <freelist_head>
+800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174>
+800023b4: 0005a703 lw a4,0(a1)
+800023b8: 002e1793 slli a5,t3,0x2
+800023bc: 00f307b3 add a5,t1,a5
+800023c0: 00c75713 srli a4,a4,0xc
+800023c4: 00a71713 slli a4,a4,0xa
+800023c8: 0df76e93 ori t4,a4,223
+800023cc: 01f76693 ori a3,a4,31
+800023d0: 01d7a023 sw t4,0(a5)
+800023d4: 12050073 sfence.vma a0
+800023d8: 00004717 auipc a4,0x4
+800023dc: e2070713 addi a4,a4,-480 # 800061f8 <user_mapping>
+800023e0: 00361793 slli a5,a2,0x3
+800023e4: 00f707b3 add a5,a4,a5
+800023e8: 0007a703 lw a4,0(a5)
+800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c>
+800023f0: 0005a703 lw a4,0(a1)
+800023f4: 00e7a023 sw a4,0(a5)
+800023f8: 0045a703 lw a4,4(a1)
+800023fc: 00e7a223 sw a4,4(a5)
+80002400: 000407b7 lui a5,0x40
+80002404: 1007a5f3 csrrs a1,sstatus,a5
+80002408: ffc007b7 lui a5,0xffc00
+8000240c: 00f507b3 add a5,a0,a5
+80002410: 00001637 lui a2,0x1
+80002414: 00050713 mv a4,a0
+80002418: 00c78633 add a2,a5,a2
+8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf9c08>
+80002420: 0047ae83 lw t4,4(a5)
+80002424: 0087a883 lw a7,8(a5)
+80002428: 00c7a803 lw a6,12(a5)
+8000242c: 01e72023 sw t5,0(a4)
+80002430: 01d72223 sw t4,4(a4)
+80002434: 01172423 sw a7,8(a4)
+80002438: 01072623 sw a6,12(a4)
+8000243c: 01078793 addi a5,a5,16
+80002440: 01070713 addi a4,a4,16
+80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8>
+80002448: 10059073 csrw sstatus,a1
+8000244c: 002e1e13 slli t3,t3,0x2
+80002450: 01c30333 add t1,t1,t3
+80002454: 00d32023 sw a3,0(t1)
+80002458: 12050073 sfence.vma a0
+8000245c: 0000100f fence.i
+80002460: 00c12083 lw ra,12(sp)
+80002464: 00812403 lw s0,8(sp)
+80002468: 00412483 lw s1,4(sp)
+8000246c: 01010113 addi sp,sp,16
+80002470: 00008067 ret
+80002474: 04077693 andi a3,a4,64
+80002478: 02069263 bnez a3,8000249c <handle_fault+0x158>
+8000247c: 04076713 ori a4,a4,64
+80002480: 00e7a023 sw a4,0(a5)
+80002484: 12050073 sfence.vma a0
+80002488: 00c12083 lw ra,12(sp)
+8000248c: 00812403 lw s0,8(sp)
+80002490: 00412483 lw s1,4(sp)
+80002494: 01010113 addi sp,sp,16
+80002498: 00008067 ret
+8000249c: 08077693 andi a3,a4,128
+800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8>
+800024a4: 00f00693 li a3,15
+800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8>
+800024ac: 08076713 ori a4,a4,128
+800024b0: 00e7a023 sw a4,0(a5)
+800024b4: fd1ff06f j 80002484 <handle_fault+0x140>
+800024b8: 00004797 auipc a5,0x4
+800024bc: f207ac23 sw zero,-200(a5) # 800063f0 <freelist_tail>
+800024c0: ef5ff06f j 800023b4 <handle_fault+0x70>
+800024c4: 04100513 li a0,65
+800024c8: 00001597 auipc a1,0x1
+800024cc: 95c58593 addi a1,a1,-1700 # 80002e24 <pass+0xc>
+800024d0: fffff697 auipc a3,0xfffff
+800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost>
+800024d8: fffff617 auipc a2,0xfffff
+800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost>
+800024e0: 0006a703 lw a4,0(a3)
+800024e4: 0046a783 lw a5,4(a3)
+800024e8: 00050313 mv t1,a0
+800024ec: 00158593 addi a1,a1,1
+800024f0: 00f76733 or a4,a4,a5
+800024f4: 010103b7 lui t2,0x1010
+800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8>
+800024fc: 00000793 li a5,0
+80002500: 00f62023 sw a5,0(a2)
+80002504: 00000813 li a6,0
+80002508: 01062223 sw a6,4(a2)
+8000250c: 0006a703 lw a4,0(a3)
+80002510: 0046a783 lw a5,4(a3)
+80002514: 00f76733 or a4,a4,a5
+80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8>
+8000251c: 0005c503 lbu a0,0(a1)
+80002520: 0066a023 sw t1,0(a3)
+80002524: 0076a223 sw t2,4(a3)
+80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c>
+8000252c: 00300513 li a0,3
+80002530: cf9ff0ef jal ra,80002228 <terminate>
+80002534: 04100513 li a0,65
+80002538: 00001597 auipc a1,0x1
+8000253c: 97858593 addi a1,a1,-1672 # 80002eb0 <pass+0x98>
+80002540: fffff697 auipc a3,0xfffff
+80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost>
+80002548: fffff617 auipc a2,0xfffff
+8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost>
+80002550: 0006a703 lw a4,0(a3)
+80002554: 0046a783 lw a5,4(a3)
+80002558: 00050f13 mv t5,a0
+8000255c: 00158593 addi a1,a1,1
+80002560: 00f76733 or a4,a4,a5
+80002564: 01010fb7 lui t6,0x1010
+80002568: 02070263 beqz a4,8000258c <handle_fault+0x248>
+8000256c: 00000793 li a5,0
+80002570: 00f62023 sw a5,0(a2)
+80002574: 00000813 li a6,0
+80002578: 01062223 sw a6,4(a2)
+8000257c: 0006a703 lw a4,0(a3)
+80002580: 0046a783 lw a5,4(a3)
+80002584: 00f76733 or a4,a4,a5
+80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228>
+8000258c: 0005c503 lbu a0,0(a1)
+80002590: 01e6a023 sw t5,0(a3)
+80002594: 01f6a223 sw t6,4(a3)
+80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c>
+8000259c: f91ff06f j 8000252c <handle_fault+0x1e8>
+800025a0: 04100513 li a0,65
+800025a4: 00001597 auipc a1,0x1
+800025a8: 92458593 addi a1,a1,-1756 # 80002ec8 <pass+0xb0>
+800025ac: fffff697 auipc a3,0xfffff
+800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost>
+800025b4: fffff617 auipc a2,0xfffff
+800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost>
+800025bc: 0006a703 lw a4,0(a3)
+800025c0: 0046a783 lw a5,4(a3)
+800025c4: 00050813 mv a6,a0
+800025c8: 00158593 addi a1,a1,1
+800025cc: 00f76733 or a4,a4,a5
+800025d0: 010108b7 lui a7,0x1010
+800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4>
+800025d8: 00000713 li a4,0
+800025dc: 00e62023 sw a4,0(a2)
+800025e0: 00000793 li a5,0
+800025e4: 00f62223 sw a5,4(a2)
+800025e8: 0006a703 lw a4,0(a3)
+800025ec: 0046a783 lw a5,4(a3)
+800025f0: 00f76733 or a4,a4,a5
+800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294>
+800025f8: 0005c503 lbu a0,0(a1)
+800025fc: 0106a023 sw a6,0(a3)
+80002600: 0116a223 sw a7,4(a3)
+80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278>
+80002608: f25ff06f j 8000252c <handle_fault+0x1e8>
+8000260c: 04100793 li a5,65
+80002610: 00001597 auipc a1,0x1
+80002614: 85858593 addi a1,a1,-1960 # 80002e68 <pass+0x50>
+80002618: fffff697 auipc a3,0xfffff
+8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost>
+80002620: fffff617 auipc a2,0xfffff
+80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost>
+80002628: 0006a803 lw a6,0(a3)
+8000262c: 0046a883 lw a7,4(a3)
+80002630: 00078413 mv s0,a5
+80002634: 00158593 addi a1,a1,1
+80002638: 01186833 or a6,a6,a7
+8000263c: 010104b7 lui s1,0x1010
+80002640: 02080263 beqz a6,80002664 <handle_fault+0x320>
+80002644: 00000793 li a5,0
+80002648: 00f62023 sw a5,0(a2)
+8000264c: 00000813 li a6,0
+80002650: 01062223 sw a6,4(a2)
+80002654: 0006a703 lw a4,0(a3)
+80002658: 0046a783 lw a5,4(a3)
+8000265c: 00f76733 or a4,a4,a5
+80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300>
+80002664: 0005c783 lbu a5,0(a1)
+80002668: 0086a023 sw s0,0(a3)
+8000266c: 0096a223 sw s1,4(a3)
+80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4>
+80002674: eb9ff06f j 8000252c <handle_fault+0x1e8>
+
+80002678 <handle_trap>:
+80002678: 08c52583 lw a1,140(a0)
+8000267c: fb010113 addi sp,sp,-80
+80002680: 03412c23 sw s4,56(sp)
+80002684: 04112623 sw ra,76(sp)
+80002688: 04812423 sw s0,72(sp)
+8000268c: 04912223 sw s1,68(sp)
+80002690: 05212023 sw s2,64(sp)
+80002694: 03312e23 sw s3,60(sp)
+80002698: 03512a23 sw s5,52(sp)
+8000269c: 03612823 sw s6,48(sp)
+800026a0: 03712623 sw s7,44(sp)
+800026a4: 03812423 sw s8,40(sp)
+800026a8: 03912223 sw s9,36(sp)
+800026ac: 03a12023 sw s10,32(sp)
+800026b0: 01b12e23 sw s11,28(sp)
+800026b4: 00800793 li a5,8
+800026b8: 00050a13 mv s4,a0
+800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0>
+800026c0: 00200793 li a5,2
+800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac>
+800026c8: ff458793 addi a5,a1,-12
+800026cc: 00100713 li a4,1
+800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64>
+800026d4: 00f00793 li a5,15
+800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294>
+800026dc: 088a2503 lw a0,136(s4)
+800026e0: c65ff0ef jal ra,80002344 <handle_fault>
+800026e4: 04812403 lw s0,72(sp)
+800026e8: 04c12083 lw ra,76(sp)
+800026ec: 04412483 lw s1,68(sp)
+800026f0: 04012903 lw s2,64(sp)
+800026f4: 03c12983 lw s3,60(sp)
+800026f8: 03412a83 lw s5,52(sp)
+800026fc: 03012b03 lw s6,48(sp)
+80002700: 02c12b83 lw s7,44(sp)
+80002704: 02812c03 lw s8,40(sp)
+80002708: 02412c83 lw s9,36(sp)
+8000270c: 02012d03 lw s10,32(sp)
+80002710: 01c12d83 lw s11,28(sp)
+80002714: 000a0513 mv a0,s4
+80002718: 03812a03 lw s4,56(sp)
+8000271c: 05010113 addi sp,sp,80
+80002720: 91dfd06f j 8000003c <pop_tf>
+80002724: 08452703 lw a4,132(a0)
+80002728: 00377793 andi a5,a4,3
+8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144>
+80002730: 008007ef jal a5,80002738 <handle_trap+0xc0>
+80002734: 00301073 fssr zero
+80002738: 00072703 lw a4,0(a4)
+8000273c: 0007a783 lw a5,0(a5)
+80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c>
+80002744: 04100513 li a0,65
+80002748: 00001597 auipc a1,0x1
+8000274c: 84858593 addi a1,a1,-1976 # 80002f90 <pass+0x178>
+80002750: fffff697 auipc a3,0xfffff
+80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost>
+80002758: fffff617 auipc a2,0xfffff
+8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost>
+80002760: 0006a703 lw a4,0(a3)
+80002764: 0046a783 lw a5,4(a3)
+80002768: 00050813 mv a6,a0
+8000276c: 00158593 addi a1,a1,1
+80002770: 00f76733 or a4,a4,a5
+80002774: 010108b7 lui a7,0x1010
+80002778: 02070263 beqz a4,8000279c <handle_trap+0x124>
+8000277c: 00000713 li a4,0
+80002780: 00e62023 sw a4,0(a2)
+80002784: 00000793 li a5,0
+80002788: 00f62223 sw a5,4(a2)
+8000278c: 0006a703 lw a4,0(a3)
+80002790: 0046a783 lw a5,4(a3)
+80002794: 00f76733 or a4,a4,a5
+80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104>
+8000279c: 0005c503 lbu a0,0(a1)
+800027a0: 0106a023 sw a6,0(a3)
+800027a4: 0116a223 sw a7,4(a3)
+800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8>
+800027ac: 00300513 li a0,3
+800027b0: a79ff0ef jal ra,80002228 <terminate>
+800027b4: 00100513 li a0,1
+800027b8: a71ff0ef jal ra,80002228 <terminate>
+800027bc: 00000597 auipc a1,0x0
+800027c0: 7b058593 addi a1,a1,1968 # 80002f6c <pass+0x154>
+800027c4: 04100613 li a2,65
+800027c8: fffff697 auipc a3,0xfffff
+800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost>
+800027d0: fffff517 auipc a0,0xfffff
+800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost>
+800027d8: 0006a703 lw a4,0(a3)
+800027dc: 0046a783 lw a5,4(a3)
+800027e0: 00060e13 mv t3,a2
+800027e4: 00158593 addi a1,a1,1
+800027e8: 00f76733 or a4,a4,a5
+800027ec: 01010eb7 lui t4,0x1010
+800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c>
+800027f4: 00000793 li a5,0
+800027f8: 00f52023 sw a5,0(a0)
+800027fc: 00000813 li a6,0
+80002800: 01052223 sw a6,4(a0)
+80002804: 0006a703 lw a4,0(a3)
+80002808: 0046a783 lw a5,4(a3)
+8000280c: 00f76733 or a4,a4,a5
+80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c>
+80002814: 0005c603 lbu a2,0(a1)
+80002818: 01c6a023 sw t3,0(a3)
+8000281c: 01d6a223 sw t4,4(a3)
+80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160>
+80002824: f89ff06f j 800027ac <handle_trap+0x134>
+80002828: 02852783 lw a5,40(a0)
+8000282c: 00001a37 lui s4,0x1
+80002830: 00004b17 auipc s6,0x4
+80002834: 9c8b0b13 addi s6,s6,-1592 # 800061f8 <user_mapping>
+80002838: 00f12223 sw a5,4(sp)
+8000283c: 00001d17 auipc s10,0x1
+80002840: 7c4d0d13 addi s10,s10,1988 # 80004000 <pt>
+80002844: 00040cb7 lui s9,0x40
+80002848: ffc00c37 lui s8,0xffc00
+8000284c: 0003fab7 lui s5,0x3f
+80002850: 01c0006f j 8000286c <handle_trap+0x1f4>
+80002854: 00f72223 sw a5,4(a4)
+80002858: 00004717 auipc a4,0x4
+8000285c: b8f72c23 sw a5,-1128(a4) # 800063f0 <freelist_tail>
+80002860: 000017b7 lui a5,0x1
+80002864: 00fa0a33 add s4,s4,a5
+80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398>
+8000286c: 00ca5713 srli a4,s4,0xc
+80002870: 00371b93 slli s7,a4,0x3
+80002874: 017b0633 add a2,s6,s7
+80002878: 00062603 lw a2,0(a2)
+8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8>
+80002880: 40070713 addi a4,a4,1024
+80002884: 00271713 slli a4,a4,0x2
+80002888: 00ed0733 add a4,s10,a4
+8000288c: 00072703 lw a4,0(a4)
+80002890: 04077613 andi a2,a4,64
+80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c>
+80002898: 00e12623 sw a4,12(sp)
+8000289c: 100cadf3 csrrs s11,sstatus,s9
+800028a0: 018a0833 add a6,s4,s8
+800028a4: 00001637 lui a2,0x1
+800028a8: 00080593 mv a1,a6
+800028ac: 000a0513 mv a0,s4
+800028b0: 01012423 sw a6,8(sp)
+800028b4: 855ff0ef jal ra,80002108 <memcmp>
+800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264>
+800028bc: 00c12703 lw a4,12(sp)
+800028c0: 00812803 lw a6,8(sp)
+800028c4: 08077713 andi a4,a4,128
+800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300>
+800028cc: 00001637 lui a2,0x1
+800028d0: 00080593 mv a1,a6
+800028d4: 000a0513 mv a0,s4
+800028d8: f28ff0ef jal ra,80002000 <memcpy>
+800028dc: 017b07b3 add a5,s6,s7
+800028e0: 100d9073 csrw sstatus,s11
+800028e4: 00004717 auipc a4,0x4
+800028e8: b0c70713 addi a4,a4,-1268 # 800063f0 <freelist_tail>
+800028ec: 00072703 lw a4,0(a4)
+800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000>
+800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc>
+800028f8: 00004717 auipc a4,0x4
+800028fc: aef72c23 sw a5,-1288(a4) # 800063f0 <freelist_tail>
+80002900: 00004717 auipc a4,0x4
+80002904: aef72a23 sw a5,-1292(a4) # 800063f4 <freelist_head>
+80002908: f59ff06f j 80002860 <handle_trap+0x1e8>
+8000290c: 04100593 li a1,65
+80002910: 00000617 auipc a2,0x0
+80002914: 6ac60613 addi a2,a2,1708 # 80002fbc <pass+0x1a4>
+80002918: ffffe697 auipc a3,0xffffe
+8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost>
+80002920: ffffe517 auipc a0,0xffffe
+80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost>
+80002928: 0006a703 lw a4,0(a3)
+8000292c: 0046a783 lw a5,4(a3)
+80002930: 00058313 mv t1,a1
+80002934: 00160613 addi a2,a2,1
+80002938: 00f76733 or a4,a4,a5
+8000293c: 010103b7 lui t2,0x1010
+80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec>
+80002944: 00000793 li a5,0
+80002948: 00f52023 sw a5,0(a0)
+8000294c: 00000813 li a6,0
+80002950: 01052223 sw a6,4(a0)
+80002954: 0006a703 lw a4,0(a3)
+80002958: 0046a783 lw a5,4(a3)
+8000295c: 00f76733 or a4,a4,a5
+80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc>
+80002964: 00064583 lbu a1,0(a2)
+80002968: 0066a023 sw t1,0(a3)
+8000296c: 0076a223 sw t2,4(a3)
+80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0>
+80002974: e39ff06f j 800027ac <handle_trap+0x134>
+80002978: 04100793 li a5,65
+8000297c: 00000617 auipc a2,0x0
+80002980: 5bc60613 addi a2,a2,1468 # 80002f38 <pass+0x120>
+80002984: ffffe697 auipc a3,0xffffe
+80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost>
+8000298c: ffffe597 auipc a1,0xffffe
+80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost>
+80002994: 00078413 mv s0,a5
+80002998: 00160613 addi a2,a2,1
+8000299c: 010104b7 lui s1,0x1010
+800029a0: 0006a703 lw a4,0(a3)
+800029a4: 0046a783 lw a5,4(a3)
+800029a8: 00f76733 or a4,a4,a5
+800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0>
+800029b0: 00000793 li a5,0
+800029b4: 00000813 li a6,0
+800029b8: 00f5a023 sw a5,0(a1)
+800029bc: 0105a223 sw a6,4(a1)
+800029c0: fe1ff06f j 800029a0 <handle_trap+0x328>
+800029c4: 04100793 li a5,65
+800029c8: 00000617 auipc a2,0x0
+800029cc: 53c60613 addi a2,a2,1340 # 80002f04 <pass+0xec>
+800029d0: ffffe697 auipc a3,0xffffe
+800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost>
+800029d8: ffffe597 auipc a1,0xffffe
+800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost>
+800029e0: 00078913 mv s2,a5
+800029e4: 00160613 addi a2,a2,1
+800029e8: 010109b7 lui s3,0x1010
+800029ec: 0006a703 lw a4,0(a3)
+800029f0: 0046a783 lw a5,4(a3)
+800029f4: 00f76733 or a4,a4,a5
+800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4>
+800029fc: 00000793 li a5,0
+80002a00: 00000813 li a6,0
+80002a04: 00f5a023 sw a5,0(a1)
+80002a08: 0105a223 sw a6,4(a1)
+80002a0c: fe1ff06f j 800029ec <handle_trap+0x374>
+80002a10: 00412503 lw a0,4(sp)
+80002a14: 815ff0ef jal ra,80002228 <terminate>
+80002a18: 00064783 lbu a5,0(a2)
+80002a1c: 0086a023 sw s0,0(a3)
+80002a20: 0096a223 sw s1,4(a3)
+80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c>
+80002a28: d85ff06f j 800027ac <handle_trap+0x134>
+80002a2c: 00064783 lbu a5,0(a2)
+80002a30: 0126a023 sw s2,0(a3)
+80002a34: 0136a223 sw s3,4(a3)
+80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368>
+80002a3c: d71ff06f j 800027ac <handle_trap+0x134>
+
+80002a40 <vm_boot>:
+80002a40: f14027f3 csrr a5,mhartid
+80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158>
+80002a48: 00002797 auipc a5,0x2
+80002a4c: 5b878793 addi a5,a5,1464 # 80005000 <pt+0x1000>
+80002a50: 00c7d793 srli a5,a5,0xc
+80002a54: 00a79793 slli a5,a5,0xa
+80002a58: 0017e793 ori a5,a5,1
+80002a5c: 00001697 auipc a3,0x1
+80002a60: 5af6a223 sw a5,1444(a3) # 80004000 <pt>
+80002a64: 200007b7 lui a5,0x20000
+80002a68: 00001717 auipc a4,0x1
+80002a6c: 59870713 addi a4,a4,1432 # 80004000 <pt>
+80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31>
+80002a74: f6010113 addi sp,sp,-160
+80002a78: 00002697 auipc a3,0x2
+80002a7c: 58f6a223 sw a5,1412(a3) # 80004ffc <pt+0xffc>
+80002a80: 00c75793 srli a5,a4,0xc
+80002a84: 80000737 lui a4,0x80000
+80002a88: 08112e23 sw ra,156(sp)
+80002a8c: 08812c23 sw s0,152(sp)
+80002a90: 00e7e7b3 or a5,a5,a4
+80002a94: 18079073 csrw satp,a5
+80002a98: 01f00793 li a5,31
+80002a9c: fff00713 li a4,-1
+80002aa0: 00000297 auipc t0,0x0
+80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74>
+80002aa8: 305292f3 csrrw t0,mtvec,t0
+80002aac: 3b071073 csrw pmpaddr0,a4
+80002ab0: 3a079073 csrw pmpcfg0,a5
+80002ab4: 7fbfd797 auipc a5,0x7fbfd
+80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf9ccc>
+80002abc: 10579073 csrw stvec,a5
+80002ac0: 340027f3 csrr a5,mscratch
+80002ac4: 7fc00837 lui a6,0x7fc00
+80002ac8: 010787b3 add a5,a5,a6
+80002acc: 14079073 csrw sscratch,a5
+80002ad0: 0000b7b7 lui a5,0xb
+80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00>
+80002ad8: 30279073 csrw medeleg,a5
+80002adc: 0001e7b7 lui a5,0x1e
+80002ae0: 30079073 csrw mstatus,a5
+80002ae4: 30405073 csrwi mie,0
+80002ae8: 7fc03797 auipc a5,0x7fc03
+80002aec: 51878793 addi a5,a5,1304 # ffc06000 <_end+0x7fbffc08>
+80002af0: 00004717 auipc a4,0x4
+80002af4: 90f72223 sw a5,-1788(a4) # 800063f4 <freelist_head>
+80002af8: 7fc03797 auipc a5,0x7fc03
+80002afc: 6f878793 addi a5,a5,1784 # ffc061f0 <_end+0x7fbffdf8>
+80002b00: 00004717 auipc a4,0x4
+80002b04: 8ef72823 sw a5,-1808(a4) # 800063f0 <freelist_tail>
+80002b08: 000808b7 lui a7,0x80
+80002b0c: 00003717 auipc a4,0x3
+80002b10: 4f470713 addi a4,a4,1268 # 80006000 <freelist_nodes>
+80002b14: 00003317 auipc t1,0x3
+80002b18: 6e430313 addi t1,t1,1764 # 800061f8 <user_mapping>
+80002b1c: 00300793 li a5,3
+80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1>
+80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8>
+80002b28: 0017d613 srli a2,a5,0x1
+80002b2c: 011786b3 add a3,a5,a7
+80002b30: 00f647b3 xor a5,a2,a5
+80002b34: 010705b3 add a1,a4,a6
+80002b38: 00c69693 slli a3,a3,0xc
+80002b3c: 00579793 slli a5,a5,0x5
+80002b40: 00d72023 sw a3,0(a4)
+80002b44: 00b72223 sw a1,4(a4)
+80002b48: 0207f793 andi a5,a5,32
+80002b4c: 00870713 addi a4,a4,8
+80002b50: 00f667b3 or a5,a2,a5
+80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8>
+80002b58: 00050413 mv s0,a0
+80002b5c: 09000613 li a2,144
+80002b60: 00000593 li a1,0
+80002b64: 00010513 mv a0,sp
+80002b68: 00003797 auipc a5,0x3
+80002b6c: 6807a623 sw zero,1676(a5) # 800061f4 <freelist_nodes+0x1f4>
+80002b70: cecff0ef jal ra,8000205c <memset>
+80002b74: 800007b7 lui a5,0x80000
+80002b78: 00f40433 add s0,s0,a5
+80002b7c: 00010513 mv a0,sp
+80002b80: 08812223 sw s0,132(sp)
+80002b84: cb8fd0ef jal ra,8000003c <pop_tf>
+80002b88: 09c12083 lw ra,156(sp)
+80002b8c: 09812403 lw s0,152(sp)
+80002b90: 0a010113 addi sp,sp,160
+80002b94: 00008067 ret
+80002b98: 008197b7 lui a5,0x819
+80002b9c: 00080637 lui a2,0x80
+80002ba0: 08678793 addi a5,a5,134 # 819086 <_start-0x7f7e6f7a>
+80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004>
+80002ba8: 800005b7 lui a1,0x80000
+80002bac: 00c7f733 and a4,a5,a2
+80002bb0: 0017f693 andi a3,a5,1
+80002bb4: 00b70733 add a4,a4,a1
+80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194>
+80002bbc: 0007202f amoadd.w zero,zero,(a4)
+80002bc0: 0017d793 srli a5,a5,0x1
+80002bc4: 00c7f733 and a4,a5,a2
+80002bc8: 0017f693 andi a3,a5,1
+80002bcc: 00b70733 add a4,a4,a1
+80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c>
+80002bd4: 00072003 lw zero,0(a4)
+80002bd8: 0017d793 srli a5,a5,0x1
+80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184>
+
+80002be0 <userstart>:
+80002be0: 00301073 fssr zero
+
+80002be4 <test_2>:
+80002be4: 00200193 li gp,2
+80002be8: 00000517 auipc a0,0x0
+80002bec: 41850513 addi a0,a0,1048 # 80003000 <test_2_data>
+80002bf0: 00053007 fld ft0,0(a0)
+80002bf4: 00853087 fld ft1,8(a0)
+80002bf8: 01053107 fld ft2,16(a0)
+80002bfc: 01852683 lw a3,24(a0)
+80002c00: 01c52303 lw t1,28(a0)
+80002c04: 1a1071d3 fdiv.d ft3,ft0,ft1
+80002c08: 00353027 fsd ft3,0(a0)
+80002c0c: 00452383 lw t2,4(a0)
+80002c10: 00052503 lw a0,0(a0)
+80002c14: 001015f3 fsflags a1,zero
+80002c18: 00100613 li a2,1
+80002c1c: 1ed51663 bne a0,a3,80002e08 <fail>
+80002c20: 1e731463 bne t1,t2,80002e08 <fail>
+80002c24: 1ec59263 bne a1,a2,80002e08 <fail>
+
+80002c28 <test_3>:
+80002c28: 00300193 li gp,3
+80002c2c: 00000517 auipc a0,0x0
+80002c30: 3f450513 addi a0,a0,1012 # 80003020 <test_3_data>
+80002c34: 00053007 fld ft0,0(a0)
+80002c38: 00853087 fld ft1,8(a0)
+80002c3c: 01053107 fld ft2,16(a0)
+80002c40: 01852683 lw a3,24(a0)
+80002c44: 01c52303 lw t1,28(a0)
+80002c48: 1a1071d3 fdiv.d ft3,ft0,ft1
+80002c4c: 00353027 fsd ft3,0(a0)
+80002c50: 00452383 lw t2,4(a0)
+80002c54: 00052503 lw a0,0(a0)
+80002c58: 001015f3 fsflags a1,zero
+80002c5c: 00100613 li a2,1
+80002c60: 1ad51463 bne a0,a3,80002e08 <fail>
+80002c64: 1a731263 bne t1,t2,80002e08 <fail>
+80002c68: 1ac59063 bne a1,a2,80002e08 <fail>
+
+80002c6c <test_4>:
+80002c6c: 00400193 li gp,4
+80002c70: 00000517 auipc a0,0x0
+80002c74: 3d050513 addi a0,a0,976 # 80003040 <test_4_data>
+80002c78: 00053007 fld ft0,0(a0)
+80002c7c: 00853087 fld ft1,8(a0)
+80002c80: 01053107 fld ft2,16(a0)
+80002c84: 01852683 lw a3,24(a0)
+80002c88: 01c52303 lw t1,28(a0)
+80002c8c: 1a1071d3 fdiv.d ft3,ft0,ft1
+80002c90: 00353027 fsd ft3,0(a0)
+80002c94: 00452383 lw t2,4(a0)
+80002c98: 00052503 lw a0,0(a0)
+80002c9c: 001015f3 fsflags a1,zero
+80002ca0: 00000613 li a2,0
+80002ca4: 16d51263 bne a0,a3,80002e08 <fail>
+80002ca8: 16731063 bne t1,t2,80002e08 <fail>
+80002cac: 14c59e63 bne a1,a2,80002e08 <fail>
+
+80002cb0 <test_5>:
+80002cb0: 00500193 li gp,5
+80002cb4: 00000517 auipc a0,0x0
+80002cb8: 3ac50513 addi a0,a0,940 # 80003060 <test_5_data>
+80002cbc: 00053007 fld ft0,0(a0)
+80002cc0: 00853087 fld ft1,8(a0)
+80002cc4: 01053107 fld ft2,16(a0)
+80002cc8: 01852683 lw a3,24(a0)
+80002ccc: 01c52303 lw t1,28(a0)
+80002cd0: 5a0071d3 fsqrt.d ft3,ft0
+80002cd4: 00353027 fsd ft3,0(a0)
+80002cd8: 00452383 lw t2,4(a0)
+80002cdc: 00052503 lw a0,0(a0)
+80002ce0: 001015f3 fsflags a1,zero
+80002ce4: 00100613 li a2,1
+80002ce8: 12d51063 bne a0,a3,80002e08 <fail>
+80002cec: 10731e63 bne t1,t2,80002e08 <fail>
+80002cf0: 10c59c63 bne a1,a2,80002e08 <fail>
+
+80002cf4 <test_6>:
+80002cf4: 00600193 li gp,6
+80002cf8: 00000517 auipc a0,0x0
+80002cfc: 38850513 addi a0,a0,904 # 80003080 <test_6_data>
+80002d00: 00053007 fld ft0,0(a0)
+80002d04: 00853087 fld ft1,8(a0)
+80002d08: 01053107 fld ft2,16(a0)
+80002d0c: 01852683 lw a3,24(a0)
+80002d10: 01c52303 lw t1,28(a0)
+80002d14: 5a0071d3 fsqrt.d ft3,ft0
+80002d18: 00353027 fsd ft3,0(a0)
+80002d1c: 00452383 lw t2,4(a0)
+80002d20: 00052503 lw a0,0(a0)
+80002d24: 001015f3 fsflags a1,zero
+80002d28: 00000613 li a2,0
+80002d2c: 0cd51e63 bne a0,a3,80002e08 <fail>
+80002d30: 0c731c63 bne t1,t2,80002e08 <fail>
+80002d34: 0cc59a63 bne a1,a2,80002e08 <fail>
+
+80002d38 <test_16>:
+80002d38: 01000193 li gp,16
+80002d3c: 00000517 auipc a0,0x0
+80002d40: 36450513 addi a0,a0,868 # 800030a0 <test_16_data>
+80002d44: 00053007 fld ft0,0(a0)
+80002d48: 00853087 fld ft1,8(a0)
+80002d4c: 01053107 fld ft2,16(a0)
+80002d50: 01852683 lw a3,24(a0)
+80002d54: 01c52303 lw t1,28(a0)
+80002d58: 5a0071d3 fsqrt.d ft3,ft0
+80002d5c: 00353027 fsd ft3,0(a0)
+80002d60: 00452383 lw t2,4(a0)
+80002d64: 00052503 lw a0,0(a0)
+80002d68: 001015f3 fsflags a1,zero
+80002d6c: 01000613 li a2,16
+80002d70: 08d51c63 bne a0,a3,80002e08 <fail>
+80002d74: 08731a63 bne t1,t2,80002e08 <fail>
+80002d78: 08c59863 bne a1,a2,80002e08 <fail>
+
+80002d7c <test_7>:
+80002d7c: 00700193 li gp,7
+80002d80: 00000517 auipc a0,0x0
+80002d84: 34050513 addi a0,a0,832 # 800030c0 <test_7_data>
+80002d88: 00053007 fld ft0,0(a0)
+80002d8c: 00853087 fld ft1,8(a0)
+80002d90: 01053107 fld ft2,16(a0)
+80002d94: 01852683 lw a3,24(a0)
+80002d98: 01c52303 lw t1,28(a0)
+80002d9c: 5a0071d3 fsqrt.d ft3,ft0
+80002da0: 00353027 fsd ft3,0(a0)
+80002da4: 00452383 lw t2,4(a0)
+80002da8: 00052503 lw a0,0(a0)
+80002dac: 001015f3 fsflags a1,zero
+80002db0: 00100613 li a2,1
+80002db4: 04d51a63 bne a0,a3,80002e08 <fail>
+80002db8: 04731863 bne t1,t2,80002e08 <fail>
+80002dbc: 04c59663 bne a1,a2,80002e08 <fail>
+
+80002dc0 <test_8>:
+80002dc0: 00800193 li gp,8
+80002dc4: 00000517 auipc a0,0x0
+80002dc8: 31c50513 addi a0,a0,796 # 800030e0 <test_8_data>
+80002dcc: 00053007 fld ft0,0(a0)
+80002dd0: 00853087 fld ft1,8(a0)
+80002dd4: 01053107 fld ft2,16(a0)
+80002dd8: 01852683 lw a3,24(a0)
+80002ddc: 01c52303 lw t1,28(a0)
+80002de0: 5a0071d3 fsqrt.d ft3,ft0
+80002de4: 00353027 fsd ft3,0(a0)
+80002de8: 00452383 lw t2,4(a0)
+80002dec: 00052503 lw a0,0(a0)
+80002df0: 001015f3 fsflags a1,zero
+80002df4: 00100613 li a2,1
+80002df8: 00d51863 bne a0,a3,80002e08 <fail>
+80002dfc: 00731663 bne t1,t2,80002e08 <fail>
+80002e00: 00c59463 bne a1,a2,80002e08 <fail>
+80002e04: 00301a63 bne zero,gp,80002e18 <pass>
+
+80002e08 <fail>:
+80002e08: 00119513 slli a0,gp,0x1
+80002e0c: 00050063 beqz a0,80002e0c <fail+0x4>
+80002e10: 00156513 ori a0,a0,1
+80002e14: 00000073 ecall
+
+80002e18 <pass>:
+80002e18: 00100513 li a0,1
+80002e1c: 00000073 ecall
+80002e20: c0001073 unimp
+
+Disassembly of section .data:
+
+80003000 <test_2_data>:
+80003000: d4f1 beqz s1,80002fcc <pass+0x1b4>
+80003002: 53c8 lw a0,36(a5)
+80003004: 400921fb 0x400921fb
+80003008: b0dd j 800028ee <handle_trap+0x276>
+8000300a: 89f1 andi a1,a1,28
+8000300c: bf0a fsd ft2,440(sp)
+8000300e: 4005 c.li zero,1
+80003010: 0000 unimp
+80003012: 0000 unimp
+80003014: 0000 unimp
+80003016: 0000 unimp
+80003018: 83ec 0x83ec
+8000301a: 7ddbf6c3 0x7ddbf6c3
+8000301e: 3ff2 fld ft11,312(sp)
+
+80003020 <test_3_data>:
+80003020: 0000 unimp
+80003022: 0000 unimp
+80003024: 4800 lw s0,16(s0)
+80003026: 6666c093 xori ra,a3,1638
+8000302a: 6666 flw fa2,88(sp)
+8000302c: 4c66 lw s8,88(sp)
+8000302e: 00004093 xori ra,zero,0
+80003032: 0000 unimp
+80003034: 0000 unimp
+80003036: 0000 unimp
+80003038: 29a5 jal 800034b0 <begin_signature+0x3b0>
+8000303a: 3e19 jal 80002b50 <vm_boot+0x110>
+8000303c: f8b4 fsw fa3,112(s1)
+8000303e: jal t6,7ff1ed8c <_start-0xe1274>
+
+80003040 <test_4_data>:
+80003040: d4f1 beqz s1,8000300c <test_2_data+0xc>
+80003042: 53c8 lw a0,36(a5)
+80003044: 400921fb 0x400921fb
+80003048: 0000 unimp
+8000304a: 0000 unimp
+8000304c: 0000 unimp
+8000304e: 3ff0 fld fa2,248(a5)
+80003050: 0000 unimp
+80003052: 0000 unimp
+80003054: 0000 unimp
+80003056: 0000 unimp
+80003058: d4f1 beqz s1,80003024 <test_3_data+0x4>
+8000305a: 53c8 lw a0,36(a5)
+8000305c: 400921fb 0x400921fb
+
+80003060 <test_5_data>:
+80003060: d4f1 beqz s1,8000302c <test_3_data+0xc>
+80003062: 53c8 lw a0,36(a5)
+80003064: 400921fb 0x400921fb
+80003068: 0000 unimp
+8000306a: 0000 unimp
+8000306c: 0000 unimp
+8000306e: 0000 unimp
+80003070: 0000 unimp
+80003072: 0000 unimp
+80003074: 0000 unimp
+80003076: 0000 unimp
+80003078: 916f587b 0x916f587b
+8000307c: 5bf8 lw a4,116(a5)
+8000307e: 3ffc fld fa5,248(a5)
+
+80003080 <test_6_data>:
+80003080: 0000 unimp
+80003082: 0000 unimp
+80003084: 8800 0x8800
+80003086: 000040c3 fmadd.s ft1,ft0,ft0,ft0,rmm
+8000308a: 0000 unimp
+8000308c: 0000 unimp
+8000308e: 0000 unimp
+80003090: 0000 unimp
+80003092: 0000 unimp
+80003094: 0000 unimp
+80003096: 0000 unimp
+80003098: 0000 unimp
+8000309a: 0000 unimp
+8000309c: 0000 unimp
+8000309e: 4059 c.li zero,22
+
+800030a0 <test_16_data>:
+800030a0: 0000 unimp
+800030a2: 0000 unimp
+800030a4: 0000 unimp
+800030a6: bff0 fsd fa2,248(a5)
+800030a8: 0000 unimp
+800030aa: 0000 unimp
+800030ac: 0000 unimp
+800030ae: 0000 unimp
+800030b0: 0000 unimp
+800030b2: 0000 unimp
+800030b4: 0000 unimp
+800030b6: 0000 unimp
+800030b8: 0000 unimp
+800030ba: 0000 unimp
+800030bc: 0000 unimp
+800030be: 7ff8 flw fa4,124(a5)
+
+800030c0 <test_7_data>:
+800030c0: 0000 unimp
+800030c2: 0000 unimp
+800030c4: 6000 flw fs0,0(s0)
+800030c6: 4065 c.li zero,25
+800030c8: 0000 unimp
+800030ca: 0000 unimp
+800030cc: 0000 unimp
+800030ce: 0000 unimp
+800030d0: 0000 unimp
+800030d2: 0000 unimp
+800030d4: 0000 unimp
+800030d6: 0000 unimp
+800030d8: 74f5 lui s1,0xffffd
+800030da: ce96 sw t0,92(sp)
+800030dc: 2744 fld fs1,136(a4)
+800030de: 402a 0x402a
+
+800030e0 <test_8_data>:
+800030e0: a105 j 80003500 <begin_signature+0x400>
+800030e2: c70a sw sp,140(sp)
+800030e4: 94df 3e85 0000 0x3e8594df
+800030ea: 0000 unimp
+800030ec: 0000 unimp
+800030ee: 0000 unimp
+800030f0: 0000 unimp
+800030f2: 0000 unimp
+800030f4: 0000 unimp
+800030f6: 0000 unimp
+800030f8: 7f99 lui t6,0xfffe6
+800030fa: 4789c0e3 blt s3,s8,80003d5a <begin_signature+0xc5a>
+800030fe: 3f3a fld ft10,424(sp)
diff --git a/test/riscv-tests/rv32ud-v-fdiv.elf b/test/riscv-tests/rv32ud-v-fdiv.elf
new file mode 100644
index 0000000..8ee5839
--- /dev/null
+++ b/test/riscv-tests/rv32ud-v-fdiv.elf
Binary files differ
diff --git a/test/riscv-tests/rv32ud-v-fmadd.dump b/test/riscv-tests/rv32ud-v-fmadd.dump
new file mode 100644
index 0000000..2927645
--- /dev/null
+++ b/test/riscv-tests/rv32ud-v-fmadd.dump
@@ -0,0 +1,1354 @@
+
+rv32ud-v-fmadd: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 00c0006f j 8000000c <handle_reset>
+
+80000004 <nmi_vector>:
+80000004: 2780206f j 8000227c <wtf>
+
+80000008 <trap_vector>:
+80000008: 2740206f j 8000227c <wtf>
+
+8000000c <handle_reset>:
+8000000c: 00000297 auipc t0,0x0
+80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+80000014: 30529073 csrw mtvec,t0
+80000018: 00008117 auipc sp,0x8
+8000001c: 35010113 addi sp,sp,848 # 80008368 <_end+0xf70>
+80000020: f14022f3 csrr t0,mhartid
+80000024: 00c29293 slli t0,t0,0xc
+80000028: 00510133 add sp,sp,t0
+8000002c: 34011073 csrw mscratch,sp
+80000030: 00003517 auipc a0,0x3
+80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart>
+80000038: 2090206f j 80002a40 <vm_boot>
+
+8000003c <pop_tf>:
+8000003c: 08452283 lw t0,132(a0)
+80000040: 14129073 csrw sepc,t0
+80000044: 00452083 lw ra,4(a0)
+80000048: 00852103 lw sp,8(a0)
+8000004c: 00c52183 lw gp,12(a0)
+80000050: 01052203 lw tp,16(a0)
+80000054: 01452283 lw t0,20(a0)
+80000058: 01852303 lw t1,24(a0)
+8000005c: 01c52383 lw t2,28(a0)
+80000060: 02052403 lw s0,32(a0)
+80000064: 02452483 lw s1,36(a0)
+80000068: 02c52583 lw a1,44(a0)
+8000006c: 03052603 lw a2,48(a0)
+80000070: 03452683 lw a3,52(a0)
+80000074: 03852703 lw a4,56(a0)
+80000078: 03c52783 lw a5,60(a0)
+8000007c: 04052803 lw a6,64(a0)
+80000080: 04452883 lw a7,68(a0)
+80000084: 04852903 lw s2,72(a0)
+80000088: 04c52983 lw s3,76(a0)
+8000008c: 05052a03 lw s4,80(a0)
+80000090: 05452a83 lw s5,84(a0)
+80000094: 05852b03 lw s6,88(a0)
+80000098: 05c52b83 lw s7,92(a0)
+8000009c: 06052c03 lw s8,96(a0)
+800000a0: 06452c83 lw s9,100(a0)
+800000a4: 06852d03 lw s10,104(a0)
+800000a8: 06c52d83 lw s11,108(a0)
+800000ac: 07052e03 lw t3,112(a0)
+800000b0: 07452e83 lw t4,116(a0)
+800000b4: 07852f03 lw t5,120(a0)
+800000b8: 07c52f83 lw t6,124(a0)
+800000bc: 02852503 lw a0,40(a0)
+800000c0: 10200073 sret
+
+800000c4 <trap_entry>:
+800000c4: 14011173 csrrw sp,sscratch,sp
+800000c8: 00112223 sw ra,4(sp)
+800000cc: 00312623 sw gp,12(sp)
+800000d0: 00412823 sw tp,16(sp)
+800000d4: 00512a23 sw t0,20(sp)
+800000d8: 00612c23 sw t1,24(sp)
+800000dc: 00712e23 sw t2,28(sp)
+800000e0: 02812023 sw s0,32(sp)
+800000e4: 02912223 sw s1,36(sp)
+800000e8: 02a12423 sw a0,40(sp)
+800000ec: 02b12623 sw a1,44(sp)
+800000f0: 02c12823 sw a2,48(sp)
+800000f4: 02d12a23 sw a3,52(sp)
+800000f8: 02e12c23 sw a4,56(sp)
+800000fc: 02f12e23 sw a5,60(sp)
+80000100: 05012023 sw a6,64(sp)
+80000104: 05112223 sw a7,68(sp)
+80000108: 05212423 sw s2,72(sp)
+8000010c: 05312623 sw s3,76(sp)
+80000110: 05412823 sw s4,80(sp)
+80000114: 05512a23 sw s5,84(sp)
+80000118: 05612c23 sw s6,88(sp)
+8000011c: 05712e23 sw s7,92(sp)
+80000120: 07812023 sw s8,96(sp)
+80000124: 07912223 sw s9,100(sp)
+80000128: 07a12423 sw s10,104(sp)
+8000012c: 07b12623 sw s11,108(sp)
+80000130: 07c12823 sw t3,112(sp)
+80000134: 07d12a23 sw t4,116(sp)
+80000138: 07e12c23 sw t5,120(sp)
+8000013c: 07f12e23 sw t6,124(sp)
+80000140: 140112f3 csrrw t0,sscratch,sp
+80000144: 00512423 sw t0,8(sp)
+80000148: 100022f3 csrr t0,sstatus
+8000014c: 08512023 sw t0,128(sp)
+80000150: 141022f3 csrr t0,sepc
+80000154: 08512223 sw t0,132(sp)
+80000158: 143022f3 csrr t0,stval
+8000015c: 08512423 sw t0,136(sp)
+80000160: 142022f3 csrr t0,scause
+80000164: 08512623 sw t0,140(sp)
+80000168: 00010513 mv a0,sp
+8000016c: 50c0206f j 80002678 <handle_trap>
+
+Disassembly of section .text:
+
+80002000 <memcpy>:
+80002000: 00c5e7b3 or a5,a1,a2
+80002004: 00f567b3 or a5,a0,a5
+80002008: 0037f793 andi a5,a5,3
+8000200c: 00c506b3 add a3,a0,a2
+80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+80002014: 00c58633 add a2,a1,a2
+80002018: 00050793 mv a5,a0
+8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+80002020: 00158593 addi a1,a1,1
+80002024: fff5c703 lbu a4,-1(a1)
+80002028: 00178793 addi a5,a5,1
+8000202c: fee78fa3 sb a4,-1(a5)
+80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+80002034: 00008067 ret
+80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+8000203c: 00050793 mv a5,a0
+80002040: 00458593 addi a1,a1,4
+80002044: ffc5a703 lw a4,-4(a1)
+80002048: 00478793 addi a5,a5,4
+8000204c: fee7ae23 sw a4,-4(a5)
+80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+80002054: 00008067 ret
+80002058: 00008067 ret
+
+8000205c <memset>:
+8000205c: 00c567b3 or a5,a0,a2
+80002060: 0037f793 andi a5,a5,3
+80002064: 00c50633 add a2,a0,a2
+80002068: 02078063 beqz a5,80002088 <memset+0x2c>
+8000206c: 0ff5f593 andi a1,a1,255
+80002070: 00050793 mv a5,a0
+80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58>
+80002078: 00178793 addi a5,a5,1
+8000207c: feb78fa3 sb a1,-1(a5)
+80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+80002084: 00008067 ret
+80002088: 0ff5f593 andi a1,a1,255
+8000208c: 00859793 slli a5,a1,0x8
+80002090: 00b7e7b3 or a5,a5,a1
+80002094: 01079593 slli a1,a5,0x10
+80002098: 00f5e5b3 or a1,a1,a5
+8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28>
+800020a0: 00050793 mv a5,a0
+800020a4: 00478793 addi a5,a5,4
+800020a8: feb7ae23 sw a1,-4(a5)
+800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48>
+800020b0: 00008067 ret
+800020b4: 00008067 ret
+
+800020b8 <strlen>:
+800020b8: 00054783 lbu a5,0(a0)
+800020bc: 00050713 mv a4,a0
+800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20>
+800020c4: 00150513 addi a0,a0,1
+800020c8: 00054783 lbu a5,0(a0)
+800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc>
+800020d0: 40e50533 sub a0,a0,a4
+800020d4: 00008067 ret
+800020d8: 00000513 li a0,0
+800020dc: 00008067 ret
+
+800020e0 <strcmp>:
+800020e0: 00150513 addi a0,a0,1
+800020e4: fff54783 lbu a5,-1(a0)
+800020e8: 00158593 addi a1,a1,1
+800020ec: fff5c703 lbu a4,-1(a1)
+800020f0: 00078863 beqz a5,80002100 <strcmp+0x20>
+800020f4: fee786e3 beq a5,a4,800020e0 <strcmp>
+800020f8: 40e78533 sub a0,a5,a4
+800020fc: 00008067 ret
+80002100: 00000793 li a5,0
+80002104: ff5ff06f j 800020f8 <strcmp+0x18>
+
+80002108 <memcmp>:
+80002108: 00b567b3 or a5,a0,a1
+8000210c: 0037f793 andi a5,a5,3
+80002110: 04079263 bnez a5,80002154 <memcmp+0x4c>
+80002114: ffc67693 andi a3,a2,-4
+80002118: 00d506b3 add a3,a0,a3
+8000211c: 00050813 mv a6,a0
+80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c>
+80002124: 00052703 lw a4,0(a0)
+80002128: 0005a783 lw a5,0(a1)
+8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38>
+80002130: 0240006f j 80002154 <memcmp+0x4c>
+80002134: 00052703 lw a4,0(a0)
+80002138: 0005a783 lw a5,0(a1)
+8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44>
+80002140: 00450513 addi a0,a0,4
+80002144: 00458593 addi a1,a1,4
+80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c>
+8000214c: 41050833 sub a6,a0,a6
+80002150: 41060633 sub a2,a2,a6
+80002154: 00c58633 add a2,a1,a2
+80002158: 0140006f j 8000216c <memcmp+0x64>
+8000215c: 00158593 addi a1,a1,1
+80002160: fff54783 lbu a5,-1(a0)
+80002164: fff5c703 lbu a4,-1(a1)
+80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74>
+8000216c: 00150513 addi a0,a0,1
+80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54>
+80002174: 00000513 li a0,0
+80002178: 00008067 ret
+8000217c: 40e78533 sub a0,a5,a4
+80002180: 00008067 ret
+
+80002184 <strcpy>:
+80002184: 00050793 mv a5,a0
+80002188: 00158593 addi a1,a1,1
+8000218c: fff5c703 lbu a4,-1(a1)
+80002190: 00178793 addi a5,a5,1
+80002194: fee78fa3 sb a4,-1(a5)
+80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4>
+8000219c: 00008067 ret
+
+800021a0 <atol>:
+800021a0: 00054783 lbu a5,0(a0)
+800021a4: 02000713 li a4,32
+800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18>
+800021ac: 00150513 addi a0,a0,1
+800021b0: 00054783 lbu a5,0(a0)
+800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc>
+800021b8: fd578713 addi a4,a5,-43
+800021bc: 0fd77713 andi a4,a4,253
+800021c0: 04070263 beqz a4,80002204 <atol+0x64>
+800021c4: 00054683 lbu a3,0(a0)
+800021c8: 00050793 mv a5,a0
+800021cc: 00000613 li a2,0
+800021d0: 04068863 beqz a3,80002220 <atol+0x80>
+800021d4: 00000513 li a0,0
+800021d8: 00178793 addi a5,a5,1
+800021dc: fd068593 addi a1,a3,-48
+800021e0: 00251713 slli a4,a0,0x2
+800021e4: 0007c683 lbu a3,0(a5)
+800021e8: 00a70533 add a0,a4,a0
+800021ec: 00151513 slli a0,a0,0x1
+800021f0: 00a58533 add a0,a1,a0
+800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38>
+800021f8: 00060463 beqz a2,80002200 <atol+0x60>
+800021fc: 40a00533 neg a0,a0
+80002200: 00008067 ret
+80002204: 00154683 lbu a3,1(a0)
+80002208: fd378793 addi a5,a5,-45
+8000220c: 0017b613 seqz a2,a5
+80002210: 00150793 addi a5,a0,1
+80002214: fc0690e3 bnez a3,800021d4 <atol+0x34>
+80002218: 00000513 li a0,0
+8000221c: fddff06f j 800021f8 <atol+0x58>
+80002220: 00000513 li a0,0
+80002224: 00008067 ret
+
+80002228 <terminate>:
+80002228: fffff697 auipc a3,0xfffff
+8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost>
+80002230: 0006a703 lw a4,0(a3)
+80002234: 0046a783 lw a5,4(a3)
+80002238: 00050813 mv a6,a0
+8000223c: 41f55893 srai a7,a0,0x1f
+80002240: 00f76733 or a4,a4,a5
+80002244: 02070663 beqz a4,80002270 <terminate+0x48>
+80002248: fffff617 auipc a2,0xfffff
+8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost>
+80002250: 00000713 li a4,0
+80002254: 00e62023 sw a4,0(a2)
+80002258: 00000793 li a5,0
+8000225c: 00f62223 sw a5,4(a2)
+80002260: 0006a703 lw a4,0(a3)
+80002264: 0046a783 lw a5,4(a3)
+80002268: 00f76733 or a4,a4,a5
+8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28>
+80002270: 0106a023 sw a6,0(a3)
+80002274: 0116a223 sw a7,4(a3)
+80002278: 0000006f j 80002278 <terminate+0x50>
+
+8000227c <wtf>:
+8000227c: ff010113 addi sp,sp,-16
+80002280: 34900513 li a0,841
+80002284: 00112623 sw ra,12(sp)
+80002288: fa1ff0ef jal ra,80002228 <terminate>
+
+8000228c <printhex>:
+8000228c: fe010113 addi sp,sp,-32
+80002290: 01b10793 addi a5,sp,27
+80002294: 00b10e93 addi t4,sp,11
+80002298: 00900e13 li t3,9
+8000229c: 00f57693 andi a3,a0,15
+800022a0: 01c59313 slli t1,a1,0x1c
+800022a4: 00455513 srli a0,a0,0x4
+800022a8: 05700613 li a2,87
+800022ac: 0ff6f713 andi a4,a3,255
+800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c>
+800022b4: 03000613 li a2,48
+800022b8: 00c70733 add a4,a4,a2
+800022bc: 00e78023 sb a4,0(a5)
+800022c0: fff78793 addi a5,a5,-1
+800022c4: 00a36533 or a0,t1,a0
+800022c8: 0045d593 srli a1,a1,0x4
+800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10>
+800022d0: 00c14583 lbu a1,12(sp)
+800022d4: 00010e23 sb zero,28(sp)
+800022d8: 06058263 beqz a1,8000233c <printhex+0xb0>
+800022dc: 00c10513 addi a0,sp,12
+800022e0: fffff697 auipc a3,0xfffff
+800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost>
+800022e8: fffff617 auipc a2,0xfffff
+800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost>
+800022f0: 0006a703 lw a4,0(a3)
+800022f4: 0046a783 lw a5,4(a3)
+800022f8: 00058813 mv a6,a1
+800022fc: 00150513 addi a0,a0,1
+80002300: 00f76733 or a4,a4,a5
+80002304: 010108b7 lui a7,0x1010
+80002308: 02070263 beqz a4,8000232c <printhex+0xa0>
+8000230c: 00000713 li a4,0
+80002310: 00e62023 sw a4,0(a2)
+80002314: 00000793 li a5,0
+80002318: 00f62223 sw a5,4(a2)
+8000231c: 0006a703 lw a4,0(a3)
+80002320: 0046a783 lw a5,4(a3)
+80002324: 00f76733 or a4,a4,a5
+80002328: fe0712e3 bnez a4,8000230c <printhex+0x80>
+8000232c: 00054583 lbu a1,0(a0)
+80002330: 0106a023 sw a6,0(a3)
+80002334: 0116a223 sw a7,4(a3)
+80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64>
+8000233c: 02010113 addi sp,sp,32
+80002340: 00008067 ret
+
+80002344 <handle_fault>:
+80002344: ff010113 addi sp,sp,-16
+80002348: fffff6b7 lui a3,0xfffff
+8000234c: 00112623 sw ra,12(sp)
+80002350: 00812423 sw s0,8(sp)
+80002354: 00912223 sw s1,4(sp)
+80002358: 00d50733 add a4,a0,a3
+8000235c: 0003e7b7 lui a5,0x3e
+80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180>
+80002364: 00c55613 srli a2,a0,0xc
+80002368: 40060e13 addi t3,a2,1024
+8000236c: 00003317 auipc t1,0x3
+80002370: c9430313 addi t1,t1,-876 # 80005000 <pt>
+80002374: 002e1793 slli a5,t3,0x2
+80002378: 00f307b3 add a5,t1,a5
+8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000>
+80002380: 00d57533 and a0,a0,a3
+80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130>
+80002388: 00005797 auipc a5,0x5
+8000238c: 06c78793 addi a5,a5,108 # 800073f4 <freelist_head>
+80002390: 0007a583 lw a1,0(a5)
+80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0>
+80002398: 0045a783 lw a5,4(a1)
+8000239c: 00005717 auipc a4,0x5
+800023a0: 05470713 addi a4,a4,84 # 800073f0 <freelist_tail>
+800023a4: 00072703 lw a4,0(a4)
+800023a8: 00005697 auipc a3,0x5
+800023ac: 04f6a623 sw a5,76(a3) # 800073f4 <freelist_head>
+800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174>
+800023b4: 0005a703 lw a4,0(a1)
+800023b8: 002e1793 slli a5,t3,0x2
+800023bc: 00f307b3 add a5,t1,a5
+800023c0: 00c75713 srli a4,a4,0xc
+800023c4: 00a71713 slli a4,a4,0xa
+800023c8: 0df76e93 ori t4,a4,223
+800023cc: 01f76693 ori a3,a4,31
+800023d0: 01d7a023 sw t4,0(a5)
+800023d4: 12050073 sfence.vma a0
+800023d8: 00005717 auipc a4,0x5
+800023dc: e2070713 addi a4,a4,-480 # 800071f8 <user_mapping>
+800023e0: 00361793 slli a5,a2,0x3
+800023e4: 00f707b3 add a5,a4,a5
+800023e8: 0007a703 lw a4,0(a5)
+800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c>
+800023f0: 0005a703 lw a4,0(a1)
+800023f4: 00e7a023 sw a4,0(a5)
+800023f8: 0045a703 lw a4,4(a1)
+800023fc: 00e7a223 sw a4,4(a5)
+80002400: 000407b7 lui a5,0x40
+80002404: 1007a5f3 csrrs a1,sstatus,a5
+80002408: ffc007b7 lui a5,0xffc00
+8000240c: 00f507b3 add a5,a0,a5
+80002410: 00001637 lui a2,0x1
+80002414: 00050713 mv a4,a0
+80002418: 00c78633 add a2,a5,a2
+8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf8c08>
+80002420: 0047ae83 lw t4,4(a5)
+80002424: 0087a883 lw a7,8(a5)
+80002428: 00c7a803 lw a6,12(a5)
+8000242c: 01e72023 sw t5,0(a4)
+80002430: 01d72223 sw t4,4(a4)
+80002434: 01172423 sw a7,8(a4)
+80002438: 01072623 sw a6,12(a4)
+8000243c: 01078793 addi a5,a5,16
+80002440: 01070713 addi a4,a4,16
+80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8>
+80002448: 10059073 csrw sstatus,a1
+8000244c: 002e1e13 slli t3,t3,0x2
+80002450: 01c30333 add t1,t1,t3
+80002454: 00d32023 sw a3,0(t1)
+80002458: 12050073 sfence.vma a0
+8000245c: 0000100f fence.i
+80002460: 00c12083 lw ra,12(sp)
+80002464: 00812403 lw s0,8(sp)
+80002468: 00412483 lw s1,4(sp)
+8000246c: 01010113 addi sp,sp,16
+80002470: 00008067 ret
+80002474: 04077693 andi a3,a4,64
+80002478: 02069263 bnez a3,8000249c <handle_fault+0x158>
+8000247c: 04076713 ori a4,a4,64
+80002480: 00e7a023 sw a4,0(a5)
+80002484: 12050073 sfence.vma a0
+80002488: 00c12083 lw ra,12(sp)
+8000248c: 00812403 lw s0,8(sp)
+80002490: 00412483 lw s1,4(sp)
+80002494: 01010113 addi sp,sp,16
+80002498: 00008067 ret
+8000249c: 08077693 andi a3,a4,128
+800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8>
+800024a4: 00f00693 li a3,15
+800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8>
+800024ac: 08076713 ori a4,a4,128
+800024b0: 00e7a023 sw a4,0(a5)
+800024b4: fd1ff06f j 80002484 <handle_fault+0x140>
+800024b8: 00005797 auipc a5,0x5
+800024bc: f207ac23 sw zero,-200(a5) # 800073f0 <freelist_tail>
+800024c0: ef5ff06f j 800023b4 <handle_fault+0x70>
+800024c4: 04100513 li a0,65
+800024c8: 00001597 auipc a1,0x1
+800024cc: a6c58593 addi a1,a1,-1428 # 80002f34 <pass+0xc>
+800024d0: fffff697 auipc a3,0xfffff
+800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost>
+800024d8: fffff617 auipc a2,0xfffff
+800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost>
+800024e0: 0006a703 lw a4,0(a3)
+800024e4: 0046a783 lw a5,4(a3)
+800024e8: 00050313 mv t1,a0
+800024ec: 00158593 addi a1,a1,1
+800024f0: 00f76733 or a4,a4,a5
+800024f4: 010103b7 lui t2,0x1010
+800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8>
+800024fc: 00000793 li a5,0
+80002500: 00f62023 sw a5,0(a2)
+80002504: 00000813 li a6,0
+80002508: 01062223 sw a6,4(a2)
+8000250c: 0006a703 lw a4,0(a3)
+80002510: 0046a783 lw a5,4(a3)
+80002514: 00f76733 or a4,a4,a5
+80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8>
+8000251c: 0005c503 lbu a0,0(a1)
+80002520: 0066a023 sw t1,0(a3)
+80002524: 0076a223 sw t2,4(a3)
+80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c>
+8000252c: 00300513 li a0,3
+80002530: cf9ff0ef jal ra,80002228 <terminate>
+80002534: 04100513 li a0,65
+80002538: 00001597 auipc a1,0x1
+8000253c: a8858593 addi a1,a1,-1400 # 80002fc0 <pass+0x98>
+80002540: fffff697 auipc a3,0xfffff
+80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost>
+80002548: fffff617 auipc a2,0xfffff
+8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost>
+80002550: 0006a703 lw a4,0(a3)
+80002554: 0046a783 lw a5,4(a3)
+80002558: 00050f13 mv t5,a0
+8000255c: 00158593 addi a1,a1,1
+80002560: 00f76733 or a4,a4,a5
+80002564: 01010fb7 lui t6,0x1010
+80002568: 02070263 beqz a4,8000258c <handle_fault+0x248>
+8000256c: 00000793 li a5,0
+80002570: 00f62023 sw a5,0(a2)
+80002574: 00000813 li a6,0
+80002578: 01062223 sw a6,4(a2)
+8000257c: 0006a703 lw a4,0(a3)
+80002580: 0046a783 lw a5,4(a3)
+80002584: 00f76733 or a4,a4,a5
+80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228>
+8000258c: 0005c503 lbu a0,0(a1)
+80002590: 01e6a023 sw t5,0(a3)
+80002594: 01f6a223 sw t6,4(a3)
+80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c>
+8000259c: f91ff06f j 8000252c <handle_fault+0x1e8>
+800025a0: 04100513 li a0,65
+800025a4: 00001597 auipc a1,0x1
+800025a8: a3458593 addi a1,a1,-1484 # 80002fd8 <pass+0xb0>
+800025ac: fffff697 auipc a3,0xfffff
+800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost>
+800025b4: fffff617 auipc a2,0xfffff
+800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost>
+800025bc: 0006a703 lw a4,0(a3)
+800025c0: 0046a783 lw a5,4(a3)
+800025c4: 00050813 mv a6,a0
+800025c8: 00158593 addi a1,a1,1
+800025cc: 00f76733 or a4,a4,a5
+800025d0: 010108b7 lui a7,0x1010
+800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4>
+800025d8: 00000713 li a4,0
+800025dc: 00e62023 sw a4,0(a2)
+800025e0: 00000793 li a5,0
+800025e4: 00f62223 sw a5,4(a2)
+800025e8: 0006a703 lw a4,0(a3)
+800025ec: 0046a783 lw a5,4(a3)
+800025f0: 00f76733 or a4,a4,a5
+800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294>
+800025f8: 0005c503 lbu a0,0(a1)
+800025fc: 0106a023 sw a6,0(a3)
+80002600: 0116a223 sw a7,4(a3)
+80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278>
+80002608: f25ff06f j 8000252c <handle_fault+0x1e8>
+8000260c: 04100793 li a5,65
+80002610: 00001597 auipc a1,0x1
+80002614: 96858593 addi a1,a1,-1688 # 80002f78 <pass+0x50>
+80002618: fffff697 auipc a3,0xfffff
+8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost>
+80002620: fffff617 auipc a2,0xfffff
+80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost>
+80002628: 0006a803 lw a6,0(a3)
+8000262c: 0046a883 lw a7,4(a3)
+80002630: 00078413 mv s0,a5
+80002634: 00158593 addi a1,a1,1
+80002638: 01186833 or a6,a6,a7
+8000263c: 010104b7 lui s1,0x1010
+80002640: 02080263 beqz a6,80002664 <handle_fault+0x320>
+80002644: 00000793 li a5,0
+80002648: 00f62023 sw a5,0(a2)
+8000264c: 00000813 li a6,0
+80002650: 01062223 sw a6,4(a2)
+80002654: 0006a703 lw a4,0(a3)
+80002658: 0046a783 lw a5,4(a3)
+8000265c: 00f76733 or a4,a4,a5
+80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300>
+80002664: 0005c783 lbu a5,0(a1)
+80002668: 0086a023 sw s0,0(a3)
+8000266c: 0096a223 sw s1,4(a3)
+80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4>
+80002674: eb9ff06f j 8000252c <handle_fault+0x1e8>
+
+80002678 <handle_trap>:
+80002678: 08c52583 lw a1,140(a0)
+8000267c: fb010113 addi sp,sp,-80
+80002680: 03412c23 sw s4,56(sp)
+80002684: 04112623 sw ra,76(sp)
+80002688: 04812423 sw s0,72(sp)
+8000268c: 04912223 sw s1,68(sp)
+80002690: 05212023 sw s2,64(sp)
+80002694: 03312e23 sw s3,60(sp)
+80002698: 03512a23 sw s5,52(sp)
+8000269c: 03612823 sw s6,48(sp)
+800026a0: 03712623 sw s7,44(sp)
+800026a4: 03812423 sw s8,40(sp)
+800026a8: 03912223 sw s9,36(sp)
+800026ac: 03a12023 sw s10,32(sp)
+800026b0: 01b12e23 sw s11,28(sp)
+800026b4: 00800793 li a5,8
+800026b8: 00050a13 mv s4,a0
+800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0>
+800026c0: 00200793 li a5,2
+800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac>
+800026c8: ff458793 addi a5,a1,-12
+800026cc: 00100713 li a4,1
+800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64>
+800026d4: 00f00793 li a5,15
+800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294>
+800026dc: 088a2503 lw a0,136(s4)
+800026e0: c65ff0ef jal ra,80002344 <handle_fault>
+800026e4: 04812403 lw s0,72(sp)
+800026e8: 04c12083 lw ra,76(sp)
+800026ec: 04412483 lw s1,68(sp)
+800026f0: 04012903 lw s2,64(sp)
+800026f4: 03c12983 lw s3,60(sp)
+800026f8: 03412a83 lw s5,52(sp)
+800026fc: 03012b03 lw s6,48(sp)
+80002700: 02c12b83 lw s7,44(sp)
+80002704: 02812c03 lw s8,40(sp)
+80002708: 02412c83 lw s9,36(sp)
+8000270c: 02012d03 lw s10,32(sp)
+80002710: 01c12d83 lw s11,28(sp)
+80002714: 000a0513 mv a0,s4
+80002718: 03812a03 lw s4,56(sp)
+8000271c: 05010113 addi sp,sp,80
+80002720: 91dfd06f j 8000003c <pop_tf>
+80002724: 08452703 lw a4,132(a0)
+80002728: 00377793 andi a5,a4,3
+8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144>
+80002730: 008007ef jal a5,80002738 <handle_trap+0xc0>
+80002734: 00301073 fssr zero
+80002738: 00072703 lw a4,0(a4)
+8000273c: 0007a783 lw a5,0(a5)
+80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c>
+80002744: 04100513 li a0,65
+80002748: 00001597 auipc a1,0x1
+8000274c: 95858593 addi a1,a1,-1704 # 800030a0 <pass+0x178>
+80002750: fffff697 auipc a3,0xfffff
+80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost>
+80002758: fffff617 auipc a2,0xfffff
+8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost>
+80002760: 0006a703 lw a4,0(a3)
+80002764: 0046a783 lw a5,4(a3)
+80002768: 00050813 mv a6,a0
+8000276c: 00158593 addi a1,a1,1
+80002770: 00f76733 or a4,a4,a5
+80002774: 010108b7 lui a7,0x1010
+80002778: 02070263 beqz a4,8000279c <handle_trap+0x124>
+8000277c: 00000713 li a4,0
+80002780: 00e62023 sw a4,0(a2)
+80002784: 00000793 li a5,0
+80002788: 00f62223 sw a5,4(a2)
+8000278c: 0006a703 lw a4,0(a3)
+80002790: 0046a783 lw a5,4(a3)
+80002794: 00f76733 or a4,a4,a5
+80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104>
+8000279c: 0005c503 lbu a0,0(a1)
+800027a0: 0106a023 sw a6,0(a3)
+800027a4: 0116a223 sw a7,4(a3)
+800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8>
+800027ac: 00300513 li a0,3
+800027b0: a79ff0ef jal ra,80002228 <terminate>
+800027b4: 00100513 li a0,1
+800027b8: a71ff0ef jal ra,80002228 <terminate>
+800027bc: 00001597 auipc a1,0x1
+800027c0: 8c058593 addi a1,a1,-1856 # 8000307c <pass+0x154>
+800027c4: 04100613 li a2,65
+800027c8: fffff697 auipc a3,0xfffff
+800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost>
+800027d0: fffff517 auipc a0,0xfffff
+800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost>
+800027d8: 0006a703 lw a4,0(a3)
+800027dc: 0046a783 lw a5,4(a3)
+800027e0: 00060e13 mv t3,a2
+800027e4: 00158593 addi a1,a1,1
+800027e8: 00f76733 or a4,a4,a5
+800027ec: 01010eb7 lui t4,0x1010
+800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c>
+800027f4: 00000793 li a5,0
+800027f8: 00f52023 sw a5,0(a0)
+800027fc: 00000813 li a6,0
+80002800: 01052223 sw a6,4(a0)
+80002804: 0006a703 lw a4,0(a3)
+80002808: 0046a783 lw a5,4(a3)
+8000280c: 00f76733 or a4,a4,a5
+80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c>
+80002814: 0005c603 lbu a2,0(a1)
+80002818: 01c6a023 sw t3,0(a3)
+8000281c: 01d6a223 sw t4,4(a3)
+80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160>
+80002824: f89ff06f j 800027ac <handle_trap+0x134>
+80002828: 02852783 lw a5,40(a0)
+8000282c: 00001a37 lui s4,0x1
+80002830: 00005b17 auipc s6,0x5
+80002834: 9c8b0b13 addi s6,s6,-1592 # 800071f8 <user_mapping>
+80002838: 00f12223 sw a5,4(sp)
+8000283c: 00002d17 auipc s10,0x2
+80002840: 7c4d0d13 addi s10,s10,1988 # 80005000 <pt>
+80002844: 00040cb7 lui s9,0x40
+80002848: ffc00c37 lui s8,0xffc00
+8000284c: 0003fab7 lui s5,0x3f
+80002850: 01c0006f j 8000286c <handle_trap+0x1f4>
+80002854: 00f72223 sw a5,4(a4)
+80002858: 00005717 auipc a4,0x5
+8000285c: b8f72c23 sw a5,-1128(a4) # 800073f0 <freelist_tail>
+80002860: 000017b7 lui a5,0x1
+80002864: 00fa0a33 add s4,s4,a5
+80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398>
+8000286c: 00ca5713 srli a4,s4,0xc
+80002870: 00371b93 slli s7,a4,0x3
+80002874: 017b0633 add a2,s6,s7
+80002878: 00062603 lw a2,0(a2)
+8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8>
+80002880: 40070713 addi a4,a4,1024
+80002884: 00271713 slli a4,a4,0x2
+80002888: 00ed0733 add a4,s10,a4
+8000288c: 00072703 lw a4,0(a4)
+80002890: 04077613 andi a2,a4,64
+80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c>
+80002898: 00e12623 sw a4,12(sp)
+8000289c: 100cadf3 csrrs s11,sstatus,s9
+800028a0: 018a0833 add a6,s4,s8
+800028a4: 00001637 lui a2,0x1
+800028a8: 00080593 mv a1,a6
+800028ac: 000a0513 mv a0,s4
+800028b0: 01012423 sw a6,8(sp)
+800028b4: 855ff0ef jal ra,80002108 <memcmp>
+800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264>
+800028bc: 00c12703 lw a4,12(sp)
+800028c0: 00812803 lw a6,8(sp)
+800028c4: 08077713 andi a4,a4,128
+800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300>
+800028cc: 00001637 lui a2,0x1
+800028d0: 00080593 mv a1,a6
+800028d4: 000a0513 mv a0,s4
+800028d8: f28ff0ef jal ra,80002000 <memcpy>
+800028dc: 017b07b3 add a5,s6,s7
+800028e0: 100d9073 csrw sstatus,s11
+800028e4: 00005717 auipc a4,0x5
+800028e8: b0c70713 addi a4,a4,-1268 # 800073f0 <freelist_tail>
+800028ec: 00072703 lw a4,0(a4)
+800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000>
+800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc>
+800028f8: 00005717 auipc a4,0x5
+800028fc: aef72c23 sw a5,-1288(a4) # 800073f0 <freelist_tail>
+80002900: 00005717 auipc a4,0x5
+80002904: aef72a23 sw a5,-1292(a4) # 800073f4 <freelist_head>
+80002908: f59ff06f j 80002860 <handle_trap+0x1e8>
+8000290c: 04100593 li a1,65
+80002910: 00000617 auipc a2,0x0
+80002914: 7bc60613 addi a2,a2,1980 # 800030cc <pass+0x1a4>
+80002918: ffffe697 auipc a3,0xffffe
+8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost>
+80002920: ffffe517 auipc a0,0xffffe
+80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost>
+80002928: 0006a703 lw a4,0(a3)
+8000292c: 0046a783 lw a5,4(a3)
+80002930: 00058313 mv t1,a1
+80002934: 00160613 addi a2,a2,1
+80002938: 00f76733 or a4,a4,a5
+8000293c: 010103b7 lui t2,0x1010
+80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec>
+80002944: 00000793 li a5,0
+80002948: 00f52023 sw a5,0(a0)
+8000294c: 00000813 li a6,0
+80002950: 01052223 sw a6,4(a0)
+80002954: 0006a703 lw a4,0(a3)
+80002958: 0046a783 lw a5,4(a3)
+8000295c: 00f76733 or a4,a4,a5
+80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc>
+80002964: 00064583 lbu a1,0(a2)
+80002968: 0066a023 sw t1,0(a3)
+8000296c: 0076a223 sw t2,4(a3)
+80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0>
+80002974: e39ff06f j 800027ac <handle_trap+0x134>
+80002978: 04100793 li a5,65
+8000297c: 00000617 auipc a2,0x0
+80002980: 6cc60613 addi a2,a2,1740 # 80003048 <pass+0x120>
+80002984: ffffe697 auipc a3,0xffffe
+80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost>
+8000298c: ffffe597 auipc a1,0xffffe
+80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost>
+80002994: 00078413 mv s0,a5
+80002998: 00160613 addi a2,a2,1
+8000299c: 010104b7 lui s1,0x1010
+800029a0: 0006a703 lw a4,0(a3)
+800029a4: 0046a783 lw a5,4(a3)
+800029a8: 00f76733 or a4,a4,a5
+800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0>
+800029b0: 00000793 li a5,0
+800029b4: 00000813 li a6,0
+800029b8: 00f5a023 sw a5,0(a1)
+800029bc: 0105a223 sw a6,4(a1)
+800029c0: fe1ff06f j 800029a0 <handle_trap+0x328>
+800029c4: 04100793 li a5,65
+800029c8: 00000617 auipc a2,0x0
+800029cc: 64c60613 addi a2,a2,1612 # 80003014 <pass+0xec>
+800029d0: ffffe697 auipc a3,0xffffe
+800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost>
+800029d8: ffffe597 auipc a1,0xffffe
+800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost>
+800029e0: 00078913 mv s2,a5
+800029e4: 00160613 addi a2,a2,1
+800029e8: 010109b7 lui s3,0x1010
+800029ec: 0006a703 lw a4,0(a3)
+800029f0: 0046a783 lw a5,4(a3)
+800029f4: 00f76733 or a4,a4,a5
+800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4>
+800029fc: 00000793 li a5,0
+80002a00: 00000813 li a6,0
+80002a04: 00f5a023 sw a5,0(a1)
+80002a08: 0105a223 sw a6,4(a1)
+80002a0c: fe1ff06f j 800029ec <handle_trap+0x374>
+80002a10: 00412503 lw a0,4(sp)
+80002a14: 815ff0ef jal ra,80002228 <terminate>
+80002a18: 00064783 lbu a5,0(a2)
+80002a1c: 0086a023 sw s0,0(a3)
+80002a20: 0096a223 sw s1,4(a3)
+80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c>
+80002a28: d85ff06f j 800027ac <handle_trap+0x134>
+80002a2c: 00064783 lbu a5,0(a2)
+80002a30: 0126a023 sw s2,0(a3)
+80002a34: 0136a223 sw s3,4(a3)
+80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368>
+80002a3c: d71ff06f j 800027ac <handle_trap+0x134>
+
+80002a40 <vm_boot>:
+80002a40: f14027f3 csrr a5,mhartid
+80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158>
+80002a48: 00003797 auipc a5,0x3
+80002a4c: 5b878793 addi a5,a5,1464 # 80006000 <pt+0x1000>
+80002a50: 00c7d793 srli a5,a5,0xc
+80002a54: 00a79793 slli a5,a5,0xa
+80002a58: 0017e793 ori a5,a5,1
+80002a5c: 00002697 auipc a3,0x2
+80002a60: 5af6a223 sw a5,1444(a3) # 80005000 <pt>
+80002a64: 200007b7 lui a5,0x20000
+80002a68: 00002717 auipc a4,0x2
+80002a6c: 59870713 addi a4,a4,1432 # 80005000 <pt>
+80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31>
+80002a74: f6010113 addi sp,sp,-160
+80002a78: 00003697 auipc a3,0x3
+80002a7c: 58f6a223 sw a5,1412(a3) # 80005ffc <pt+0xffc>
+80002a80: 00c75793 srli a5,a4,0xc
+80002a84: 80000737 lui a4,0x80000
+80002a88: 08112e23 sw ra,156(sp)
+80002a8c: 08812c23 sw s0,152(sp)
+80002a90: 00e7e7b3 or a5,a5,a4
+80002a94: 18079073 csrw satp,a5
+80002a98: 01f00793 li a5,31
+80002a9c: fff00713 li a4,-1
+80002aa0: 00000297 auipc t0,0x0
+80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74>
+80002aa8: 305292f3 csrrw t0,mtvec,t0
+80002aac: 3b071073 csrw pmpaddr0,a4
+80002ab0: 3a079073 csrw pmpcfg0,a5
+80002ab4: 7fbfd797 auipc a5,0x7fbfd
+80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf8ccc>
+80002abc: 10579073 csrw stvec,a5
+80002ac0: 340027f3 csrr a5,mscratch
+80002ac4: 7fc00837 lui a6,0x7fc00
+80002ac8: 010787b3 add a5,a5,a6
+80002acc: 14079073 csrw sscratch,a5
+80002ad0: 0000b7b7 lui a5,0xb
+80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00>
+80002ad8: 30279073 csrw medeleg,a5
+80002adc: 0001e7b7 lui a5,0x1e
+80002ae0: 30079073 csrw mstatus,a5
+80002ae4: 30405073 csrwi mie,0
+80002ae8: 7fc04797 auipc a5,0x7fc04
+80002aec: 51878793 addi a5,a5,1304 # ffc07000 <_end+0x7fbffc08>
+80002af0: 00005717 auipc a4,0x5
+80002af4: 90f72223 sw a5,-1788(a4) # 800073f4 <freelist_head>
+80002af8: 7fc04797 auipc a5,0x7fc04
+80002afc: 6f878793 addi a5,a5,1784 # ffc071f0 <_end+0x7fbffdf8>
+80002b00: 00005717 auipc a4,0x5
+80002b04: 8ef72823 sw a5,-1808(a4) # 800073f0 <freelist_tail>
+80002b08: 000808b7 lui a7,0x80
+80002b0c: 00004717 auipc a4,0x4
+80002b10: 4f470713 addi a4,a4,1268 # 80007000 <freelist_nodes>
+80002b14: 00004317 auipc t1,0x4
+80002b18: 6e430313 addi t1,t1,1764 # 800071f8 <user_mapping>
+80002b1c: 03b00793 li a5,59
+80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1>
+80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8>
+80002b28: 0017d613 srli a2,a5,0x1
+80002b2c: 011786b3 add a3,a5,a7
+80002b30: 00f647b3 xor a5,a2,a5
+80002b34: 010705b3 add a1,a4,a6
+80002b38: 00c69693 slli a3,a3,0xc
+80002b3c: 00579793 slli a5,a5,0x5
+80002b40: 00d72023 sw a3,0(a4)
+80002b44: 00b72223 sw a1,4(a4)
+80002b48: 0207f793 andi a5,a5,32
+80002b4c: 00870713 addi a4,a4,8
+80002b50: 00f667b3 or a5,a2,a5
+80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8>
+80002b58: 00050413 mv s0,a0
+80002b5c: 09000613 li a2,144
+80002b60: 00000593 li a1,0
+80002b64: 00010513 mv a0,sp
+80002b68: 00004797 auipc a5,0x4
+80002b6c: 6807a623 sw zero,1676(a5) # 800071f4 <freelist_nodes+0x1f4>
+80002b70: cecff0ef jal ra,8000205c <memset>
+80002b74: 800007b7 lui a5,0x80000
+80002b78: 00f40433 add s0,s0,a5
+80002b7c: 00010513 mv a0,sp
+80002b80: 08812223 sw s0,132(sp)
+80002b84: cb8fd0ef jal ra,8000003c <pop_tf>
+80002b88: 09c12083 lw ra,156(sp)
+80002b8c: 09812403 lw s0,152(sp)
+80002b90: 0a010113 addi sp,sp,160
+80002b94: 00008067 ret
+80002b98: 0d9687b7 lui a5,0xd968
+80002b9c: 00080637 lui a2,0x80
+80002ba0: 7c078793 addi a5,a5,1984 # d9687c0 <_start-0x72697840>
+80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004>
+80002ba8: 800005b7 lui a1,0x80000
+80002bac: 00c7f733 and a4,a5,a2
+80002bb0: 0017f693 andi a3,a5,1
+80002bb4: 00b70733 add a4,a4,a1
+80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194>
+80002bbc: 0007202f amoadd.w zero,zero,(a4)
+80002bc0: 0017d793 srli a5,a5,0x1
+80002bc4: 00c7f733 and a4,a5,a2
+80002bc8: 0017f693 andi a3,a5,1
+80002bcc: 00b70733 add a4,a4,a1
+80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c>
+80002bd4: 00072003 lw zero,0(a4)
+80002bd8: 0017d793 srli a5,a5,0x1
+80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184>
+
+80002be0 <userstart>:
+80002be0: 00301073 fssr zero
+
+80002be4 <test_2>:
+80002be4: 00200193 li gp,2
+80002be8: 00001517 auipc a0,0x1
+80002bec: 41850513 addi a0,a0,1048 # 80004000 <test_2_data>
+80002bf0: 00053007 fld ft0,0(a0)
+80002bf4: 00853087 fld ft1,8(a0)
+80002bf8: 01053107 fld ft2,16(a0)
+80002bfc: 01852683 lw a3,24(a0)
+80002c00: 01c52303 lw t1,28(a0)
+80002c04: 121071c3 fmadd.d ft3,ft0,ft1,ft2
+80002c08: 00353027 fsd ft3,0(a0)
+80002c0c: 00452383 lw t2,4(a0)
+80002c10: 00052503 lw a0,0(a0)
+80002c14: 001015f3 fsflags a1,zero
+80002c18: 00000613 li a2,0
+80002c1c: 2ed51e63 bne a0,a3,80002f18 <fail>
+80002c20: 2e731c63 bne t1,t2,80002f18 <fail>
+80002c24: 2ec59a63 bne a1,a2,80002f18 <fail>
+
+80002c28 <test_3>:
+80002c28: 00300193 li gp,3
+80002c2c: 00001517 auipc a0,0x1
+80002c30: 3f450513 addi a0,a0,1012 # 80004020 <test_3_data>
+80002c34: 00053007 fld ft0,0(a0)
+80002c38: 00853087 fld ft1,8(a0)
+80002c3c: 01053107 fld ft2,16(a0)
+80002c40: 01852683 lw a3,24(a0)
+80002c44: 01c52303 lw t1,28(a0)
+80002c48: 121071c3 fmadd.d ft3,ft0,ft1,ft2
+80002c4c: 00353027 fsd ft3,0(a0)
+80002c50: 00452383 lw t2,4(a0)
+80002c54: 00052503 lw a0,0(a0)
+80002c58: 001015f3 fsflags a1,zero
+80002c5c: 00100613 li a2,1
+80002c60: 2ad51c63 bne a0,a3,80002f18 <fail>
+80002c64: 2a731a63 bne t1,t2,80002f18 <fail>
+80002c68: 2ac59863 bne a1,a2,80002f18 <fail>
+
+80002c6c <test_4>:
+80002c6c: 00400193 li gp,4
+80002c70: 00001517 auipc a0,0x1
+80002c74: 3d050513 addi a0,a0,976 # 80004040 <test_4_data>
+80002c78: 00053007 fld ft0,0(a0)
+80002c7c: 00853087 fld ft1,8(a0)
+80002c80: 01053107 fld ft2,16(a0)
+80002c84: 01852683 lw a3,24(a0)
+80002c88: 01c52303 lw t1,28(a0)
+80002c8c: 121071c3 fmadd.d ft3,ft0,ft1,ft2
+80002c90: 00353027 fsd ft3,0(a0)
+80002c94: 00452383 lw t2,4(a0)
+80002c98: 00052503 lw a0,0(a0)
+80002c9c: 001015f3 fsflags a1,zero
+80002ca0: 00000613 li a2,0
+80002ca4: 26d51a63 bne a0,a3,80002f18 <fail>
+80002ca8: 26731863 bne t1,t2,80002f18 <fail>
+80002cac: 26c59663 bne a1,a2,80002f18 <fail>
+
+80002cb0 <test_5>:
+80002cb0: 00500193 li gp,5
+80002cb4: 00001517 auipc a0,0x1
+80002cb8: 3ac50513 addi a0,a0,940 # 80004060 <test_5_data>
+80002cbc: 00053007 fld ft0,0(a0)
+80002cc0: 00853087 fld ft1,8(a0)
+80002cc4: 01053107 fld ft2,16(a0)
+80002cc8: 01852683 lw a3,24(a0)
+80002ccc: 01c52303 lw t1,28(a0)
+80002cd0: 121071cf fnmadd.d ft3,ft0,ft1,ft2
+80002cd4: 00353027 fsd ft3,0(a0)
+80002cd8: 00452383 lw t2,4(a0)
+80002cdc: 00052503 lw a0,0(a0)
+80002ce0: 001015f3 fsflags a1,zero
+80002ce4: 00000613 li a2,0
+80002ce8: 22d51863 bne a0,a3,80002f18 <fail>
+80002cec: 22731663 bne t1,t2,80002f18 <fail>
+80002cf0: 22c59463 bne a1,a2,80002f18 <fail>
+
+80002cf4 <test_6>:
+80002cf4: 00600193 li gp,6
+80002cf8: 00001517 auipc a0,0x1
+80002cfc: 38850513 addi a0,a0,904 # 80004080 <test_6_data>
+80002d00: 00053007 fld ft0,0(a0)
+80002d04: 00853087 fld ft1,8(a0)
+80002d08: 01053107 fld ft2,16(a0)
+80002d0c: 01852683 lw a3,24(a0)
+80002d10: 01c52303 lw t1,28(a0)
+80002d14: 121071cf fnmadd.d ft3,ft0,ft1,ft2
+80002d18: 00353027 fsd ft3,0(a0)
+80002d1c: 00452383 lw t2,4(a0)
+80002d20: 00052503 lw a0,0(a0)
+80002d24: 001015f3 fsflags a1,zero
+80002d28: 00100613 li a2,1
+80002d2c: 1ed51663 bne a0,a3,80002f18 <fail>
+80002d30: 1e731463 bne t1,t2,80002f18 <fail>
+80002d34: 1ec59263 bne a1,a2,80002f18 <fail>
+
+80002d38 <test_7>:
+80002d38: 00700193 li gp,7
+80002d3c: 00001517 auipc a0,0x1
+80002d40: 36450513 addi a0,a0,868 # 800040a0 <test_7_data>
+80002d44: 00053007 fld ft0,0(a0)
+80002d48: 00853087 fld ft1,8(a0)
+80002d4c: 01053107 fld ft2,16(a0)
+80002d50: 01852683 lw a3,24(a0)
+80002d54: 01c52303 lw t1,28(a0)
+80002d58: 121071cf fnmadd.d ft3,ft0,ft1,ft2
+80002d5c: 00353027 fsd ft3,0(a0)
+80002d60: 00452383 lw t2,4(a0)
+80002d64: 00052503 lw a0,0(a0)
+80002d68: 001015f3 fsflags a1,zero
+80002d6c: 00000613 li a2,0
+80002d70: 1ad51463 bne a0,a3,80002f18 <fail>
+80002d74: 1a731263 bne t1,t2,80002f18 <fail>
+80002d78: 1ac59063 bne a1,a2,80002f18 <fail>
+
+80002d7c <test_8>:
+80002d7c: 00800193 li gp,8
+80002d80: 00001517 auipc a0,0x1
+80002d84: 34050513 addi a0,a0,832 # 800040c0 <test_8_data>
+80002d88: 00053007 fld ft0,0(a0)
+80002d8c: 00853087 fld ft1,8(a0)
+80002d90: 01053107 fld ft2,16(a0)
+80002d94: 01852683 lw a3,24(a0)
+80002d98: 01c52303 lw t1,28(a0)
+80002d9c: 121071c7 fmsub.d ft3,ft0,ft1,ft2
+80002da0: 00353027 fsd ft3,0(a0)
+80002da4: 00452383 lw t2,4(a0)
+80002da8: 00052503 lw a0,0(a0)
+80002dac: 001015f3 fsflags a1,zero
+80002db0: 00000613 li a2,0
+80002db4: 16d51263 bne a0,a3,80002f18 <fail>
+80002db8: 16731063 bne t1,t2,80002f18 <fail>
+80002dbc: 14c59e63 bne a1,a2,80002f18 <fail>
+
+80002dc0 <test_9>:
+80002dc0: 00900193 li gp,9
+80002dc4: 00001517 auipc a0,0x1
+80002dc8: 31c50513 addi a0,a0,796 # 800040e0 <test_9_data>
+80002dcc: 00053007 fld ft0,0(a0)
+80002dd0: 00853087 fld ft1,8(a0)
+80002dd4: 01053107 fld ft2,16(a0)
+80002dd8: 01852683 lw a3,24(a0)
+80002ddc: 01c52303 lw t1,28(a0)
+80002de0: 121071c7 fmsub.d ft3,ft0,ft1,ft2
+80002de4: 00353027 fsd ft3,0(a0)
+80002de8: 00452383 lw t2,4(a0)
+80002dec: 00052503 lw a0,0(a0)
+80002df0: 001015f3 fsflags a1,zero
+80002df4: 00100613 li a2,1
+80002df8: 12d51063 bne a0,a3,80002f18 <fail>
+80002dfc: 10731e63 bne t1,t2,80002f18 <fail>
+80002e00: 10c59c63 bne a1,a2,80002f18 <fail>
+
+80002e04 <test_10>:
+80002e04: 00a00193 li gp,10
+80002e08: 00001517 auipc a0,0x1
+80002e0c: 2f850513 addi a0,a0,760 # 80004100 <test_10_data>
+80002e10: 00053007 fld ft0,0(a0)
+80002e14: 00853087 fld ft1,8(a0)
+80002e18: 01053107 fld ft2,16(a0)
+80002e1c: 01852683 lw a3,24(a0)
+80002e20: 01c52303 lw t1,28(a0)
+80002e24: 121071c7 fmsub.d ft3,ft0,ft1,ft2
+80002e28: 00353027 fsd ft3,0(a0)
+80002e2c: 00452383 lw t2,4(a0)
+80002e30: 00052503 lw a0,0(a0)
+80002e34: 001015f3 fsflags a1,zero
+80002e38: 00000613 li a2,0
+80002e3c: 0cd51e63 bne a0,a3,80002f18 <fail>
+80002e40: 0c731c63 bne t1,t2,80002f18 <fail>
+80002e44: 0cc59a63 bne a1,a2,80002f18 <fail>
+
+80002e48 <test_11>:
+80002e48: 00b00193 li gp,11
+80002e4c: 00001517 auipc a0,0x1
+80002e50: 2d450513 addi a0,a0,724 # 80004120 <test_11_data>
+80002e54: 00053007 fld ft0,0(a0)
+80002e58: 00853087 fld ft1,8(a0)
+80002e5c: 01053107 fld ft2,16(a0)
+80002e60: 01852683 lw a3,24(a0)
+80002e64: 01c52303 lw t1,28(a0)
+80002e68: 121071cb fnmsub.d ft3,ft0,ft1,ft2
+80002e6c: 00353027 fsd ft3,0(a0)
+80002e70: 00452383 lw t2,4(a0)
+80002e74: 00052503 lw a0,0(a0)
+80002e78: 001015f3 fsflags a1,zero
+80002e7c: 00000613 li a2,0
+80002e80: 08d51c63 bne a0,a3,80002f18 <fail>
+80002e84: 08731a63 bne t1,t2,80002f18 <fail>
+80002e88: 08c59863 bne a1,a2,80002f18 <fail>
+
+80002e8c <test_12>:
+80002e8c: 00c00193 li gp,12
+80002e90: 00001517 auipc a0,0x1
+80002e94: 2b050513 addi a0,a0,688 # 80004140 <test_12_data>
+80002e98: 00053007 fld ft0,0(a0)
+80002e9c: 00853087 fld ft1,8(a0)
+80002ea0: 01053107 fld ft2,16(a0)
+80002ea4: 01852683 lw a3,24(a0)
+80002ea8: 01c52303 lw t1,28(a0)
+80002eac: 121071cb fnmsub.d ft3,ft0,ft1,ft2
+80002eb0: 00353027 fsd ft3,0(a0)
+80002eb4: 00452383 lw t2,4(a0)
+80002eb8: 00052503 lw a0,0(a0)
+80002ebc: 001015f3 fsflags a1,zero
+80002ec0: 00100613 li a2,1
+80002ec4: 04d51a63 bne a0,a3,80002f18 <fail>
+80002ec8: 04731863 bne t1,t2,80002f18 <fail>
+80002ecc: 04c59663 bne a1,a2,80002f18 <fail>
+
+80002ed0 <test_13>:
+80002ed0: 00d00193 li gp,13
+80002ed4: 00001517 auipc a0,0x1
+80002ed8: 28c50513 addi a0,a0,652 # 80004160 <test_13_data>
+80002edc: 00053007 fld ft0,0(a0)
+80002ee0: 00853087 fld ft1,8(a0)
+80002ee4: 01053107 fld ft2,16(a0)
+80002ee8: 01852683 lw a3,24(a0)
+80002eec: 01c52303 lw t1,28(a0)
+80002ef0: 121071cb fnmsub.d ft3,ft0,ft1,ft2
+80002ef4: 00353027 fsd ft3,0(a0)
+80002ef8: 00452383 lw t2,4(a0)
+80002efc: 00052503 lw a0,0(a0)
+80002f00: 001015f3 fsflags a1,zero
+80002f04: 00000613 li a2,0
+80002f08: 00d51863 bne a0,a3,80002f18 <fail>
+80002f0c: 00731663 bne t1,t2,80002f18 <fail>
+80002f10: 00c59463 bne a1,a2,80002f18 <fail>
+80002f14: 00301a63 bne zero,gp,80002f28 <pass>
+
+80002f18 <fail>:
+80002f18: 00119513 slli a0,gp,0x1
+80002f1c: 00050063 beqz a0,80002f1c <fail+0x4>
+80002f20: 00156513 ori a0,a0,1
+80002f24: 00000073 ecall
+
+80002f28 <pass>:
+80002f28: 00100513 li a0,1
+80002f2c: 00000073 ecall
+80002f30: c0001073 unimp
+
+Disassembly of section .data:
+
+80004000 <test_2_data>:
+80004000: 0000 unimp
+80004002: 0000 unimp
+80004004: 0000 unimp
+80004006: 3ff0 fld fa2,248(a5)
+80004008: 0000 unimp
+8000400a: 0000 unimp
+8000400c: 0000 unimp
+8000400e: 4004 lw s1,0(s0)
+80004010: 0000 unimp
+80004012: 0000 unimp
+80004014: 0000 unimp
+80004016: 3ff0 fld fa2,248(a5)
+80004018: 0000 unimp
+8000401a: 0000 unimp
+8000401c: 0000 unimp
+8000401e: 400c lw a1,0(s0)
+
+80004020 <test_3_data>:
+80004020: 0000 unimp
+80004022: 0000 unimp
+80004024: 0000 unimp
+80004026: bff0 fsd fa2,248(a5)
+80004028: 6666 flw fa2,88(sp)
+8000402a: 6666 flw fa2,88(sp)
+8000402c: 4c66 lw s8,88(sp)
+8000402e: 999ac093 xori ra,s5,-1639
+80004032: 9999 andi a1,a1,-26
+80004034: 9999 andi a1,a1,-26
+80004036: 3ff1 jal 80004012 <test_2_data+0x12>
+80004038: cccc sw a1,28(s1)
+8000403a: cccc sw a1,28(s1)
+8000403c: 50cc lw a1,36(s1)
+8000403e: xori ra,zero,0
+
+80004040 <test_4_data>:
+80004040: 0000 unimp
+80004042: 0000 unimp
+80004044: 0000 unimp
+80004046: 4000 lw s0,0(s0)
+80004048: 0000 unimp
+8000404a: 0000 unimp
+8000404c: 0000 unimp
+8000404e: c014 sw a3,0(s0)
+80004050: 0000 unimp
+80004052: 0000 unimp
+80004054: 0000 unimp
+80004056: c000 sw s0,0(s0)
+80004058: 0000 unimp
+8000405a: 0000 unimp
+8000405c: 0000 unimp
+8000405e: c028 sw a0,64(s0)
+
+80004060 <test_5_data>:
+80004060: 0000 unimp
+80004062: 0000 unimp
+80004064: 0000 unimp
+80004066: 3ff0 fld fa2,248(a5)
+80004068: 0000 unimp
+8000406a: 0000 unimp
+8000406c: 0000 unimp
+8000406e: 4004 lw s1,0(s0)
+80004070: 0000 unimp
+80004072: 0000 unimp
+80004074: 0000 unimp
+80004076: 3ff0 fld fa2,248(a5)
+80004078: 0000 unimp
+8000407a: 0000 unimp
+8000407c: 0000 unimp
+8000407e: c00c sw a1,0(s0)
+
+80004080 <test_6_data>:
+80004080: 0000 unimp
+80004082: 0000 unimp
+80004084: 0000 unimp
+80004086: bff0 fsd fa2,248(a5)
+80004088: 6666 flw fa2,88(sp)
+8000408a: 6666 flw fa2,88(sp)
+8000408c: 4c66 lw s8,88(sp)
+8000408e: 999ac093 xori ra,s5,-1639
+80004092: 9999 andi a1,a1,-26
+80004094: 9999 andi a1,a1,-26
+80004096: 3ff1 jal 80004072 <test_5_data+0x12>
+80004098: cccc sw a1,28(s1)
+8000409a: cccc sw a1,28(s1)
+8000409c: 50cc lw a1,36(s1)
+8000409e: xori ra,ra,0
+
+800040a0 <test_7_data>:
+800040a0: 0000 unimp
+800040a2: 0000 unimp
+800040a4: 0000 unimp
+800040a6: 4000 lw s0,0(s0)
+800040a8: 0000 unimp
+800040aa: 0000 unimp
+800040ac: 0000 unimp
+800040ae: c014 sw a3,0(s0)
+800040b0: 0000 unimp
+800040b2: 0000 unimp
+800040b4: 0000 unimp
+800040b6: c000 sw s0,0(s0)
+800040b8: 0000 unimp
+800040ba: 0000 unimp
+800040bc: 0000 unimp
+800040be: 4028 lw a0,64(s0)
+
+800040c0 <test_8_data>:
+800040c0: 0000 unimp
+800040c2: 0000 unimp
+800040c4: 0000 unimp
+800040c6: 3ff0 fld fa2,248(a5)
+800040c8: 0000 unimp
+800040ca: 0000 unimp
+800040cc: 0000 unimp
+800040ce: 4004 lw s1,0(s0)
+800040d0: 0000 unimp
+800040d2: 0000 unimp
+800040d4: 0000 unimp
+800040d6: 3ff0 fld fa2,248(a5)
+800040d8: 0000 unimp
+800040da: 0000 unimp
+800040dc: 0000 unimp
+800040de: 3ff8 fld fa4,248(a5)
+
+800040e0 <test_9_data>:
+800040e0: 0000 unimp
+800040e2: 0000 unimp
+800040e4: 0000 unimp
+800040e6: bff0 fsd fa2,248(a5)
+800040e8: 6666 flw fa2,88(sp)
+800040ea: 6666 flw fa2,88(sp)
+800040ec: 4c66 lw s8,88(sp)
+800040ee: 999ac093 xori ra,s5,-1639
+800040f2: 9999 andi a1,a1,-26
+800040f4: 9999 andi a1,a1,-26
+800040f6: 3ff1 jal 800040d2 <test_8_data+0x12>
+800040f8: 0000 unimp
+800040fa: 0000 unimp
+800040fc: 4800 lw s0,16(s0)
+800040fe: xori ra,zero,0
+
+80004100 <test_10_data>:
+80004100: 0000 unimp
+80004102: 0000 unimp
+80004104: 0000 unimp
+80004106: 4000 lw s0,0(s0)
+80004108: 0000 unimp
+8000410a: 0000 unimp
+8000410c: 0000 unimp
+8000410e: c014 sw a3,0(s0)
+80004110: 0000 unimp
+80004112: 0000 unimp
+80004114: 0000 unimp
+80004116: c000 sw s0,0(s0)
+80004118: 0000 unimp
+8000411a: 0000 unimp
+8000411c: 0000 unimp
+8000411e: c020 sw s0,64(s0)
+
+80004120 <test_11_data>:
+80004120: 0000 unimp
+80004122: 0000 unimp
+80004124: 0000 unimp
+80004126: 3ff0 fld fa2,248(a5)
+80004128: 0000 unimp
+8000412a: 0000 unimp
+8000412c: 0000 unimp
+8000412e: 4004 lw s1,0(s0)
+80004130: 0000 unimp
+80004132: 0000 unimp
+80004134: 0000 unimp
+80004136: 3ff0 fld fa2,248(a5)
+80004138: 0000 unimp
+8000413a: 0000 unimp
+8000413c: 0000 unimp
+8000413e: bff8 fsd fa4,248(a5)
+
+80004140 <test_12_data>:
+80004140: 0000 unimp
+80004142: 0000 unimp
+80004144: 0000 unimp
+80004146: bff0 fsd fa2,248(a5)
+80004148: 6666 flw fa2,88(sp)
+8000414a: 6666 flw fa2,88(sp)
+8000414c: 4c66 lw s8,88(sp)
+8000414e: 999ac093 xori ra,s5,-1639
+80004152: 9999 andi a1,a1,-26
+80004154: 9999 andi a1,a1,-26
+80004156: 3ff1 jal 80004132 <test_11_data+0x12>
+80004158: 0000 unimp
+8000415a: 0000 unimp
+8000415c: 4800 lw s0,16(s0)
+8000415e: xori ra,ra,0
+
+80004160 <test_13_data>:
+80004160: 0000 unimp
+80004162: 0000 unimp
+80004164: 0000 unimp
+80004166: 4000 lw s0,0(s0)
+80004168: 0000 unimp
+8000416a: 0000 unimp
+8000416c: 0000 unimp
+8000416e: c014 sw a3,0(s0)
+80004170: 0000 unimp
+80004172: 0000 unimp
+80004174: 0000 unimp
+80004176: c000 sw s0,0(s0)
+80004178: 0000 unimp
+8000417a: 0000 unimp
+8000417c: 0000 unimp
+8000417e: 4020 lw s0,64(s0)
diff --git a/test/riscv-tests/rv32ud-v-fmadd.elf b/test/riscv-tests/rv32ud-v-fmadd.elf
new file mode 100644
index 0000000..737fe51
--- /dev/null
+++ b/test/riscv-tests/rv32ud-v-fmadd.elf
Binary files differ
diff --git a/test/riscv-tests/rv32ud-v-fmin.dump b/test/riscv-tests/rv32ud-v-fmin.dump
new file mode 100644
index 0000000..1817a18
--- /dev/null
+++ b/test/riscv-tests/rv32ud-v-fmin.dump
@@ -0,0 +1,1571 @@
+
+rv32ud-v-fmin: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 00c0006f j 8000000c <handle_reset>
+
+80000004 <nmi_vector>:
+80000004: 2780206f j 8000227c <wtf>
+
+80000008 <trap_vector>:
+80000008: 2740206f j 8000227c <wtf>
+
+8000000c <handle_reset>:
+8000000c: 00000297 auipc t0,0x0
+80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+80000014: 30529073 csrw mtvec,t0
+80000018: 00008117 auipc sp,0x8
+8000001c: 35010113 addi sp,sp,848 # 80008368 <_end+0xf70>
+80000020: f14022f3 csrr t0,mhartid
+80000024: 00c29293 slli t0,t0,0xc
+80000028: 00510133 add sp,sp,t0
+8000002c: 34011073 csrw mscratch,sp
+80000030: 00003517 auipc a0,0x3
+80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart>
+80000038: 2090206f j 80002a40 <vm_boot>
+
+8000003c <pop_tf>:
+8000003c: 08452283 lw t0,132(a0)
+80000040: 14129073 csrw sepc,t0
+80000044: 00452083 lw ra,4(a0)
+80000048: 00852103 lw sp,8(a0)
+8000004c: 00c52183 lw gp,12(a0)
+80000050: 01052203 lw tp,16(a0)
+80000054: 01452283 lw t0,20(a0)
+80000058: 01852303 lw t1,24(a0)
+8000005c: 01c52383 lw t2,28(a0)
+80000060: 02052403 lw s0,32(a0)
+80000064: 02452483 lw s1,36(a0)
+80000068: 02c52583 lw a1,44(a0)
+8000006c: 03052603 lw a2,48(a0)
+80000070: 03452683 lw a3,52(a0)
+80000074: 03852703 lw a4,56(a0)
+80000078: 03c52783 lw a5,60(a0)
+8000007c: 04052803 lw a6,64(a0)
+80000080: 04452883 lw a7,68(a0)
+80000084: 04852903 lw s2,72(a0)
+80000088: 04c52983 lw s3,76(a0)
+8000008c: 05052a03 lw s4,80(a0)
+80000090: 05452a83 lw s5,84(a0)
+80000094: 05852b03 lw s6,88(a0)
+80000098: 05c52b83 lw s7,92(a0)
+8000009c: 06052c03 lw s8,96(a0)
+800000a0: 06452c83 lw s9,100(a0)
+800000a4: 06852d03 lw s10,104(a0)
+800000a8: 06c52d83 lw s11,108(a0)
+800000ac: 07052e03 lw t3,112(a0)
+800000b0: 07452e83 lw t4,116(a0)
+800000b4: 07852f03 lw t5,120(a0)
+800000b8: 07c52f83 lw t6,124(a0)
+800000bc: 02852503 lw a0,40(a0)
+800000c0: 10200073 sret
+
+800000c4 <trap_entry>:
+800000c4: 14011173 csrrw sp,sscratch,sp
+800000c8: 00112223 sw ra,4(sp)
+800000cc: 00312623 sw gp,12(sp)
+800000d0: 00412823 sw tp,16(sp)
+800000d4: 00512a23 sw t0,20(sp)
+800000d8: 00612c23 sw t1,24(sp)
+800000dc: 00712e23 sw t2,28(sp)
+800000e0: 02812023 sw s0,32(sp)
+800000e4: 02912223 sw s1,36(sp)
+800000e8: 02a12423 sw a0,40(sp)
+800000ec: 02b12623 sw a1,44(sp)
+800000f0: 02c12823 sw a2,48(sp)
+800000f4: 02d12a23 sw a3,52(sp)
+800000f8: 02e12c23 sw a4,56(sp)
+800000fc: 02f12e23 sw a5,60(sp)
+80000100: 05012023 sw a6,64(sp)
+80000104: 05112223 sw a7,68(sp)
+80000108: 05212423 sw s2,72(sp)
+8000010c: 05312623 sw s3,76(sp)
+80000110: 05412823 sw s4,80(sp)
+80000114: 05512a23 sw s5,84(sp)
+80000118: 05612c23 sw s6,88(sp)
+8000011c: 05712e23 sw s7,92(sp)
+80000120: 07812023 sw s8,96(sp)
+80000124: 07912223 sw s9,100(sp)
+80000128: 07a12423 sw s10,104(sp)
+8000012c: 07b12623 sw s11,108(sp)
+80000130: 07c12823 sw t3,112(sp)
+80000134: 07d12a23 sw t4,116(sp)
+80000138: 07e12c23 sw t5,120(sp)
+8000013c: 07f12e23 sw t6,124(sp)
+80000140: 140112f3 csrrw t0,sscratch,sp
+80000144: 00512423 sw t0,8(sp)
+80000148: 100022f3 csrr t0,sstatus
+8000014c: 08512023 sw t0,128(sp)
+80000150: 141022f3 csrr t0,sepc
+80000154: 08512223 sw t0,132(sp)
+80000158: 143022f3 csrr t0,stval
+8000015c: 08512423 sw t0,136(sp)
+80000160: 142022f3 csrr t0,scause
+80000164: 08512623 sw t0,140(sp)
+80000168: 00010513 mv a0,sp
+8000016c: 50c0206f j 80002678 <handle_trap>
+
+Disassembly of section .text:
+
+80002000 <memcpy>:
+80002000: 00c5e7b3 or a5,a1,a2
+80002004: 00f567b3 or a5,a0,a5
+80002008: 0037f793 andi a5,a5,3
+8000200c: 00c506b3 add a3,a0,a2
+80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+80002014: 00c58633 add a2,a1,a2
+80002018: 00050793 mv a5,a0
+8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+80002020: 00158593 addi a1,a1,1
+80002024: fff5c703 lbu a4,-1(a1)
+80002028: 00178793 addi a5,a5,1
+8000202c: fee78fa3 sb a4,-1(a5)
+80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+80002034: 00008067 ret
+80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+8000203c: 00050793 mv a5,a0
+80002040: 00458593 addi a1,a1,4
+80002044: ffc5a703 lw a4,-4(a1)
+80002048: 00478793 addi a5,a5,4
+8000204c: fee7ae23 sw a4,-4(a5)
+80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+80002054: 00008067 ret
+80002058: 00008067 ret
+
+8000205c <memset>:
+8000205c: 00c567b3 or a5,a0,a2
+80002060: 0037f793 andi a5,a5,3
+80002064: 00c50633 add a2,a0,a2
+80002068: 02078063 beqz a5,80002088 <memset+0x2c>
+8000206c: 0ff5f593 andi a1,a1,255
+80002070: 00050793 mv a5,a0
+80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58>
+80002078: 00178793 addi a5,a5,1
+8000207c: feb78fa3 sb a1,-1(a5)
+80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+80002084: 00008067 ret
+80002088: 0ff5f593 andi a1,a1,255
+8000208c: 00859793 slli a5,a1,0x8
+80002090: 00b7e7b3 or a5,a5,a1
+80002094: 01079593 slli a1,a5,0x10
+80002098: 00f5e5b3 or a1,a1,a5
+8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28>
+800020a0: 00050793 mv a5,a0
+800020a4: 00478793 addi a5,a5,4
+800020a8: feb7ae23 sw a1,-4(a5)
+800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48>
+800020b0: 00008067 ret
+800020b4: 00008067 ret
+
+800020b8 <strlen>:
+800020b8: 00054783 lbu a5,0(a0)
+800020bc: 00050713 mv a4,a0
+800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20>
+800020c4: 00150513 addi a0,a0,1
+800020c8: 00054783 lbu a5,0(a0)
+800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc>
+800020d0: 40e50533 sub a0,a0,a4
+800020d4: 00008067 ret
+800020d8: 00000513 li a0,0
+800020dc: 00008067 ret
+
+800020e0 <strcmp>:
+800020e0: 00150513 addi a0,a0,1
+800020e4: fff54783 lbu a5,-1(a0)
+800020e8: 00158593 addi a1,a1,1
+800020ec: fff5c703 lbu a4,-1(a1)
+800020f0: 00078863 beqz a5,80002100 <strcmp+0x20>
+800020f4: fee786e3 beq a5,a4,800020e0 <strcmp>
+800020f8: 40e78533 sub a0,a5,a4
+800020fc: 00008067 ret
+80002100: 00000793 li a5,0
+80002104: ff5ff06f j 800020f8 <strcmp+0x18>
+
+80002108 <memcmp>:
+80002108: 00b567b3 or a5,a0,a1
+8000210c: 0037f793 andi a5,a5,3
+80002110: 04079263 bnez a5,80002154 <memcmp+0x4c>
+80002114: ffc67693 andi a3,a2,-4
+80002118: 00d506b3 add a3,a0,a3
+8000211c: 00050813 mv a6,a0
+80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c>
+80002124: 00052703 lw a4,0(a0)
+80002128: 0005a783 lw a5,0(a1)
+8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38>
+80002130: 0240006f j 80002154 <memcmp+0x4c>
+80002134: 00052703 lw a4,0(a0)
+80002138: 0005a783 lw a5,0(a1)
+8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44>
+80002140: 00450513 addi a0,a0,4
+80002144: 00458593 addi a1,a1,4
+80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c>
+8000214c: 41050833 sub a6,a0,a6
+80002150: 41060633 sub a2,a2,a6
+80002154: 00c58633 add a2,a1,a2
+80002158: 0140006f j 8000216c <memcmp+0x64>
+8000215c: 00158593 addi a1,a1,1
+80002160: fff54783 lbu a5,-1(a0)
+80002164: fff5c703 lbu a4,-1(a1)
+80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74>
+8000216c: 00150513 addi a0,a0,1
+80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54>
+80002174: 00000513 li a0,0
+80002178: 00008067 ret
+8000217c: 40e78533 sub a0,a5,a4
+80002180: 00008067 ret
+
+80002184 <strcpy>:
+80002184: 00050793 mv a5,a0
+80002188: 00158593 addi a1,a1,1
+8000218c: fff5c703 lbu a4,-1(a1)
+80002190: 00178793 addi a5,a5,1
+80002194: fee78fa3 sb a4,-1(a5)
+80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4>
+8000219c: 00008067 ret
+
+800021a0 <atol>:
+800021a0: 00054783 lbu a5,0(a0)
+800021a4: 02000713 li a4,32
+800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18>
+800021ac: 00150513 addi a0,a0,1
+800021b0: 00054783 lbu a5,0(a0)
+800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc>
+800021b8: fd578713 addi a4,a5,-43
+800021bc: 0fd77713 andi a4,a4,253
+800021c0: 04070263 beqz a4,80002204 <atol+0x64>
+800021c4: 00054683 lbu a3,0(a0)
+800021c8: 00050793 mv a5,a0
+800021cc: 00000613 li a2,0
+800021d0: 04068863 beqz a3,80002220 <atol+0x80>
+800021d4: 00000513 li a0,0
+800021d8: 00178793 addi a5,a5,1
+800021dc: fd068593 addi a1,a3,-48
+800021e0: 00251713 slli a4,a0,0x2
+800021e4: 0007c683 lbu a3,0(a5)
+800021e8: 00a70533 add a0,a4,a0
+800021ec: 00151513 slli a0,a0,0x1
+800021f0: 00a58533 add a0,a1,a0
+800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38>
+800021f8: 00060463 beqz a2,80002200 <atol+0x60>
+800021fc: 40a00533 neg a0,a0
+80002200: 00008067 ret
+80002204: 00154683 lbu a3,1(a0)
+80002208: fd378793 addi a5,a5,-45
+8000220c: 0017b613 seqz a2,a5
+80002210: 00150793 addi a5,a0,1
+80002214: fc0690e3 bnez a3,800021d4 <atol+0x34>
+80002218: 00000513 li a0,0
+8000221c: fddff06f j 800021f8 <atol+0x58>
+80002220: 00000513 li a0,0
+80002224: 00008067 ret
+
+80002228 <terminate>:
+80002228: fffff697 auipc a3,0xfffff
+8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost>
+80002230: 0006a703 lw a4,0(a3)
+80002234: 0046a783 lw a5,4(a3)
+80002238: 00050813 mv a6,a0
+8000223c: 41f55893 srai a7,a0,0x1f
+80002240: 00f76733 or a4,a4,a5
+80002244: 02070663 beqz a4,80002270 <terminate+0x48>
+80002248: fffff617 auipc a2,0xfffff
+8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost>
+80002250: 00000713 li a4,0
+80002254: 00e62023 sw a4,0(a2)
+80002258: 00000793 li a5,0
+8000225c: 00f62223 sw a5,4(a2)
+80002260: 0006a703 lw a4,0(a3)
+80002264: 0046a783 lw a5,4(a3)
+80002268: 00f76733 or a4,a4,a5
+8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28>
+80002270: 0106a023 sw a6,0(a3)
+80002274: 0116a223 sw a7,4(a3)
+80002278: 0000006f j 80002278 <terminate+0x50>
+
+8000227c <wtf>:
+8000227c: ff010113 addi sp,sp,-16
+80002280: 34900513 li a0,841
+80002284: 00112623 sw ra,12(sp)
+80002288: fa1ff0ef jal ra,80002228 <terminate>
+
+8000228c <printhex>:
+8000228c: fe010113 addi sp,sp,-32
+80002290: 01b10793 addi a5,sp,27
+80002294: 00b10e93 addi t4,sp,11
+80002298: 00900e13 li t3,9
+8000229c: 00f57693 andi a3,a0,15
+800022a0: 01c59313 slli t1,a1,0x1c
+800022a4: 00455513 srli a0,a0,0x4
+800022a8: 05700613 li a2,87
+800022ac: 0ff6f713 andi a4,a3,255
+800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c>
+800022b4: 03000613 li a2,48
+800022b8: 00c70733 add a4,a4,a2
+800022bc: 00e78023 sb a4,0(a5)
+800022c0: fff78793 addi a5,a5,-1
+800022c4: 00a36533 or a0,t1,a0
+800022c8: 0045d593 srli a1,a1,0x4
+800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10>
+800022d0: 00c14583 lbu a1,12(sp)
+800022d4: 00010e23 sb zero,28(sp)
+800022d8: 06058263 beqz a1,8000233c <printhex+0xb0>
+800022dc: 00c10513 addi a0,sp,12
+800022e0: fffff697 auipc a3,0xfffff
+800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost>
+800022e8: fffff617 auipc a2,0xfffff
+800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost>
+800022f0: 0006a703 lw a4,0(a3)
+800022f4: 0046a783 lw a5,4(a3)
+800022f8: 00058813 mv a6,a1
+800022fc: 00150513 addi a0,a0,1
+80002300: 00f76733 or a4,a4,a5
+80002304: 010108b7 lui a7,0x1010
+80002308: 02070263 beqz a4,8000232c <printhex+0xa0>
+8000230c: 00000713 li a4,0
+80002310: 00e62023 sw a4,0(a2)
+80002314: 00000793 li a5,0
+80002318: 00f62223 sw a5,4(a2)
+8000231c: 0006a703 lw a4,0(a3)
+80002320: 0046a783 lw a5,4(a3)
+80002324: 00f76733 or a4,a4,a5
+80002328: fe0712e3 bnez a4,8000230c <printhex+0x80>
+8000232c: 00054583 lbu a1,0(a0)
+80002330: 0106a023 sw a6,0(a3)
+80002334: 0116a223 sw a7,4(a3)
+80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64>
+8000233c: 02010113 addi sp,sp,32
+80002340: 00008067 ret
+
+80002344 <handle_fault>:
+80002344: ff010113 addi sp,sp,-16
+80002348: fffff6b7 lui a3,0xfffff
+8000234c: 00112623 sw ra,12(sp)
+80002350: 00812423 sw s0,8(sp)
+80002354: 00912223 sw s1,4(sp)
+80002358: 00d50733 add a4,a0,a3
+8000235c: 0003e7b7 lui a5,0x3e
+80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180>
+80002364: 00c55613 srli a2,a0,0xc
+80002368: 40060e13 addi t3,a2,1024
+8000236c: 00003317 auipc t1,0x3
+80002370: c9430313 addi t1,t1,-876 # 80005000 <pt>
+80002374: 002e1793 slli a5,t3,0x2
+80002378: 00f307b3 add a5,t1,a5
+8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000>
+80002380: 00d57533 and a0,a0,a3
+80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130>
+80002388: 00005797 auipc a5,0x5
+8000238c: 06c78793 addi a5,a5,108 # 800073f4 <freelist_head>
+80002390: 0007a583 lw a1,0(a5)
+80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0>
+80002398: 0045a783 lw a5,4(a1)
+8000239c: 00005717 auipc a4,0x5
+800023a0: 05470713 addi a4,a4,84 # 800073f0 <freelist_tail>
+800023a4: 00072703 lw a4,0(a4)
+800023a8: 00005697 auipc a3,0x5
+800023ac: 04f6a623 sw a5,76(a3) # 800073f4 <freelist_head>
+800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174>
+800023b4: 0005a703 lw a4,0(a1)
+800023b8: 002e1793 slli a5,t3,0x2
+800023bc: 00f307b3 add a5,t1,a5
+800023c0: 00c75713 srli a4,a4,0xc
+800023c4: 00a71713 slli a4,a4,0xa
+800023c8: 0df76e93 ori t4,a4,223
+800023cc: 01f76693 ori a3,a4,31
+800023d0: 01d7a023 sw t4,0(a5)
+800023d4: 12050073 sfence.vma a0
+800023d8: 00005717 auipc a4,0x5
+800023dc: e2070713 addi a4,a4,-480 # 800071f8 <user_mapping>
+800023e0: 00361793 slli a5,a2,0x3
+800023e4: 00f707b3 add a5,a4,a5
+800023e8: 0007a703 lw a4,0(a5)
+800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c>
+800023f0: 0005a703 lw a4,0(a1)
+800023f4: 00e7a023 sw a4,0(a5)
+800023f8: 0045a703 lw a4,4(a1)
+800023fc: 00e7a223 sw a4,4(a5)
+80002400: 000407b7 lui a5,0x40
+80002404: 1007a5f3 csrrs a1,sstatus,a5
+80002408: ffc007b7 lui a5,0xffc00
+8000240c: 00f507b3 add a5,a0,a5
+80002410: 00001637 lui a2,0x1
+80002414: 00050713 mv a4,a0
+80002418: 00c78633 add a2,a5,a2
+8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf8c08>
+80002420: 0047ae83 lw t4,4(a5)
+80002424: 0087a883 lw a7,8(a5)
+80002428: 00c7a803 lw a6,12(a5)
+8000242c: 01e72023 sw t5,0(a4)
+80002430: 01d72223 sw t4,4(a4)
+80002434: 01172423 sw a7,8(a4)
+80002438: 01072623 sw a6,12(a4)
+8000243c: 01078793 addi a5,a5,16
+80002440: 01070713 addi a4,a4,16
+80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8>
+80002448: 10059073 csrw sstatus,a1
+8000244c: 002e1e13 slli t3,t3,0x2
+80002450: 01c30333 add t1,t1,t3
+80002454: 00d32023 sw a3,0(t1)
+80002458: 12050073 sfence.vma a0
+8000245c: 0000100f fence.i
+80002460: 00c12083 lw ra,12(sp)
+80002464: 00812403 lw s0,8(sp)
+80002468: 00412483 lw s1,4(sp)
+8000246c: 01010113 addi sp,sp,16
+80002470: 00008067 ret
+80002474: 04077693 andi a3,a4,64
+80002478: 02069263 bnez a3,8000249c <handle_fault+0x158>
+8000247c: 04076713 ori a4,a4,64
+80002480: 00e7a023 sw a4,0(a5)
+80002484: 12050073 sfence.vma a0
+80002488: 00c12083 lw ra,12(sp)
+8000248c: 00812403 lw s0,8(sp)
+80002490: 00412483 lw s1,4(sp)
+80002494: 01010113 addi sp,sp,16
+80002498: 00008067 ret
+8000249c: 08077693 andi a3,a4,128
+800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8>
+800024a4: 00f00693 li a3,15
+800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8>
+800024ac: 08076713 ori a4,a4,128
+800024b0: 00e7a023 sw a4,0(a5)
+800024b4: fd1ff06f j 80002484 <handle_fault+0x140>
+800024b8: 00005797 auipc a5,0x5
+800024bc: f207ac23 sw zero,-200(a5) # 800073f0 <freelist_tail>
+800024c0: ef5ff06f j 800023b4 <handle_fault+0x70>
+800024c4: 04100513 li a0,65
+800024c8: 00001597 auipc a1,0x1
+800024cc: c0458593 addi a1,a1,-1020 # 800030cc <pass+0xc>
+800024d0: fffff697 auipc a3,0xfffff
+800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost>
+800024d8: fffff617 auipc a2,0xfffff
+800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost>
+800024e0: 0006a703 lw a4,0(a3)
+800024e4: 0046a783 lw a5,4(a3)
+800024e8: 00050313 mv t1,a0
+800024ec: 00158593 addi a1,a1,1
+800024f0: 00f76733 or a4,a4,a5
+800024f4: 010103b7 lui t2,0x1010
+800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8>
+800024fc: 00000793 li a5,0
+80002500: 00f62023 sw a5,0(a2)
+80002504: 00000813 li a6,0
+80002508: 01062223 sw a6,4(a2)
+8000250c: 0006a703 lw a4,0(a3)
+80002510: 0046a783 lw a5,4(a3)
+80002514: 00f76733 or a4,a4,a5
+80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8>
+8000251c: 0005c503 lbu a0,0(a1)
+80002520: 0066a023 sw t1,0(a3)
+80002524: 0076a223 sw t2,4(a3)
+80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c>
+8000252c: 00300513 li a0,3
+80002530: cf9ff0ef jal ra,80002228 <terminate>
+80002534: 04100513 li a0,65
+80002538: 00001597 auipc a1,0x1
+8000253c: c2058593 addi a1,a1,-992 # 80003158 <pass+0x98>
+80002540: fffff697 auipc a3,0xfffff
+80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost>
+80002548: fffff617 auipc a2,0xfffff
+8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost>
+80002550: 0006a703 lw a4,0(a3)
+80002554: 0046a783 lw a5,4(a3)
+80002558: 00050f13 mv t5,a0
+8000255c: 00158593 addi a1,a1,1
+80002560: 00f76733 or a4,a4,a5
+80002564: 01010fb7 lui t6,0x1010
+80002568: 02070263 beqz a4,8000258c <handle_fault+0x248>
+8000256c: 00000793 li a5,0
+80002570: 00f62023 sw a5,0(a2)
+80002574: 00000813 li a6,0
+80002578: 01062223 sw a6,4(a2)
+8000257c: 0006a703 lw a4,0(a3)
+80002580: 0046a783 lw a5,4(a3)
+80002584: 00f76733 or a4,a4,a5
+80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228>
+8000258c: 0005c503 lbu a0,0(a1)
+80002590: 01e6a023 sw t5,0(a3)
+80002594: 01f6a223 sw t6,4(a3)
+80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c>
+8000259c: f91ff06f j 8000252c <handle_fault+0x1e8>
+800025a0: 04100513 li a0,65
+800025a4: 00001597 auipc a1,0x1
+800025a8: bcc58593 addi a1,a1,-1076 # 80003170 <pass+0xb0>
+800025ac: fffff697 auipc a3,0xfffff
+800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost>
+800025b4: fffff617 auipc a2,0xfffff
+800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost>
+800025bc: 0006a703 lw a4,0(a3)
+800025c0: 0046a783 lw a5,4(a3)
+800025c4: 00050813 mv a6,a0
+800025c8: 00158593 addi a1,a1,1
+800025cc: 00f76733 or a4,a4,a5
+800025d0: 010108b7 lui a7,0x1010
+800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4>
+800025d8: 00000713 li a4,0
+800025dc: 00e62023 sw a4,0(a2)
+800025e0: 00000793 li a5,0
+800025e4: 00f62223 sw a5,4(a2)
+800025e8: 0006a703 lw a4,0(a3)
+800025ec: 0046a783 lw a5,4(a3)
+800025f0: 00f76733 or a4,a4,a5
+800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294>
+800025f8: 0005c503 lbu a0,0(a1)
+800025fc: 0106a023 sw a6,0(a3)
+80002600: 0116a223 sw a7,4(a3)
+80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278>
+80002608: f25ff06f j 8000252c <handle_fault+0x1e8>
+8000260c: 04100793 li a5,65
+80002610: 00001597 auipc a1,0x1
+80002614: b0058593 addi a1,a1,-1280 # 80003110 <pass+0x50>
+80002618: fffff697 auipc a3,0xfffff
+8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost>
+80002620: fffff617 auipc a2,0xfffff
+80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost>
+80002628: 0006a803 lw a6,0(a3)
+8000262c: 0046a883 lw a7,4(a3)
+80002630: 00078413 mv s0,a5
+80002634: 00158593 addi a1,a1,1
+80002638: 01186833 or a6,a6,a7
+8000263c: 010104b7 lui s1,0x1010
+80002640: 02080263 beqz a6,80002664 <handle_fault+0x320>
+80002644: 00000793 li a5,0
+80002648: 00f62023 sw a5,0(a2)
+8000264c: 00000813 li a6,0
+80002650: 01062223 sw a6,4(a2)
+80002654: 0006a703 lw a4,0(a3)
+80002658: 0046a783 lw a5,4(a3)
+8000265c: 00f76733 or a4,a4,a5
+80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300>
+80002664: 0005c783 lbu a5,0(a1)
+80002668: 0086a023 sw s0,0(a3)
+8000266c: 0096a223 sw s1,4(a3)
+80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4>
+80002674: eb9ff06f j 8000252c <handle_fault+0x1e8>
+
+80002678 <handle_trap>:
+80002678: 08c52583 lw a1,140(a0)
+8000267c: fb010113 addi sp,sp,-80
+80002680: 03412c23 sw s4,56(sp)
+80002684: 04112623 sw ra,76(sp)
+80002688: 04812423 sw s0,72(sp)
+8000268c: 04912223 sw s1,68(sp)
+80002690: 05212023 sw s2,64(sp)
+80002694: 03312e23 sw s3,60(sp)
+80002698: 03512a23 sw s5,52(sp)
+8000269c: 03612823 sw s6,48(sp)
+800026a0: 03712623 sw s7,44(sp)
+800026a4: 03812423 sw s8,40(sp)
+800026a8: 03912223 sw s9,36(sp)
+800026ac: 03a12023 sw s10,32(sp)
+800026b0: 01b12e23 sw s11,28(sp)
+800026b4: 00800793 li a5,8
+800026b8: 00050a13 mv s4,a0
+800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0>
+800026c0: 00200793 li a5,2
+800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac>
+800026c8: ff458793 addi a5,a1,-12
+800026cc: 00100713 li a4,1
+800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64>
+800026d4: 00f00793 li a5,15
+800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294>
+800026dc: 088a2503 lw a0,136(s4)
+800026e0: c65ff0ef jal ra,80002344 <handle_fault>
+800026e4: 04812403 lw s0,72(sp)
+800026e8: 04c12083 lw ra,76(sp)
+800026ec: 04412483 lw s1,68(sp)
+800026f0: 04012903 lw s2,64(sp)
+800026f4: 03c12983 lw s3,60(sp)
+800026f8: 03412a83 lw s5,52(sp)
+800026fc: 03012b03 lw s6,48(sp)
+80002700: 02c12b83 lw s7,44(sp)
+80002704: 02812c03 lw s8,40(sp)
+80002708: 02412c83 lw s9,36(sp)
+8000270c: 02012d03 lw s10,32(sp)
+80002710: 01c12d83 lw s11,28(sp)
+80002714: 000a0513 mv a0,s4
+80002718: 03812a03 lw s4,56(sp)
+8000271c: 05010113 addi sp,sp,80
+80002720: 91dfd06f j 8000003c <pop_tf>
+80002724: 08452703 lw a4,132(a0)
+80002728: 00377793 andi a5,a4,3
+8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144>
+80002730: 008007ef jal a5,80002738 <handle_trap+0xc0>
+80002734: 00301073 fssr zero
+80002738: 00072703 lw a4,0(a4)
+8000273c: 0007a783 lw a5,0(a5)
+80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c>
+80002744: 04100513 li a0,65
+80002748: 00001597 auipc a1,0x1
+8000274c: af058593 addi a1,a1,-1296 # 80003238 <pass+0x178>
+80002750: fffff697 auipc a3,0xfffff
+80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost>
+80002758: fffff617 auipc a2,0xfffff
+8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost>
+80002760: 0006a703 lw a4,0(a3)
+80002764: 0046a783 lw a5,4(a3)
+80002768: 00050813 mv a6,a0
+8000276c: 00158593 addi a1,a1,1
+80002770: 00f76733 or a4,a4,a5
+80002774: 010108b7 lui a7,0x1010
+80002778: 02070263 beqz a4,8000279c <handle_trap+0x124>
+8000277c: 00000713 li a4,0
+80002780: 00e62023 sw a4,0(a2)
+80002784: 00000793 li a5,0
+80002788: 00f62223 sw a5,4(a2)
+8000278c: 0006a703 lw a4,0(a3)
+80002790: 0046a783 lw a5,4(a3)
+80002794: 00f76733 or a4,a4,a5
+80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104>
+8000279c: 0005c503 lbu a0,0(a1)
+800027a0: 0106a023 sw a6,0(a3)
+800027a4: 0116a223 sw a7,4(a3)
+800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8>
+800027ac: 00300513 li a0,3
+800027b0: a79ff0ef jal ra,80002228 <terminate>
+800027b4: 00100513 li a0,1
+800027b8: a71ff0ef jal ra,80002228 <terminate>
+800027bc: 00001597 auipc a1,0x1
+800027c0: a5858593 addi a1,a1,-1448 # 80003214 <pass+0x154>
+800027c4: 04100613 li a2,65
+800027c8: fffff697 auipc a3,0xfffff
+800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost>
+800027d0: fffff517 auipc a0,0xfffff
+800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost>
+800027d8: 0006a703 lw a4,0(a3)
+800027dc: 0046a783 lw a5,4(a3)
+800027e0: 00060e13 mv t3,a2
+800027e4: 00158593 addi a1,a1,1
+800027e8: 00f76733 or a4,a4,a5
+800027ec: 01010eb7 lui t4,0x1010
+800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c>
+800027f4: 00000793 li a5,0
+800027f8: 00f52023 sw a5,0(a0)
+800027fc: 00000813 li a6,0
+80002800: 01052223 sw a6,4(a0)
+80002804: 0006a703 lw a4,0(a3)
+80002808: 0046a783 lw a5,4(a3)
+8000280c: 00f76733 or a4,a4,a5
+80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c>
+80002814: 0005c603 lbu a2,0(a1)
+80002818: 01c6a023 sw t3,0(a3)
+8000281c: 01d6a223 sw t4,4(a3)
+80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160>
+80002824: f89ff06f j 800027ac <handle_trap+0x134>
+80002828: 02852783 lw a5,40(a0)
+8000282c: 00001a37 lui s4,0x1
+80002830: 00005b17 auipc s6,0x5
+80002834: 9c8b0b13 addi s6,s6,-1592 # 800071f8 <user_mapping>
+80002838: 00f12223 sw a5,4(sp)
+8000283c: 00002d17 auipc s10,0x2
+80002840: 7c4d0d13 addi s10,s10,1988 # 80005000 <pt>
+80002844: 00040cb7 lui s9,0x40
+80002848: ffc00c37 lui s8,0xffc00
+8000284c: 0003fab7 lui s5,0x3f
+80002850: 01c0006f j 8000286c <handle_trap+0x1f4>
+80002854: 00f72223 sw a5,4(a4)
+80002858: 00005717 auipc a4,0x5
+8000285c: b8f72c23 sw a5,-1128(a4) # 800073f0 <freelist_tail>
+80002860: 000017b7 lui a5,0x1
+80002864: 00fa0a33 add s4,s4,a5
+80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398>
+8000286c: 00ca5713 srli a4,s4,0xc
+80002870: 00371b93 slli s7,a4,0x3
+80002874: 017b0633 add a2,s6,s7
+80002878: 00062603 lw a2,0(a2)
+8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8>
+80002880: 40070713 addi a4,a4,1024
+80002884: 00271713 slli a4,a4,0x2
+80002888: 00ed0733 add a4,s10,a4
+8000288c: 00072703 lw a4,0(a4)
+80002890: 04077613 andi a2,a4,64
+80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c>
+80002898: 00e12623 sw a4,12(sp)
+8000289c: 100cadf3 csrrs s11,sstatus,s9
+800028a0: 018a0833 add a6,s4,s8
+800028a4: 00001637 lui a2,0x1
+800028a8: 00080593 mv a1,a6
+800028ac: 000a0513 mv a0,s4
+800028b0: 01012423 sw a6,8(sp)
+800028b4: 855ff0ef jal ra,80002108 <memcmp>
+800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264>
+800028bc: 00c12703 lw a4,12(sp)
+800028c0: 00812803 lw a6,8(sp)
+800028c4: 08077713 andi a4,a4,128
+800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300>
+800028cc: 00001637 lui a2,0x1
+800028d0: 00080593 mv a1,a6
+800028d4: 000a0513 mv a0,s4
+800028d8: f28ff0ef jal ra,80002000 <memcpy>
+800028dc: 017b07b3 add a5,s6,s7
+800028e0: 100d9073 csrw sstatus,s11
+800028e4: 00005717 auipc a4,0x5
+800028e8: b0c70713 addi a4,a4,-1268 # 800073f0 <freelist_tail>
+800028ec: 00072703 lw a4,0(a4)
+800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000>
+800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc>
+800028f8: 00005717 auipc a4,0x5
+800028fc: aef72c23 sw a5,-1288(a4) # 800073f0 <freelist_tail>
+80002900: 00005717 auipc a4,0x5
+80002904: aef72a23 sw a5,-1292(a4) # 800073f4 <freelist_head>
+80002908: f59ff06f j 80002860 <handle_trap+0x1e8>
+8000290c: 04100593 li a1,65
+80002910: 00001617 auipc a2,0x1
+80002914: 95460613 addi a2,a2,-1708 # 80003264 <pass+0x1a4>
+80002918: ffffe697 auipc a3,0xffffe
+8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost>
+80002920: ffffe517 auipc a0,0xffffe
+80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost>
+80002928: 0006a703 lw a4,0(a3)
+8000292c: 0046a783 lw a5,4(a3)
+80002930: 00058313 mv t1,a1
+80002934: 00160613 addi a2,a2,1
+80002938: 00f76733 or a4,a4,a5
+8000293c: 010103b7 lui t2,0x1010
+80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec>
+80002944: 00000793 li a5,0
+80002948: 00f52023 sw a5,0(a0)
+8000294c: 00000813 li a6,0
+80002950: 01052223 sw a6,4(a0)
+80002954: 0006a703 lw a4,0(a3)
+80002958: 0046a783 lw a5,4(a3)
+8000295c: 00f76733 or a4,a4,a5
+80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc>
+80002964: 00064583 lbu a1,0(a2)
+80002968: 0066a023 sw t1,0(a3)
+8000296c: 0076a223 sw t2,4(a3)
+80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0>
+80002974: e39ff06f j 800027ac <handle_trap+0x134>
+80002978: 04100793 li a5,65
+8000297c: 00001617 auipc a2,0x1
+80002980: 86460613 addi a2,a2,-1948 # 800031e0 <pass+0x120>
+80002984: ffffe697 auipc a3,0xffffe
+80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost>
+8000298c: ffffe597 auipc a1,0xffffe
+80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost>
+80002994: 00078413 mv s0,a5
+80002998: 00160613 addi a2,a2,1
+8000299c: 010104b7 lui s1,0x1010
+800029a0: 0006a703 lw a4,0(a3)
+800029a4: 0046a783 lw a5,4(a3)
+800029a8: 00f76733 or a4,a4,a5
+800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0>
+800029b0: 00000793 li a5,0
+800029b4: 00000813 li a6,0
+800029b8: 00f5a023 sw a5,0(a1)
+800029bc: 0105a223 sw a6,4(a1)
+800029c0: fe1ff06f j 800029a0 <handle_trap+0x328>
+800029c4: 04100793 li a5,65
+800029c8: 00000617 auipc a2,0x0
+800029cc: 7e460613 addi a2,a2,2020 # 800031ac <pass+0xec>
+800029d0: ffffe697 auipc a3,0xffffe
+800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost>
+800029d8: ffffe597 auipc a1,0xffffe
+800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost>
+800029e0: 00078913 mv s2,a5
+800029e4: 00160613 addi a2,a2,1
+800029e8: 010109b7 lui s3,0x1010
+800029ec: 0006a703 lw a4,0(a3)
+800029f0: 0046a783 lw a5,4(a3)
+800029f4: 00f76733 or a4,a4,a5
+800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4>
+800029fc: 00000793 li a5,0
+80002a00: 00000813 li a6,0
+80002a04: 00f5a023 sw a5,0(a1)
+80002a08: 0105a223 sw a6,4(a1)
+80002a0c: fe1ff06f j 800029ec <handle_trap+0x374>
+80002a10: 00412503 lw a0,4(sp)
+80002a14: 815ff0ef jal ra,80002228 <terminate>
+80002a18: 00064783 lbu a5,0(a2)
+80002a1c: 0086a023 sw s0,0(a3)
+80002a20: 0096a223 sw s1,4(a3)
+80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c>
+80002a28: d85ff06f j 800027ac <handle_trap+0x134>
+80002a2c: 00064783 lbu a5,0(a2)
+80002a30: 0126a023 sw s2,0(a3)
+80002a34: 0136a223 sw s3,4(a3)
+80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368>
+80002a3c: d71ff06f j 800027ac <handle_trap+0x134>
+
+80002a40 <vm_boot>:
+80002a40: f14027f3 csrr a5,mhartid
+80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158>
+80002a48: 00003797 auipc a5,0x3
+80002a4c: 5b878793 addi a5,a5,1464 # 80006000 <pt+0x1000>
+80002a50: 00c7d793 srli a5,a5,0xc
+80002a54: 00a79793 slli a5,a5,0xa
+80002a58: 0017e793 ori a5,a5,1
+80002a5c: 00002697 auipc a3,0x2
+80002a60: 5af6a223 sw a5,1444(a3) # 80005000 <pt>
+80002a64: 200007b7 lui a5,0x20000
+80002a68: 00002717 auipc a4,0x2
+80002a6c: 59870713 addi a4,a4,1432 # 80005000 <pt>
+80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31>
+80002a74: f6010113 addi sp,sp,-160
+80002a78: 00003697 auipc a3,0x3
+80002a7c: 58f6a223 sw a5,1412(a3) # 80005ffc <pt+0xffc>
+80002a80: 00c75793 srli a5,a4,0xc
+80002a84: 80000737 lui a4,0x80000
+80002a88: 08112e23 sw ra,156(sp)
+80002a8c: 08812c23 sw s0,152(sp)
+80002a90: 00e7e7b3 or a5,a5,a4
+80002a94: 18079073 csrw satp,a5
+80002a98: 01f00793 li a5,31
+80002a9c: fff00713 li a4,-1
+80002aa0: 00000297 auipc t0,0x0
+80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74>
+80002aa8: 305292f3 csrrw t0,mtvec,t0
+80002aac: 3b071073 csrw pmpaddr0,a4
+80002ab0: 3a079073 csrw pmpcfg0,a5
+80002ab4: 7fbfd797 auipc a5,0x7fbfd
+80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf8ccc>
+80002abc: 10579073 csrw stvec,a5
+80002ac0: 340027f3 csrr a5,mscratch
+80002ac4: 7fc00837 lui a6,0x7fc00
+80002ac8: 010787b3 add a5,a5,a6
+80002acc: 14079073 csrw sscratch,a5
+80002ad0: 0000b7b7 lui a5,0xb
+80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00>
+80002ad8: 30279073 csrw medeleg,a5
+80002adc: 0001e7b7 lui a5,0x1e
+80002ae0: 30079073 csrw mstatus,a5
+80002ae4: 30405073 csrwi mie,0
+80002ae8: 7fc04797 auipc a5,0x7fc04
+80002aec: 51878793 addi a5,a5,1304 # ffc07000 <_end+0x7fbffc08>
+80002af0: 00005717 auipc a4,0x5
+80002af4: 90f72223 sw a5,-1788(a4) # 800073f4 <freelist_head>
+80002af8: 7fc04797 auipc a5,0x7fc04
+80002afc: 6f878793 addi a5,a5,1784 # ffc071f0 <_end+0x7fbffdf8>
+80002b00: 00005717 auipc a4,0x5
+80002b04: 8ef72823 sw a5,-1808(a4) # 800073f0 <freelist_tail>
+80002b08: 000808b7 lui a7,0x80
+80002b0c: 00004717 auipc a4,0x4
+80002b10: 4f470713 addi a4,a4,1268 # 80007000 <freelist_nodes>
+80002b14: 00004317 auipc t1,0x4
+80002b18: 6e430313 addi t1,t1,1764 # 800071f8 <user_mapping>
+80002b1c: 00100793 li a5,1
+80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1>
+80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8>
+80002b28: 0017d613 srli a2,a5,0x1
+80002b2c: 011786b3 add a3,a5,a7
+80002b30: 00f647b3 xor a5,a2,a5
+80002b34: 010705b3 add a1,a4,a6
+80002b38: 00c69693 slli a3,a3,0xc
+80002b3c: 00579793 slli a5,a5,0x5
+80002b40: 00d72023 sw a3,0(a4)
+80002b44: 00b72223 sw a1,4(a4)
+80002b48: 0207f793 andi a5,a5,32
+80002b4c: 00870713 addi a4,a4,8
+80002b50: 00f667b3 or a5,a2,a5
+80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8>
+80002b58: 00050413 mv s0,a0
+80002b5c: 09000613 li a2,144
+80002b60: 00000593 li a1,0
+80002b64: 00010513 mv a0,sp
+80002b68: 00004797 auipc a5,0x4
+80002b6c: 6807a623 sw zero,1676(a5) # 800071f4 <freelist_nodes+0x1f4>
+80002b70: cecff0ef jal ra,8000205c <memset>
+80002b74: 800007b7 lui a5,0x80000
+80002b78: 00f40433 add s0,s0,a5
+80002b7c: 00010513 mv a0,sp
+80002b80: 08812223 sw s0,132(sp)
+80002b84: cb8fd0ef jal ra,8000003c <pop_tf>
+80002b88: 09c12083 lw ra,156(sp)
+80002b8c: 09812403 lw s0,152(sp)
+80002b90: 0a010113 addi sp,sp,160
+80002b94: 00008067 ret
+80002b98: 0f1707b7 lui a5,0xf170
+80002b9c: 00080637 lui a2,0x80
+80002ba0: 0b878793 addi a5,a5,184 # f1700b8 <_start-0x70e8ff48>
+80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004>
+80002ba8: 800005b7 lui a1,0x80000
+80002bac: 00c7f733 and a4,a5,a2
+80002bb0: 0017f693 andi a3,a5,1
+80002bb4: 00b70733 add a4,a4,a1
+80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194>
+80002bbc: 0007202f amoadd.w zero,zero,(a4)
+80002bc0: 0017d793 srli a5,a5,0x1
+80002bc4: 00c7f733 and a4,a5,a2
+80002bc8: 0017f693 andi a3,a5,1
+80002bcc: 00b70733 add a4,a4,a1
+80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c>
+80002bd4: 00072003 lw zero,0(a4)
+80002bd8: 0017d793 srli a5,a5,0x1
+80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184>
+
+80002be0 <userstart>:
+80002be0: 00301073 fssr zero
+
+80002be4 <test_2>:
+80002be4: 00200193 li gp,2
+80002be8: 00001517 auipc a0,0x1
+80002bec: 41850513 addi a0,a0,1048 # 80004000 <test_2_data>
+80002bf0: 00053007 fld ft0,0(a0)
+80002bf4: 00853087 fld ft1,8(a0)
+80002bf8: 01053107 fld ft2,16(a0)
+80002bfc: 01852683 lw a3,24(a0)
+80002c00: 01c52303 lw t1,28(a0)
+80002c04: 2a1001d3 fmin.d ft3,ft0,ft1
+80002c08: 00353027 fsd ft3,0(a0)
+80002c0c: 00452383 lw t2,4(a0)
+80002c10: 00052503 lw a0,0(a0)
+80002c14: 001015f3 fsflags a1,zero
+80002c18: 00000613 li a2,0
+80002c1c: 48d51a63 bne a0,a3,800030b0 <fail>
+80002c20: 48731863 bne t1,t2,800030b0 <fail>
+80002c24: 48c59663 bne a1,a2,800030b0 <fail>
+
+80002c28 <test_3>:
+80002c28: 00300193 li gp,3
+80002c2c: 00001517 auipc a0,0x1
+80002c30: 3f450513 addi a0,a0,1012 # 80004020 <test_3_data>
+80002c34: 00053007 fld ft0,0(a0)
+80002c38: 00853087 fld ft1,8(a0)
+80002c3c: 01053107 fld ft2,16(a0)
+80002c40: 01852683 lw a3,24(a0)
+80002c44: 01c52303 lw t1,28(a0)
+80002c48: 2a1001d3 fmin.d ft3,ft0,ft1
+80002c4c: 00353027 fsd ft3,0(a0)
+80002c50: 00452383 lw t2,4(a0)
+80002c54: 00052503 lw a0,0(a0)
+80002c58: 001015f3 fsflags a1,zero
+80002c5c: 00000613 li a2,0
+80002c60: 44d51863 bne a0,a3,800030b0 <fail>
+80002c64: 44731663 bne t1,t2,800030b0 <fail>
+80002c68: 44c59463 bne a1,a2,800030b0 <fail>
+
+80002c6c <test_4>:
+80002c6c: 00400193 li gp,4
+80002c70: 00001517 auipc a0,0x1
+80002c74: 3d050513 addi a0,a0,976 # 80004040 <test_4_data>
+80002c78: 00053007 fld ft0,0(a0)
+80002c7c: 00853087 fld ft1,8(a0)
+80002c80: 01053107 fld ft2,16(a0)
+80002c84: 01852683 lw a3,24(a0)
+80002c88: 01c52303 lw t1,28(a0)
+80002c8c: 2a1001d3 fmin.d ft3,ft0,ft1
+80002c90: 00353027 fsd ft3,0(a0)
+80002c94: 00452383 lw t2,4(a0)
+80002c98: 00052503 lw a0,0(a0)
+80002c9c: 001015f3 fsflags a1,zero
+80002ca0: 00000613 li a2,0
+80002ca4: 40d51663 bne a0,a3,800030b0 <fail>
+80002ca8: 40731463 bne t1,t2,800030b0 <fail>
+80002cac: 40c59263 bne a1,a2,800030b0 <fail>
+
+80002cb0 <test_5>:
+80002cb0: 00500193 li gp,5
+80002cb4: 00001517 auipc a0,0x1
+80002cb8: 3ac50513 addi a0,a0,940 # 80004060 <test_5_data>
+80002cbc: 00053007 fld ft0,0(a0)
+80002cc0: 00853087 fld ft1,8(a0)
+80002cc4: 01053107 fld ft2,16(a0)
+80002cc8: 01852683 lw a3,24(a0)
+80002ccc: 01c52303 lw t1,28(a0)
+80002cd0: 2a1001d3 fmin.d ft3,ft0,ft1
+80002cd4: 00353027 fsd ft3,0(a0)
+80002cd8: 00452383 lw t2,4(a0)
+80002cdc: 00052503 lw a0,0(a0)
+80002ce0: 001015f3 fsflags a1,zero
+80002ce4: 00000613 li a2,0
+80002ce8: 3cd51463 bne a0,a3,800030b0 <fail>
+80002cec: 3c731263 bne t1,t2,800030b0 <fail>
+80002cf0: 3cc59063 bne a1,a2,800030b0 <fail>
+
+80002cf4 <test_6>:
+80002cf4: 00600193 li gp,6
+80002cf8: 00001517 auipc a0,0x1
+80002cfc: 38850513 addi a0,a0,904 # 80004080 <test_6_data>
+80002d00: 00053007 fld ft0,0(a0)
+80002d04: 00853087 fld ft1,8(a0)
+80002d08: 01053107 fld ft2,16(a0)
+80002d0c: 01852683 lw a3,24(a0)
+80002d10: 01c52303 lw t1,28(a0)
+80002d14: 2a1001d3 fmin.d ft3,ft0,ft1
+80002d18: 00353027 fsd ft3,0(a0)
+80002d1c: 00452383 lw t2,4(a0)
+80002d20: 00052503 lw a0,0(a0)
+80002d24: 001015f3 fsflags a1,zero
+80002d28: 00000613 li a2,0
+80002d2c: 38d51263 bne a0,a3,800030b0 <fail>
+80002d30: 38731063 bne t1,t2,800030b0 <fail>
+80002d34: 36c59e63 bne a1,a2,800030b0 <fail>
+
+80002d38 <test_7>:
+80002d38: 00700193 li gp,7
+80002d3c: 00001517 auipc a0,0x1
+80002d40: 36450513 addi a0,a0,868 # 800040a0 <test_7_data>
+80002d44: 00053007 fld ft0,0(a0)
+80002d48: 00853087 fld ft1,8(a0)
+80002d4c: 01053107 fld ft2,16(a0)
+80002d50: 01852683 lw a3,24(a0)
+80002d54: 01c52303 lw t1,28(a0)
+80002d58: 2a1001d3 fmin.d ft3,ft0,ft1
+80002d5c: 00353027 fsd ft3,0(a0)
+80002d60: 00452383 lw t2,4(a0)
+80002d64: 00052503 lw a0,0(a0)
+80002d68: 001015f3 fsflags a1,zero
+80002d6c: 00000613 li a2,0
+80002d70: 34d51063 bne a0,a3,800030b0 <fail>
+80002d74: 32731e63 bne t1,t2,800030b0 <fail>
+80002d78: 32c59c63 bne a1,a2,800030b0 <fail>
+
+80002d7c <test_12>:
+80002d7c: 00c00193 li gp,12
+80002d80: 00001517 auipc a0,0x1
+80002d84: 34050513 addi a0,a0,832 # 800040c0 <test_12_data>
+80002d88: 00053007 fld ft0,0(a0)
+80002d8c: 00853087 fld ft1,8(a0)
+80002d90: 01053107 fld ft2,16(a0)
+80002d94: 01852683 lw a3,24(a0)
+80002d98: 01c52303 lw t1,28(a0)
+80002d9c: 2a1011d3 fmax.d ft3,ft0,ft1
+80002da0: 00353027 fsd ft3,0(a0)
+80002da4: 00452383 lw t2,4(a0)
+80002da8: 00052503 lw a0,0(a0)
+80002dac: 001015f3 fsflags a1,zero
+80002db0: 00000613 li a2,0
+80002db4: 2ed51e63 bne a0,a3,800030b0 <fail>
+80002db8: 2e731c63 bne t1,t2,800030b0 <fail>
+80002dbc: 2ec59a63 bne a1,a2,800030b0 <fail>
+
+80002dc0 <test_13>:
+80002dc0: 00d00193 li gp,13
+80002dc4: 00001517 auipc a0,0x1
+80002dc8: 31c50513 addi a0,a0,796 # 800040e0 <test_13_data>
+80002dcc: 00053007 fld ft0,0(a0)
+80002dd0: 00853087 fld ft1,8(a0)
+80002dd4: 01053107 fld ft2,16(a0)
+80002dd8: 01852683 lw a3,24(a0)
+80002ddc: 01c52303 lw t1,28(a0)
+80002de0: 2a1011d3 fmax.d ft3,ft0,ft1
+80002de4: 00353027 fsd ft3,0(a0)
+80002de8: 00452383 lw t2,4(a0)
+80002dec: 00052503 lw a0,0(a0)
+80002df0: 001015f3 fsflags a1,zero
+80002df4: 00000613 li a2,0
+80002df8: 2ad51c63 bne a0,a3,800030b0 <fail>
+80002dfc: 2a731a63 bne t1,t2,800030b0 <fail>
+80002e00: 2ac59863 bne a1,a2,800030b0 <fail>
+
+80002e04 <test_14>:
+80002e04: 00e00193 li gp,14
+80002e08: 00001517 auipc a0,0x1
+80002e0c: 2f850513 addi a0,a0,760 # 80004100 <test_14_data>
+80002e10: 00053007 fld ft0,0(a0)
+80002e14: 00853087 fld ft1,8(a0)
+80002e18: 01053107 fld ft2,16(a0)
+80002e1c: 01852683 lw a3,24(a0)
+80002e20: 01c52303 lw t1,28(a0)
+80002e24: 2a1011d3 fmax.d ft3,ft0,ft1
+80002e28: 00353027 fsd ft3,0(a0)
+80002e2c: 00452383 lw t2,4(a0)
+80002e30: 00052503 lw a0,0(a0)
+80002e34: 001015f3 fsflags a1,zero
+80002e38: 00000613 li a2,0
+80002e3c: 26d51a63 bne a0,a3,800030b0 <fail>
+80002e40: 26731863 bne t1,t2,800030b0 <fail>
+80002e44: 26c59663 bne a1,a2,800030b0 <fail>
+
+80002e48 <test_15>:
+80002e48: 00f00193 li gp,15
+80002e4c: 00001517 auipc a0,0x1
+80002e50: 2d450513 addi a0,a0,724 # 80004120 <test_15_data>
+80002e54: 00053007 fld ft0,0(a0)
+80002e58: 00853087 fld ft1,8(a0)
+80002e5c: 01053107 fld ft2,16(a0)
+80002e60: 01852683 lw a3,24(a0)
+80002e64: 01c52303 lw t1,28(a0)
+80002e68: 2a1011d3 fmax.d ft3,ft0,ft1
+80002e6c: 00353027 fsd ft3,0(a0)
+80002e70: 00452383 lw t2,4(a0)
+80002e74: 00052503 lw a0,0(a0)
+80002e78: 001015f3 fsflags a1,zero
+80002e7c: 00000613 li a2,0
+80002e80: 22d51863 bne a0,a3,800030b0 <fail>
+80002e84: 22731663 bne t1,t2,800030b0 <fail>
+80002e88: 22c59463 bne a1,a2,800030b0 <fail>
+
+80002e8c <test_16>:
+80002e8c: 01000193 li gp,16
+80002e90: 00001517 auipc a0,0x1
+80002e94: 2b050513 addi a0,a0,688 # 80004140 <test_16_data>
+80002e98: 00053007 fld ft0,0(a0)
+80002e9c: 00853087 fld ft1,8(a0)
+80002ea0: 01053107 fld ft2,16(a0)
+80002ea4: 01852683 lw a3,24(a0)
+80002ea8: 01c52303 lw t1,28(a0)
+80002eac: 2a1011d3 fmax.d ft3,ft0,ft1
+80002eb0: 00353027 fsd ft3,0(a0)
+80002eb4: 00452383 lw t2,4(a0)
+80002eb8: 00052503 lw a0,0(a0)
+80002ebc: 001015f3 fsflags a1,zero
+80002ec0: 00000613 li a2,0
+80002ec4: 1ed51663 bne a0,a3,800030b0 <fail>
+80002ec8: 1e731463 bne t1,t2,800030b0 <fail>
+80002ecc: 1ec59263 bne a1,a2,800030b0 <fail>
+
+80002ed0 <test_17>:
+80002ed0: 01100193 li gp,17
+80002ed4: 00001517 auipc a0,0x1
+80002ed8: 28c50513 addi a0,a0,652 # 80004160 <test_17_data>
+80002edc: 00053007 fld ft0,0(a0)
+80002ee0: 00853087 fld ft1,8(a0)
+80002ee4: 01053107 fld ft2,16(a0)
+80002ee8: 01852683 lw a3,24(a0)
+80002eec: 01c52303 lw t1,28(a0)
+80002ef0: 2a1011d3 fmax.d ft3,ft0,ft1
+80002ef4: 00353027 fsd ft3,0(a0)
+80002ef8: 00452383 lw t2,4(a0)
+80002efc: 00052503 lw a0,0(a0)
+80002f00: 001015f3 fsflags a1,zero
+80002f04: 00000613 li a2,0
+80002f08: 1ad51463 bne a0,a3,800030b0 <fail>
+80002f0c: 1a731263 bne t1,t2,800030b0 <fail>
+80002f10: 1ac59063 bne a1,a2,800030b0 <fail>
+
+80002f14 <test_20>:
+80002f14: 01400193 li gp,20
+80002f18: 00001517 auipc a0,0x1
+80002f1c: 26850513 addi a0,a0,616 # 80004180 <test_20_data>
+80002f20: 00053007 fld ft0,0(a0)
+80002f24: 00853087 fld ft1,8(a0)
+80002f28: 01053107 fld ft2,16(a0)
+80002f2c: 01852683 lw a3,24(a0)
+80002f30: 01c52303 lw t1,28(a0)
+80002f34: 2a1011d3 fmax.d ft3,ft0,ft1
+80002f38: 00353027 fsd ft3,0(a0)
+80002f3c: 00452383 lw t2,4(a0)
+80002f40: 00052503 lw a0,0(a0)
+80002f44: 001015f3 fsflags a1,zero
+80002f48: 01000613 li a2,16
+80002f4c: 16d51263 bne a0,a3,800030b0 <fail>
+80002f50: 16731063 bne t1,t2,800030b0 <fail>
+80002f54: 14c59e63 bne a1,a2,800030b0 <fail>
+
+80002f58 <test_21>:
+80002f58: 01500193 li gp,21
+80002f5c: 00001517 auipc a0,0x1
+80002f60: 24450513 addi a0,a0,580 # 800041a0 <test_21_data>
+80002f64: 00053007 fld ft0,0(a0)
+80002f68: 00853087 fld ft1,8(a0)
+80002f6c: 01053107 fld ft2,16(a0)
+80002f70: 01852683 lw a3,24(a0)
+80002f74: 01c52303 lw t1,28(a0)
+80002f78: 2a1011d3 fmax.d ft3,ft0,ft1
+80002f7c: 00353027 fsd ft3,0(a0)
+80002f80: 00452383 lw t2,4(a0)
+80002f84: 00052503 lw a0,0(a0)
+80002f88: 001015f3 fsflags a1,zero
+80002f8c: 00000613 li a2,0
+80002f90: 12d51063 bne a0,a3,800030b0 <fail>
+80002f94: 10731e63 bne t1,t2,800030b0 <fail>
+80002f98: 10c59c63 bne a1,a2,800030b0 <fail>
+
+80002f9c <test_30>:
+80002f9c: 01e00193 li gp,30
+80002fa0: 00001517 auipc a0,0x1
+80002fa4: 22050513 addi a0,a0,544 # 800041c0 <test_30_data>
+80002fa8: 00053007 fld ft0,0(a0)
+80002fac: 00853087 fld ft1,8(a0)
+80002fb0: 01053107 fld ft2,16(a0)
+80002fb4: 01852683 lw a3,24(a0)
+80002fb8: 01c52303 lw t1,28(a0)
+80002fbc: 2a1001d3 fmin.d ft3,ft0,ft1
+80002fc0: 00353027 fsd ft3,0(a0)
+80002fc4: 00452383 lw t2,4(a0)
+80002fc8: 00052503 lw a0,0(a0)
+80002fcc: 001015f3 fsflags a1,zero
+80002fd0: 00000613 li a2,0
+80002fd4: 0cd51e63 bne a0,a3,800030b0 <fail>
+80002fd8: 0c731c63 bne t1,t2,800030b0 <fail>
+80002fdc: 0cc59a63 bne a1,a2,800030b0 <fail>
+
+80002fe0 <test_31>:
+80002fe0: 01f00193 li gp,31
+80002fe4: 00001517 auipc a0,0x1
+80002fe8: 1fc50513 addi a0,a0,508 # 800041e0 <test_31_data>
+80002fec: 00053007 fld ft0,0(a0)
+80002ff0: 00853087 fld ft1,8(a0)
+80002ff4: 01053107 fld ft2,16(a0)
+80002ff8: 01852683 lw a3,24(a0)
+80002ffc: 01c52303 lw t1,28(a0)
+80003000: 2a1001d3 fmin.d ft3,ft0,ft1
+80003004: 00353027 fsd ft3,0(a0)
+80003008: 00452383 lw t2,4(a0)
+8000300c: 00052503 lw a0,0(a0)
+80003010: 001015f3 fsflags a1,zero
+80003014: 00000613 li a2,0
+80003018: 08d51c63 bne a0,a3,800030b0 <fail>
+8000301c: 08731a63 bne t1,t2,800030b0 <fail>
+80003020: 08c59863 bne a1,a2,800030b0 <fail>
+
+80003024 <test_32>:
+80003024: 02000193 li gp,32
+80003028: 00001517 auipc a0,0x1
+8000302c: 1d850513 addi a0,a0,472 # 80004200 <test_32_data>
+80003030: 00053007 fld ft0,0(a0)
+80003034: 00853087 fld ft1,8(a0)
+80003038: 01053107 fld ft2,16(a0)
+8000303c: 01852683 lw a3,24(a0)
+80003040: 01c52303 lw t1,28(a0)
+80003044: 2a1011d3 fmax.d ft3,ft0,ft1
+80003048: 00353027 fsd ft3,0(a0)
+8000304c: 00452383 lw t2,4(a0)
+80003050: 00052503 lw a0,0(a0)
+80003054: 001015f3 fsflags a1,zero
+80003058: 00000613 li a2,0
+8000305c: 04d51a63 bne a0,a3,800030b0 <fail>
+80003060: 04731863 bne t1,t2,800030b0 <fail>
+80003064: 04c59663 bne a1,a2,800030b0 <fail>
+
+80003068 <test_33>:
+80003068: 02100193 li gp,33
+8000306c: 00001517 auipc a0,0x1
+80003070: 1b450513 addi a0,a0,436 # 80004220 <test_33_data>
+80003074: 00053007 fld ft0,0(a0)
+80003078: 00853087 fld ft1,8(a0)
+8000307c: 01053107 fld ft2,16(a0)
+80003080: 01852683 lw a3,24(a0)
+80003084: 01c52303 lw t1,28(a0)
+80003088: 2a1011d3 fmax.d ft3,ft0,ft1
+8000308c: 00353027 fsd ft3,0(a0)
+80003090: 00452383 lw t2,4(a0)
+80003094: 00052503 lw a0,0(a0)
+80003098: 001015f3 fsflags a1,zero
+8000309c: 00000613 li a2,0
+800030a0: 00d51863 bne a0,a3,800030b0 <fail>
+800030a4: 00731663 bne t1,t2,800030b0 <fail>
+800030a8: 00c59463 bne a1,a2,800030b0 <fail>
+800030ac: 00301a63 bne zero,gp,800030c0 <pass>
+
+800030b0 <fail>:
+800030b0: 00119513 slli a0,gp,0x1
+800030b4: 00050063 beqz a0,800030b4 <fail+0x4>
+800030b8: 00156513 ori a0,a0,1
+800030bc: 00000073 ecall
+
+800030c0 <pass>:
+800030c0: 00100513 li a0,1
+800030c4: 00000073 ecall
+800030c8: c0001073 unimp
+
+Disassembly of section .data:
+
+80004000 <test_2_data>:
+80004000: 0000 unimp
+80004002: 0000 unimp
+80004004: 0000 unimp
+80004006: 4004 lw s1,0(s0)
+80004008: 0000 unimp
+8000400a: 0000 unimp
+8000400c: 0000 unimp
+8000400e: 3ff0 fld fa2,248(a5)
+80004010: 0000 unimp
+80004012: 0000 unimp
+80004014: 0000 unimp
+80004016: 0000 unimp
+80004018: 0000 unimp
+8000401a: 0000 unimp
+8000401c: 0000 unimp
+8000401e: 3ff0 fld fa2,248(a5)
+
+80004020 <test_3_data>:
+80004020: 6666 flw fa2,88(sp)
+80004022: 6666 flw fa2,88(sp)
+80004024: 4c66 lw s8,88(sp)
+80004026: 999ac093 xori ra,s5,-1639
+8000402a: 9999 andi a1,a1,-26
+8000402c: 9999 andi a1,a1,-26
+8000402e: 3ff1 jal 8000400a <test_2_data+0xa>
+80004030: 0000 unimp
+80004032: 0000 unimp
+80004034: 0000 unimp
+80004036: 0000 unimp
+80004038: 6666 flw fa2,88(sp)
+8000403a: 6666 flw fa2,88(sp)
+8000403c: 4c66 lw s8,88(sp)
+8000403e: xori ra,s5,-1639
+
+80004040 <test_4_data>:
+80004040: 999a add s3,s3,t1
+80004042: 9999 andi a1,a1,-26
+80004044: 9999 andi a1,a1,-26
+80004046: 3ff1 jal 80004022 <test_3_data+0x2>
+80004048: 6666 flw fa2,88(sp)
+8000404a: 6666 flw fa2,88(sp)
+8000404c: 4c66 lw s8,88(sp)
+8000404e: 0000c093 xori ra,ra,0
+80004052: 0000 unimp
+80004054: 0000 unimp
+80004056: 0000 unimp
+80004058: 6666 flw fa2,88(sp)
+8000405a: 6666 flw fa2,88(sp)
+8000405c: 4c66 lw s8,88(sp)
+8000405e: not ra,t6
+
+80004060 <test_5_data>:
+80004060: ffff 0xffff
+80004062: ffff 0xffff
+80004064: ffff 0xffff
+80004066: 7fff 0x7fff
+80004068: 6666 flw fa2,88(sp)
+8000406a: 6666 flw fa2,88(sp)
+8000406c: 4c66 lw s8,88(sp)
+8000406e: 0000c093 xori ra,ra,0
+80004072: 0000 unimp
+80004074: 0000 unimp
+80004076: 0000 unimp
+80004078: 6666 flw fa2,88(sp)
+8000407a: 6666 flw fa2,88(sp)
+8000407c: 4c66 lw s8,88(sp)
+8000407e: xori ra,gp,-689
+
+80004080 <test_6_data>:
+80004080: d4f1 beqz s1,8000404c <test_4_data+0xc>
+80004082: 53c8 lw a0,36(a5)
+80004084: 400921fb 0x400921fb
+80004088: 8c3a mv s8,a4
+8000408a: e230 fsw fa2,64(a2)
+8000408c: 798e flw fs3,224(sp)
+8000408e: 3e45 jal 80003c3e <pass+0xb7e>
+80004090: 0000 unimp
+80004092: 0000 unimp
+80004094: 0000 unimp
+80004096: 0000 unimp
+80004098: 8c3a mv s8,a4
+8000409a: e230 fsw fa2,64(a2)
+8000409c: 798e flw fs3,224(sp)
+8000409e: 3e45 jal 80003c4e <pass+0xb8e>
+
+800040a0 <test_7_data>:
+800040a0: 0000 unimp
+800040a2: 0000 unimp
+800040a4: 0000 unimp
+800040a6: bff0 fsd fa2,248(a5)
+800040a8: 0000 unimp
+800040aa: 0000 unimp
+800040ac: 0000 unimp
+800040ae: c000 sw s0,0(s0)
+800040b0: 0000 unimp
+800040b2: 0000 unimp
+800040b4: 0000 unimp
+800040b6: 0000 unimp
+800040b8: 0000 unimp
+800040ba: 0000 unimp
+800040bc: 0000 unimp
+800040be: c000 sw s0,0(s0)
+
+800040c0 <test_12_data>:
+800040c0: 0000 unimp
+800040c2: 0000 unimp
+800040c4: 0000 unimp
+800040c6: 4004 lw s1,0(s0)
+800040c8: 0000 unimp
+800040ca: 0000 unimp
+800040cc: 0000 unimp
+800040ce: 3ff0 fld fa2,248(a5)
+800040d0: 0000 unimp
+800040d2: 0000 unimp
+800040d4: 0000 unimp
+800040d6: 0000 unimp
+800040d8: 0000 unimp
+800040da: 0000 unimp
+800040dc: 0000 unimp
+800040de: 4004 lw s1,0(s0)
+
+800040e0 <test_13_data>:
+800040e0: 6666 flw fa2,88(sp)
+800040e2: 6666 flw fa2,88(sp)
+800040e4: 4c66 lw s8,88(sp)
+800040e6: 999ac093 xori ra,s5,-1639
+800040ea: 9999 andi a1,a1,-26
+800040ec: 9999 andi a1,a1,-26
+800040ee: 3ff1 jal 800040ca <test_12_data+0xa>
+800040f0: 0000 unimp
+800040f2: 0000 unimp
+800040f4: 0000 unimp
+800040f6: 0000 unimp
+800040f8: 999a add s3,s3,t1
+800040fa: 9999 andi a1,a1,-26
+800040fc: 9999 andi a1,a1,-26
+800040fe: 3ff1 jal 800040da <test_12_data+0x1a>
+
+80004100 <test_14_data>:
+80004100: 999a add s3,s3,t1
+80004102: 9999 andi a1,a1,-26
+80004104: 9999 andi a1,a1,-26
+80004106: 3ff1 jal 800040e2 <test_13_data+0x2>
+80004108: 6666 flw fa2,88(sp)
+8000410a: 6666 flw fa2,88(sp)
+8000410c: 4c66 lw s8,88(sp)
+8000410e: 0000c093 xori ra,ra,0
+80004112: 0000 unimp
+80004114: 0000 unimp
+80004116: 0000 unimp
+80004118: 999a add s3,s3,t1
+8000411a: 9999 andi a1,a1,-26
+8000411c: 9999 andi a1,a1,-26
+8000411e: 3ff1 jal 800040fa <test_13_data+0x1a>
+
+80004120 <test_15_data>:
+80004120: ffff 0xffff
+80004122: ffff 0xffff
+80004124: ffff 0xffff
+80004126: 7fff 0x7fff
+80004128: 6666 flw fa2,88(sp)
+8000412a: 6666 flw fa2,88(sp)
+8000412c: 4c66 lw s8,88(sp)
+8000412e: 0000c093 xori ra,ra,0
+80004132: 0000 unimp
+80004134: 0000 unimp
+80004136: 0000 unimp
+80004138: 6666 flw fa2,88(sp)
+8000413a: 6666 flw fa2,88(sp)
+8000413c: 4c66 lw s8,88(sp)
+8000413e: xori ra,gp,-689
+
+80004140 <test_16_data>:
+80004140: d4f1 beqz s1,8000410c <test_14_data+0xc>
+80004142: 53c8 lw a0,36(a5)
+80004144: 400921fb 0x400921fb
+80004148: 8c3a mv s8,a4
+8000414a: e230 fsw fa2,64(a2)
+8000414c: 798e flw fs3,224(sp)
+8000414e: 3e45 jal 80003cfe <pass+0xc3e>
+80004150: 0000 unimp
+80004152: 0000 unimp
+80004154: 0000 unimp
+80004156: 0000 unimp
+80004158: d4f1 beqz s1,80004124 <test_15_data+0x4>
+8000415a: 53c8 lw a0,36(a5)
+8000415c: 400921fb 0x400921fb
+
+80004160 <test_17_data>:
+80004160: 0000 unimp
+80004162: 0000 unimp
+80004164: 0000 unimp
+80004166: bff0 fsd fa2,248(a5)
+80004168: 0000 unimp
+8000416a: 0000 unimp
+8000416c: 0000 unimp
+8000416e: c000 sw s0,0(s0)
+80004170: 0000 unimp
+80004172: 0000 unimp
+80004174: 0000 unimp
+80004176: 0000 unimp
+80004178: 0000 unimp
+8000417a: 0000 unimp
+8000417c: 0000 unimp
+8000417e: bff0 fsd fa2,248(a5)
+
+80004180 <test_20_data>:
+80004180: 0001 nop
+80004182: 0000 unimp
+80004184: 0000 unimp
+80004186: 7ff0 flw fa2,124(a5)
+80004188: 0000 unimp
+8000418a: 0000 unimp
+8000418c: 0000 unimp
+8000418e: 3ff0 fld fa2,248(a5)
+80004190: 0000 unimp
+80004192: 0000 unimp
+80004194: 0000 unimp
+80004196: 0000 unimp
+80004198: 0000 unimp
+8000419a: 0000 unimp
+8000419c: 0000 unimp
+8000419e: 3ff0 fld fa2,248(a5)
+
+800041a0 <test_21_data>:
+800041a0: ffff 0xffff
+800041a2: ffff 0xffff
+800041a4: ffff 0xffff
+800041a6: 7fff 0x7fff
+800041a8: ffff 0xffff
+800041aa: ffff 0xffff
+800041ac: ffff 0xffff
+800041ae: 7fff 0x7fff
+800041b0: 0000 unimp
+800041b2: 0000 unimp
+800041b4: 0000 unimp
+800041b6: 0000 unimp
+800041b8: 0000 unimp
+800041ba: 0000 unimp
+800041bc: 0000 unimp
+800041be: 7ff8 flw fa4,124(a5)
+
+800041c0 <test_30_data>:
+800041c0: 0000 unimp
+800041c2: 0000 unimp
+800041c4: 0000 unimp
+800041c6: 8000 0x8000
+800041c8: 0000 unimp
+800041ca: 0000 unimp
+800041cc: 0000 unimp
+800041ce: 0000 unimp
+800041d0: 0000 unimp
+800041d2: 0000 unimp
+800041d4: 0000 unimp
+800041d6: 0000 unimp
+800041d8: 0000 unimp
+800041da: 0000 unimp
+800041dc: 0000 unimp
+800041de: 8000 0x8000
+
+800041e0 <test_31_data>:
+800041e0: 0000 unimp
+800041e2: 0000 unimp
+800041e4: 0000 unimp
+800041e6: 0000 unimp
+800041e8: 0000 unimp
+800041ea: 0000 unimp
+800041ec: 0000 unimp
+800041ee: 8000 0x8000
+800041f0: 0000 unimp
+800041f2: 0000 unimp
+800041f4: 0000 unimp
+800041f6: 0000 unimp
+800041f8: 0000 unimp
+800041fa: 0000 unimp
+800041fc: 0000 unimp
+800041fe: 8000 0x8000
+
+80004200 <test_32_data>:
+80004200: 0000 unimp
+80004202: 0000 unimp
+80004204: 0000 unimp
+80004206: 8000 0x8000
+80004208: 0000 unimp
+8000420a: 0000 unimp
+8000420c: 0000 unimp
+8000420e: 0000 unimp
+80004210: 0000 unimp
+80004212: 0000 unimp
+80004214: 0000 unimp
+80004216: 0000 unimp
+80004218: 0000 unimp
+8000421a: 0000 unimp
+8000421c: 0000 unimp
+8000421e: 0000 unimp
+
+80004220 <test_33_data>:
+80004220: 0000 unimp
+80004222: 0000 unimp
+80004224: 0000 unimp
+80004226: 0000 unimp
+80004228: 0000 unimp
+8000422a: 0000 unimp
+8000422c: 0000 unimp
+8000422e: 8000 0x8000
+80004230: 0000 unimp
+80004232: 0000 unimp
+80004234: 0000 unimp
+80004236: 0000 unimp
+80004238: 0000 unimp
+8000423a: 0000 unimp
+8000423c: 0000 unimp
+8000423e: 0000 unimp
diff --git a/test/riscv-tests/rv32ud-v-fmin.elf b/test/riscv-tests/rv32ud-v-fmin.elf
new file mode 100644
index 0000000..65567e7
--- /dev/null
+++ b/test/riscv-tests/rv32ud-v-fmin.elf
Binary files differ
diff --git a/test/riscv-tests/rv32uf-p-fadd.dump b/test/riscv-tests/rv32uf-p-fadd.dump
new file mode 100644
index 0000000..8214d0a
--- /dev/null
+++ b/test/riscv-tests/rv32uf-p-fadd.dump
@@ -0,0 +1,342 @@
+
+rv32uf-p-fadd: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 04c0006f j 8000004c <reset_vector>
+
+80000004 <trap_vector>:
+80000004: 34202f73 csrr t5,mcause
+80000008: 00800f93 li t6,8
+8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+80000010: 00900f93 li t6,9
+80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+80000018: 00b00f93 li t6,11
+8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+80000020: 80000f17 auipc t5,0x80000
+80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+8000002c: 000f0067 jr t5
+80000030: 34202f73 csrr t5,mcause
+80000034: 000f5463 bgez t5,8000003c <handle_exception>
+80000038: 0040006f j 8000003c <handle_exception>
+
+8000003c <handle_exception>:
+8000003c: 5391e193 ori gp,gp,1337
+
+80000040 <write_tohost>:
+80000040: 00001f17 auipc t5,0x1
+80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+80000048: ff9ff06f j 80000040 <write_tohost>
+
+8000004c <reset_vector>:
+8000004c: f1402573 csrr a0,mhartid
+80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+80000054: 00000297 auipc t0,0x0
+80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+8000005c: 30529073 csrw mtvec,t0
+80000060: 18005073 csrwi satp,0
+80000064: 00000297 auipc t0,0x0
+80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+8000006c: 30529073 csrw mtvec,t0
+80000070: fff00293 li t0,-1
+80000074: 3b029073 csrw pmpaddr0,t0
+80000078: 01f00293 li t0,31
+8000007c: 3a029073 csrw pmpcfg0,t0
+80000080: 00000297 auipc t0,0x0
+80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+80000088: 30529073 csrw mtvec,t0
+8000008c: 30205073 csrwi medeleg,0
+80000090: 30305073 csrwi mideleg,0
+80000094: 30405073 csrwi mie,0
+80000098: 00000193 li gp,0
+8000009c: 00000297 auipc t0,0x0
+800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+800000a4: 30529073 csrw mtvec,t0
+800000a8: 00100513 li a0,1
+800000ac: 01f51513 slli a0,a0,0x1f
+800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74>
+800000b4: 0ff0000f fence
+800000b8: 00100193 li gp,1
+800000bc: 00000073 ecall
+800000c0: 80000297 auipc t0,0x80000
+800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+800000cc: 10529073 csrw stvec,t0
+800000d0: 0000b2b7 lui t0,0xb
+800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
+800000d8: 30229073 csrw medeleg,t0
+800000dc: 30202373 csrr t1,medeleg
+800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+800000e4: 30005073 csrwi mstatus,0
+800000e8: 00002537 lui a0,0x2
+800000ec: 30052073 csrs mstatus,a0
+800000f0: 00305073 csrwi fcsr,0
+800000f4: 00000297 auipc t0,0x0
+800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+800000fc: 34129073 csrw mepc,t0
+80000100: f1402573 csrr a0,mhartid
+80000104: 30200073 mret
+
+80000108 <test_2>:
+80000108: 00200193 li gp,2
+8000010c: 00002517 auipc a0,0x2
+80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+80000114: 00052007 flw ft0,0(a0)
+80000118: 00452087 flw ft1,4(a0)
+8000011c: 00852107 flw ft2,8(a0)
+80000120: 00c52683 lw a3,12(a0)
+80000124: 001071d3 fadd.s ft3,ft0,ft1
+80000128: e0018553 fmv.x.w a0,ft3
+8000012c: 001015f3 fsflags a1,zero
+80000130: 00000613 li a2,0
+80000134: 1ed51063 bne a0,a3,80000314 <fail>
+80000138: 1cc59e63 bne a1,a2,80000314 <fail>
+
+8000013c <test_3>:
+8000013c: 00300193 li gp,3
+80000140: 00002517 auipc a0,0x2
+80000144: ed050513 addi a0,a0,-304 # 80002010 <test_3_data>
+80000148: 00052007 flw ft0,0(a0)
+8000014c: 00452087 flw ft1,4(a0)
+80000150: 00852107 flw ft2,8(a0)
+80000154: 00c52683 lw a3,12(a0)
+80000158: 001071d3 fadd.s ft3,ft0,ft1
+8000015c: e0018553 fmv.x.w a0,ft3
+80000160: 001015f3 fsflags a1,zero
+80000164: 00100613 li a2,1
+80000168: 1ad51663 bne a0,a3,80000314 <fail>
+8000016c: 1ac59463 bne a1,a2,80000314 <fail>
+
+80000170 <test_4>:
+80000170: 00400193 li gp,4
+80000174: 00002517 auipc a0,0x2
+80000178: eac50513 addi a0,a0,-340 # 80002020 <test_4_data>
+8000017c: 00052007 flw ft0,0(a0)
+80000180: 00452087 flw ft1,4(a0)
+80000184: 00852107 flw ft2,8(a0)
+80000188: 00c52683 lw a3,12(a0)
+8000018c: 001071d3 fadd.s ft3,ft0,ft1
+80000190: e0018553 fmv.x.w a0,ft3
+80000194: 001015f3 fsflags a1,zero
+80000198: 00100613 li a2,1
+8000019c: 16d51c63 bne a0,a3,80000314 <fail>
+800001a0: 16c59a63 bne a1,a2,80000314 <fail>
+
+800001a4 <test_5>:
+800001a4: 00500193 li gp,5
+800001a8: 00002517 auipc a0,0x2
+800001ac: e8850513 addi a0,a0,-376 # 80002030 <test_5_data>
+800001b0: 00052007 flw ft0,0(a0)
+800001b4: 00452087 flw ft1,4(a0)
+800001b8: 00852107 flw ft2,8(a0)
+800001bc: 00c52683 lw a3,12(a0)
+800001c0: 081071d3 fsub.s ft3,ft0,ft1
+800001c4: e0018553 fmv.x.w a0,ft3
+800001c8: 001015f3 fsflags a1,zero
+800001cc: 00000613 li a2,0
+800001d0: 14d51263 bne a0,a3,80000314 <fail>
+800001d4: 14c59063 bne a1,a2,80000314 <fail>
+
+800001d8 <test_6>:
+800001d8: 00600193 li gp,6
+800001dc: 00002517 auipc a0,0x2
+800001e0: e6450513 addi a0,a0,-412 # 80002040 <test_6_data>
+800001e4: 00052007 flw ft0,0(a0)
+800001e8: 00452087 flw ft1,4(a0)
+800001ec: 00852107 flw ft2,8(a0)
+800001f0: 00c52683 lw a3,12(a0)
+800001f4: 081071d3 fsub.s ft3,ft0,ft1
+800001f8: e0018553 fmv.x.w a0,ft3
+800001fc: 001015f3 fsflags a1,zero
+80000200: 00100613 li a2,1
+80000204: 10d51863 bne a0,a3,80000314 <fail>
+80000208: 10c59663 bne a1,a2,80000314 <fail>
+
+8000020c <test_7>:
+8000020c: 00700193 li gp,7
+80000210: 00002517 auipc a0,0x2
+80000214: e4050513 addi a0,a0,-448 # 80002050 <test_7_data>
+80000218: 00052007 flw ft0,0(a0)
+8000021c: 00452087 flw ft1,4(a0)
+80000220: 00852107 flw ft2,8(a0)
+80000224: 00c52683 lw a3,12(a0)
+80000228: 081071d3 fsub.s ft3,ft0,ft1
+8000022c: e0018553 fmv.x.w a0,ft3
+80000230: 001015f3 fsflags a1,zero
+80000234: 00100613 li a2,1
+80000238: 0cd51e63 bne a0,a3,80000314 <fail>
+8000023c: 0cc59c63 bne a1,a2,80000314 <fail>
+
+80000240 <test_8>:
+80000240: 00800193 li gp,8
+80000244: 00002517 auipc a0,0x2
+80000248: e1c50513 addi a0,a0,-484 # 80002060 <test_8_data>
+8000024c: 00052007 flw ft0,0(a0)
+80000250: 00452087 flw ft1,4(a0)
+80000254: 00852107 flw ft2,8(a0)
+80000258: 00c52683 lw a3,12(a0)
+8000025c: 101071d3 fmul.s ft3,ft0,ft1
+80000260: e0018553 fmv.x.w a0,ft3
+80000264: 001015f3 fsflags a1,zero
+80000268: 00000613 li a2,0
+8000026c: 0ad51463 bne a0,a3,80000314 <fail>
+80000270: 0ac59263 bne a1,a2,80000314 <fail>
+
+80000274 <test_9>:
+80000274: 00900193 li gp,9
+80000278: 00002517 auipc a0,0x2
+8000027c: df850513 addi a0,a0,-520 # 80002070 <test_9_data>
+80000280: 00052007 flw ft0,0(a0)
+80000284: 00452087 flw ft1,4(a0)
+80000288: 00852107 flw ft2,8(a0)
+8000028c: 00c52683 lw a3,12(a0)
+80000290: 101071d3 fmul.s ft3,ft0,ft1
+80000294: e0018553 fmv.x.w a0,ft3
+80000298: 001015f3 fsflags a1,zero
+8000029c: 00100613 li a2,1
+800002a0: 06d51a63 bne a0,a3,80000314 <fail>
+800002a4: 06c59863 bne a1,a2,80000314 <fail>
+
+800002a8 <test_10>:
+800002a8: 00a00193 li gp,10
+800002ac: 00002517 auipc a0,0x2
+800002b0: dd450513 addi a0,a0,-556 # 80002080 <test_10_data>
+800002b4: 00052007 flw ft0,0(a0)
+800002b8: 00452087 flw ft1,4(a0)
+800002bc: 00852107 flw ft2,8(a0)
+800002c0: 00c52683 lw a3,12(a0)
+800002c4: 101071d3 fmul.s ft3,ft0,ft1
+800002c8: e0018553 fmv.x.w a0,ft3
+800002cc: 001015f3 fsflags a1,zero
+800002d0: 00100613 li a2,1
+800002d4: 04d51063 bne a0,a3,80000314 <fail>
+800002d8: 02c59e63 bne a1,a2,80000314 <fail>
+
+800002dc <test_11>:
+800002dc: 00b00193 li gp,11
+800002e0: 00002517 auipc a0,0x2
+800002e4: db050513 addi a0,a0,-592 # 80002090 <test_11_data>
+800002e8: 00052007 flw ft0,0(a0)
+800002ec: 00452087 flw ft1,4(a0)
+800002f0: 00852107 flw ft2,8(a0)
+800002f4: 00c52683 lw a3,12(a0)
+800002f8: 081071d3 fsub.s ft3,ft0,ft1
+800002fc: e0018553 fmv.x.w a0,ft3
+80000300: 001015f3 fsflags a1,zero
+80000304: 01000613 li a2,16
+80000308: 00d51663 bne a0,a3,80000314 <fail>
+8000030c: 00c59463 bne a1,a2,80000314 <fail>
+80000310: 00301c63 bne zero,gp,80000328 <pass>
+
+80000314 <fail>:
+80000314: 0ff0000f fence
+80000318: 00018063 beqz gp,80000318 <fail+0x4>
+8000031c: 00119193 slli gp,gp,0x1
+80000320: 0011e193 ori gp,gp,1
+80000324: 00000073 ecall
+
+80000328 <pass>:
+80000328: 0ff0000f fence
+8000032c: 00100193 li gp,1
+80000330: 00000073 ecall
+80000334: c0001073 unimp
+80000338: 0000 unimp
+8000033a: 0000 unimp
+8000033c: 0000 unimp
+8000033e: 0000 unimp
+80000340: 0000 unimp
+80000342: 0000 unimp
+
+Disassembly of section .data:
+
+80002000 <test_2_data>:
+80002000: 0000 unimp
+80002002: 4020 lw s0,64(s0)
+80002004: 0000 unimp
+80002006: 3f80 fld fs0,56(a5)
+80002008: 0000 unimp
+8000200a: 0000 unimp
+8000200c: 0000 unimp
+8000200e: 4060 lw s0,68(s0)
+
+80002010 <test_3_data>:
+80002010: c49a6333 0xc49a6333
+80002014: cccd beqz s1,800020ce <_end+0x2e>
+80002016: 3f8c fld fa1,56(a5)
+80002018: 0000 unimp
+8000201a: 0000 unimp
+8000201c: 4000 lw s0,0(s0)
+8000201e: c49a sw t1,72(sp)
+
+80002020 <test_4_data>:
+80002020: 40490fdb 0x40490fdb
+80002024: 322bcc77 0x322bcc77
+80002028: 0000 unimp
+8000202a: 0000 unimp
+8000202c: 40490fdb 0x40490fdb
+
+80002030 <test_5_data>:
+80002030: 0000 unimp
+80002032: 4020 lw s0,64(s0)
+80002034: 0000 unimp
+80002036: 3f80 fld fs0,56(a5)
+80002038: 0000 unimp
+8000203a: 0000 unimp
+8000203c: 0000 unimp
+8000203e: 3fc0 fld fs0,184(a5)
+
+80002040 <test_6_data>:
+80002040: c49a6333 0xc49a6333
+80002044: cccd beqz s1,800020fe <_end+0x5e>
+80002046: bf8c fsd fa1,56(a5)
+80002048: 0000 unimp
+8000204a: 0000 unimp
+8000204c: 4000 lw s0,0(s0)
+8000204e: c49a sw t1,72(sp)
+
+80002050 <test_7_data>:
+80002050: 40490fdb 0x40490fdb
+80002054: 322bcc77 0x322bcc77
+80002058: 0000 unimp
+8000205a: 0000 unimp
+8000205c: 40490fdb 0x40490fdb
+
+80002060 <test_8_data>:
+80002060: 0000 unimp
+80002062: 4020 lw s0,64(s0)
+80002064: 0000 unimp
+80002066: 3f80 fld fs0,56(a5)
+80002068: 0000 unimp
+8000206a: 0000 unimp
+8000206c: 0000 unimp
+8000206e: 4020 lw s0,64(s0)
+
+80002070 <test_9_data>:
+80002070: c49a6333 0xc49a6333
+80002074: cccd beqz s1,8000212e <_end+0x8e>
+80002076: bf8c fsd fa1,56(a5)
+80002078: 0000 unimp
+8000207a: 0000 unimp
+8000207c: d385 beqz a5,80001f9c <fromhost+0xf5c>
+8000207e: 44a9 li s1,10
+
+80002080 <test_10_data>:
+80002080: 40490fdb 0x40490fdb
+80002084: 322bcc77 0x322bcc77
+80002088: 0000 unimp
+8000208a: 0000 unimp
+8000208c: ee2d bnez a2,80002106 <_end+0x66>
+8000208e: 3306 fld ft6,96(sp)
+
+80002090 <test_11_data>:
+80002090: 0000 unimp
+80002092: 7f80 flw fs0,56(a5)
+80002094: 0000 unimp
+80002096: 7f80 flw fs0,56(a5)
+80002098: 0000 unimp
+8000209a: 0000 unimp
+8000209c: 0000 unimp
+8000209e: 7fc0 flw fs0,60(a5)
diff --git a/test/riscv-tests/rv32uf-p-fadd.elf b/test/riscv-tests/rv32uf-p-fadd.elf
new file mode 100644
index 0000000..a783f7a
--- /dev/null
+++ b/test/riscv-tests/rv32uf-p-fadd.elf
Binary files differ
diff --git a/test/riscv-tests/rv32uf-p-fclass.dump b/test/riscv-tests/rv32uf-p-fclass.dump
new file mode 100644
index 0000000..6b32b55
--- /dev/null
+++ b/test/riscv-tests/rv32uf-p-fclass.dump
@@ -0,0 +1,190 @@
+
+rv32uf-p-fclass: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 04c0006f j 8000004c <reset_vector>
+
+80000004 <trap_vector>:
+80000004: 34202f73 csrr t5,mcause
+80000008: 00800f93 li t6,8
+8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+80000010: 00900f93 li t6,9
+80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+80000018: 00b00f93 li t6,11
+8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+80000020: 80000f17 auipc t5,0x80000
+80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+8000002c: 000f0067 jr t5
+80000030: 34202f73 csrr t5,mcause
+80000034: 000f5463 bgez t5,8000003c <handle_exception>
+80000038: 0040006f j 8000003c <handle_exception>
+
+8000003c <handle_exception>:
+8000003c: 5391e193 ori gp,gp,1337
+
+80000040 <write_tohost>:
+80000040: 00001f17 auipc t5,0x1
+80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+80000048: ff9ff06f j 80000040 <write_tohost>
+
+8000004c <reset_vector>:
+8000004c: f1402573 csrr a0,mhartid
+80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+80000054: 00000297 auipc t0,0x0
+80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+8000005c: 30529073 csrw mtvec,t0
+80000060: 18005073 csrwi satp,0
+80000064: 00000297 auipc t0,0x0
+80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+8000006c: 30529073 csrw mtvec,t0
+80000070: fff00293 li t0,-1
+80000074: 3b029073 csrw pmpaddr0,t0
+80000078: 01f00293 li t0,31
+8000007c: 3a029073 csrw pmpcfg0,t0
+80000080: 00000297 auipc t0,0x0
+80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+80000088: 30529073 csrw mtvec,t0
+8000008c: 30205073 csrwi medeleg,0
+80000090: 30305073 csrwi mideleg,0
+80000094: 30405073 csrwi mie,0
+80000098: 00000193 li gp,0
+8000009c: 00000297 auipc t0,0x0
+800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+800000a4: 30529073 csrw mtvec,t0
+800000a8: 00100513 li a0,1
+800000ac: 01f51513 slli a0,a0,0x1f
+800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74>
+800000b4: 0ff0000f fence
+800000b8: 00100193 li gp,1
+800000bc: 00000073 ecall
+800000c0: 80000297 auipc t0,0x80000
+800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+800000cc: 10529073 csrw stvec,t0
+800000d0: 0000b2b7 lui t0,0xb
+800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
+800000d8: 30229073 csrw medeleg,t0
+800000dc: 30202373 csrr t1,medeleg
+800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+800000e4: 30005073 csrwi mstatus,0
+800000e8: 00002537 lui a0,0x2
+800000ec: 30052073 csrs mstatus,a0
+800000f0: 00305073 csrwi fcsr,0
+800000f4: 00000297 auipc t0,0x0
+800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+800000fc: 34129073 csrw mepc,t0
+80000100: f1402573 csrr a0,mhartid
+80000104: 30200073 mret
+
+80000108 <test_2>:
+80000108: ff800537 lui a0,0xff800
+8000010c: f0050553 fmv.w.x fa0,a0
+80000110: e0051553 fclass.s a0,fa0
+80000114: 00100e93 li t4,1
+80000118: 00200193 li gp,2
+8000011c: 0fd51663 bne a0,t4,80000208 <fail>
+
+80000120 <test_3>:
+80000120: bf800537 lui a0,0xbf800
+80000124: f0050553 fmv.w.x fa0,a0
+80000128: e0051553 fclass.s a0,fa0
+8000012c: 00200e93 li t4,2
+80000130: 00300193 li gp,3
+80000134: 0dd51a63 bne a0,t4,80000208 <fail>
+
+80000138 <test_4>:
+80000138: 80800537 lui a0,0x80800
+8000013c: fff50513 addi a0,a0,-1 # 807fffff <_end+0x7fdfff>
+80000140: f0050553 fmv.w.x fa0,a0
+80000144: e0051553 fclass.s a0,fa0
+80000148: 00400e93 li t4,4
+8000014c: 00400193 li gp,4
+80000150: 0bd51c63 bne a0,t4,80000208 <fail>
+
+80000154 <test_5>:
+80000154: 80000537 lui a0,0x80000
+80000158: f0050553 fmv.w.x fa0,a0
+8000015c: e0051553 fclass.s a0,fa0
+80000160: 00800e93 li t4,8
+80000164: 00500193 li gp,5
+80000168: 0bd51063 bne a0,t4,80000208 <fail>
+
+8000016c <test_6>:
+8000016c: 00000513 li a0,0
+80000170: f0050553 fmv.w.x fa0,a0
+80000174: e0051553 fclass.s a0,fa0
+80000178: 01000e93 li t4,16
+8000017c: 00600193 li gp,6
+80000180: 09d51463 bne a0,t4,80000208 <fail>
+
+80000184 <test_7>:
+80000184: 00800537 lui a0,0x800
+80000188: fff50513 addi a0,a0,-1 # 7fffff <_start-0x7f800001>
+8000018c: f0050553 fmv.w.x fa0,a0
+80000190: e0051553 fclass.s a0,fa0
+80000194: 02000e93 li t4,32
+80000198: 00700193 li gp,7
+8000019c: 07d51663 bne a0,t4,80000208 <fail>
+
+800001a0 <test_8>:
+800001a0: 3f800537 lui a0,0x3f800
+800001a4: f0050553 fmv.w.x fa0,a0
+800001a8: e0051553 fclass.s a0,fa0
+800001ac: 04000e93 li t4,64
+800001b0: 00800193 li gp,8
+800001b4: 05d51a63 bne a0,t4,80000208 <fail>
+
+800001b8 <test_9>:
+800001b8: 7f800537 lui a0,0x7f800
+800001bc: f0050553 fmv.w.x fa0,a0
+800001c0: e0051553 fclass.s a0,fa0
+800001c4: 08000e93 li t4,128
+800001c8: 00900193 li gp,9
+800001cc: 03d51e63 bne a0,t4,80000208 <fail>
+
+800001d0 <test_10>:
+800001d0: 7f800537 lui a0,0x7f800
+800001d4: 00150513 addi a0,a0,1 # 7f800001 <_start-0x7fffff>
+800001d8: f0050553 fmv.w.x fa0,a0
+800001dc: e0051553 fclass.s a0,fa0
+800001e0: 10000e93 li t4,256
+800001e4: 00a00193 li gp,10
+800001e8: 03d51063 bne a0,t4,80000208 <fail>
+
+800001ec <test_11>:
+800001ec: 7fc00537 lui a0,0x7fc00
+800001f0: f0050553 fmv.w.x fa0,a0
+800001f4: e0051553 fclass.s a0,fa0
+800001f8: 20000e93 li t4,512
+800001fc: 00b00193 li gp,11
+80000200: 01d51463 bne a0,t4,80000208 <fail>
+80000204: 00301c63 bne zero,gp,8000021c <pass>
+
+80000208 <fail>:
+80000208: 0ff0000f fence
+8000020c: 00018063 beqz gp,8000020c <fail+0x4>
+80000210: 00119193 slli gp,gp,0x1
+80000214: 0011e193 ori gp,gp,1
+80000218: 00000073 ecall
+
+8000021c <pass>:
+8000021c: 0ff0000f fence
+80000220: 00100193 li gp,1
+80000224: 00000073 ecall
+80000228: c0001073 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/rv32uf-p-fclass.elf b/test/riscv-tests/rv32uf-p-fclass.elf
new file mode 100644
index 0000000..3a520ad
--- /dev/null
+++ b/test/riscv-tests/rv32uf-p-fclass.elf
Binary files differ
diff --git a/test/riscv-tests/rv32uf-p-fcmp.dump b/test/riscv-tests/rv32uf-p-fcmp.dump
new file mode 100644
index 0000000..0674288
--- /dev/null
+++ b/test/riscv-tests/rv32uf-p-fcmp.dump
@@ -0,0 +1,450 @@
+
+rv32uf-p-fcmp: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 04c0006f j 8000004c <reset_vector>
+
+80000004 <trap_vector>:
+80000004: 34202f73 csrr t5,mcause
+80000008: 00800f93 li t6,8
+8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+80000010: 00900f93 li t6,9
+80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+80000018: 00b00f93 li t6,11
+8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+80000020: 80000f17 auipc t5,0x80000
+80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+8000002c: 000f0067 jr t5
+80000030: 34202f73 csrr t5,mcause
+80000034: 000f5463 bgez t5,8000003c <handle_exception>
+80000038: 0040006f j 8000003c <handle_exception>
+
+8000003c <handle_exception>:
+8000003c: 5391e193 ori gp,gp,1337
+
+80000040 <write_tohost>:
+80000040: 00001f17 auipc t5,0x1
+80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+80000048: ff9ff06f j 80000040 <write_tohost>
+
+8000004c <reset_vector>:
+8000004c: f1402573 csrr a0,mhartid
+80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+80000054: 00000297 auipc t0,0x0
+80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+8000005c: 30529073 csrw mtvec,t0
+80000060: 18005073 csrwi satp,0
+80000064: 00000297 auipc t0,0x0
+80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+8000006c: 30529073 csrw mtvec,t0
+80000070: fff00293 li t0,-1
+80000074: 3b029073 csrw pmpaddr0,t0
+80000078: 01f00293 li t0,31
+8000007c: 3a029073 csrw pmpcfg0,t0
+80000080: 00000297 auipc t0,0x0
+80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+80000088: 30529073 csrw mtvec,t0
+8000008c: 30205073 csrwi medeleg,0
+80000090: 30305073 csrwi mideleg,0
+80000094: 30405073 csrwi mie,0
+80000098: 00000193 li gp,0
+8000009c: 00000297 auipc t0,0x0
+800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+800000a4: 30529073 csrw mtvec,t0
+800000a8: 00100513 li a0,1
+800000ac: 01f51513 slli a0,a0,0x1f
+800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74>
+800000b4: 0ff0000f fence
+800000b8: 00100193 li gp,1
+800000bc: 00000073 ecall
+800000c0: 80000297 auipc t0,0x80000
+800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+800000cc: 10529073 csrw stvec,t0
+800000d0: 0000b2b7 lui t0,0xb
+800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
+800000d8: 30229073 csrw medeleg,t0
+800000dc: 30202373 csrr t1,medeleg
+800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+800000e4: 30005073 csrwi mstatus,0
+800000e8: 00002537 lui a0,0x2
+800000ec: 30052073 csrs mstatus,a0
+800000f0: 00305073 csrwi fcsr,0
+800000f4: 00000297 auipc t0,0x0
+800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+800000fc: 34129073 csrw mepc,t0
+80000100: f1402573 csrr a0,mhartid
+80000104: 30200073 mret
+
+80000108 <test_2>:
+80000108: 00200193 li gp,2
+8000010c: 00002517 auipc a0,0x2
+80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+80000114: 00052007 flw ft0,0(a0)
+80000118: 00452087 flw ft1,4(a0)
+8000011c: 00852107 flw ft2,8(a0)
+80000120: 00c52683 lw a3,12(a0)
+80000124: a0102553 feq.s a0,ft0,ft1
+80000128: 001015f3 fsflags a1,zero
+8000012c: 00000613 li a2,0
+80000130: 2ad51663 bne a0,a3,800003dc <fail>
+80000134: 2ac59463 bne a1,a2,800003dc <fail>
+
+80000138 <test_3>:
+80000138: 00300193 li gp,3
+8000013c: 00002517 auipc a0,0x2
+80000140: ed450513 addi a0,a0,-300 # 80002010 <test_3_data>
+80000144: 00052007 flw ft0,0(a0)
+80000148: 00452087 flw ft1,4(a0)
+8000014c: 00852107 flw ft2,8(a0)
+80000150: 00c52683 lw a3,12(a0)
+80000154: a0100553 fle.s a0,ft0,ft1
+80000158: 001015f3 fsflags a1,zero
+8000015c: 00000613 li a2,0
+80000160: 26d51e63 bne a0,a3,800003dc <fail>
+80000164: 26c59c63 bne a1,a2,800003dc <fail>
+
+80000168 <test_4>:
+80000168: 00400193 li gp,4
+8000016c: 00002517 auipc a0,0x2
+80000170: eb450513 addi a0,a0,-332 # 80002020 <test_4_data>
+80000174: 00052007 flw ft0,0(a0)
+80000178: 00452087 flw ft1,4(a0)
+8000017c: 00852107 flw ft2,8(a0)
+80000180: 00c52683 lw a3,12(a0)
+80000184: a0101553 flt.s a0,ft0,ft1
+80000188: 001015f3 fsflags a1,zero
+8000018c: 00000613 li a2,0
+80000190: 24d51663 bne a0,a3,800003dc <fail>
+80000194: 24c59463 bne a1,a2,800003dc <fail>
+
+80000198 <test_5>:
+80000198: 00500193 li gp,5
+8000019c: 00002517 auipc a0,0x2
+800001a0: e9450513 addi a0,a0,-364 # 80002030 <test_5_data>
+800001a4: 00052007 flw ft0,0(a0)
+800001a8: 00452087 flw ft1,4(a0)
+800001ac: 00852107 flw ft2,8(a0)
+800001b0: 00c52683 lw a3,12(a0)
+800001b4: a0102553 feq.s a0,ft0,ft1
+800001b8: 001015f3 fsflags a1,zero
+800001bc: 00000613 li a2,0
+800001c0: 20d51e63 bne a0,a3,800003dc <fail>
+800001c4: 20c59c63 bne a1,a2,800003dc <fail>
+
+800001c8 <test_6>:
+800001c8: 00600193 li gp,6
+800001cc: 00002517 auipc a0,0x2
+800001d0: e7450513 addi a0,a0,-396 # 80002040 <test_6_data>
+800001d4: 00052007 flw ft0,0(a0)
+800001d8: 00452087 flw ft1,4(a0)
+800001dc: 00852107 flw ft2,8(a0)
+800001e0: 00c52683 lw a3,12(a0)
+800001e4: a0100553 fle.s a0,ft0,ft1
+800001e8: 001015f3 fsflags a1,zero
+800001ec: 00000613 li a2,0
+800001f0: 1ed51663 bne a0,a3,800003dc <fail>
+800001f4: 1ec59463 bne a1,a2,800003dc <fail>
+
+800001f8 <test_7>:
+800001f8: 00700193 li gp,7
+800001fc: 00002517 auipc a0,0x2
+80000200: e5450513 addi a0,a0,-428 # 80002050 <test_7_data>
+80000204: 00052007 flw ft0,0(a0)
+80000208: 00452087 flw ft1,4(a0)
+8000020c: 00852107 flw ft2,8(a0)
+80000210: 00c52683 lw a3,12(a0)
+80000214: a0101553 flt.s a0,ft0,ft1
+80000218: 001015f3 fsflags a1,zero
+8000021c: 00000613 li a2,0
+80000220: 1ad51e63 bne a0,a3,800003dc <fail>
+80000224: 1ac59c63 bne a1,a2,800003dc <fail>
+
+80000228 <test_8>:
+80000228: 00800193 li gp,8
+8000022c: 00002517 auipc a0,0x2
+80000230: e3450513 addi a0,a0,-460 # 80002060 <test_8_data>
+80000234: 00052007 flw ft0,0(a0)
+80000238: 00452087 flw ft1,4(a0)
+8000023c: 00852107 flw ft2,8(a0)
+80000240: 00c52683 lw a3,12(a0)
+80000244: a0102553 feq.s a0,ft0,ft1
+80000248: 001015f3 fsflags a1,zero
+8000024c: 00000613 li a2,0
+80000250: 18d51663 bne a0,a3,800003dc <fail>
+80000254: 18c59463 bne a1,a2,800003dc <fail>
+
+80000258 <test_9>:
+80000258: 00900193 li gp,9
+8000025c: 00002517 auipc a0,0x2
+80000260: e1450513 addi a0,a0,-492 # 80002070 <test_9_data>
+80000264: 00052007 flw ft0,0(a0)
+80000268: 00452087 flw ft1,4(a0)
+8000026c: 00852107 flw ft2,8(a0)
+80000270: 00c52683 lw a3,12(a0)
+80000274: a0102553 feq.s a0,ft0,ft1
+80000278: 001015f3 fsflags a1,zero
+8000027c: 00000613 li a2,0
+80000280: 14d51e63 bne a0,a3,800003dc <fail>
+80000284: 14c59c63 bne a1,a2,800003dc <fail>
+
+80000288 <test_10>:
+80000288: 00a00193 li gp,10
+8000028c: 00002517 auipc a0,0x2
+80000290: df450513 addi a0,a0,-524 # 80002080 <test_10_data>
+80000294: 00052007 flw ft0,0(a0)
+80000298: 00452087 flw ft1,4(a0)
+8000029c: 00852107 flw ft2,8(a0)
+800002a0: 00c52683 lw a3,12(a0)
+800002a4: a0102553 feq.s a0,ft0,ft1
+800002a8: 001015f3 fsflags a1,zero
+800002ac: 01000613 li a2,16
+800002b0: 12d51663 bne a0,a3,800003dc <fail>
+800002b4: 12c59463 bne a1,a2,800003dc <fail>
+
+800002b8 <test_11>:
+800002b8: 00b00193 li gp,11
+800002bc: 00002517 auipc a0,0x2
+800002c0: dd450513 addi a0,a0,-556 # 80002090 <test_11_data>
+800002c4: 00052007 flw ft0,0(a0)
+800002c8: 00452087 flw ft1,4(a0)
+800002cc: 00852107 flw ft2,8(a0)
+800002d0: 00c52683 lw a3,12(a0)
+800002d4: a0101553 flt.s a0,ft0,ft1
+800002d8: 001015f3 fsflags a1,zero
+800002dc: 01000613 li a2,16
+800002e0: 0ed51e63 bne a0,a3,800003dc <fail>
+800002e4: 0ec59c63 bne a1,a2,800003dc <fail>
+
+800002e8 <test_12>:
+800002e8: 00c00193 li gp,12
+800002ec: 00002517 auipc a0,0x2
+800002f0: db450513 addi a0,a0,-588 # 800020a0 <test_12_data>
+800002f4: 00052007 flw ft0,0(a0)
+800002f8: 00452087 flw ft1,4(a0)
+800002fc: 00852107 flw ft2,8(a0)
+80000300: 00c52683 lw a3,12(a0)
+80000304: a0101553 flt.s a0,ft0,ft1
+80000308: 001015f3 fsflags a1,zero
+8000030c: 01000613 li a2,16
+80000310: 0cd51663 bne a0,a3,800003dc <fail>
+80000314: 0cc59463 bne a1,a2,800003dc <fail>
+
+80000318 <test_13>:
+80000318: 00d00193 li gp,13
+8000031c: 00002517 auipc a0,0x2
+80000320: d9450513 addi a0,a0,-620 # 800020b0 <test_13_data>
+80000324: 00052007 flw ft0,0(a0)
+80000328: 00452087 flw ft1,4(a0)
+8000032c: 00852107 flw ft2,8(a0)
+80000330: 00c52683 lw a3,12(a0)
+80000334: a0101553 flt.s a0,ft0,ft1
+80000338: 001015f3 fsflags a1,zero
+8000033c: 01000613 li a2,16
+80000340: 08d51e63 bne a0,a3,800003dc <fail>
+80000344: 08c59c63 bne a1,a2,800003dc <fail>
+
+80000348 <test_14>:
+80000348: 00e00193 li gp,14
+8000034c: 00002517 auipc a0,0x2
+80000350: d7450513 addi a0,a0,-652 # 800020c0 <test_14_data>
+80000354: 00052007 flw ft0,0(a0)
+80000358: 00452087 flw ft1,4(a0)
+8000035c: 00852107 flw ft2,8(a0)
+80000360: 00c52683 lw a3,12(a0)
+80000364: a0100553 fle.s a0,ft0,ft1
+80000368: 001015f3 fsflags a1,zero
+8000036c: 01000613 li a2,16
+80000370: 06d51663 bne a0,a3,800003dc <fail>
+80000374: 06c59463 bne a1,a2,800003dc <fail>
+
+80000378 <test_15>:
+80000378: 00f00193 li gp,15
+8000037c: 00002517 auipc a0,0x2
+80000380: d5450513 addi a0,a0,-684 # 800020d0 <test_15_data>
+80000384: 00052007 flw ft0,0(a0)
+80000388: 00452087 flw ft1,4(a0)
+8000038c: 00852107 flw ft2,8(a0)
+80000390: 00c52683 lw a3,12(a0)
+80000394: a0100553 fle.s a0,ft0,ft1
+80000398: 001015f3 fsflags a1,zero
+8000039c: 01000613 li a2,16
+800003a0: 02d51e63 bne a0,a3,800003dc <fail>
+800003a4: 02c59c63 bne a1,a2,800003dc <fail>
+
+800003a8 <test_16>:
+800003a8: 01000193 li gp,16
+800003ac: 00002517 auipc a0,0x2
+800003b0: d3450513 addi a0,a0,-716 # 800020e0 <test_16_data>
+800003b4: 00052007 flw ft0,0(a0)
+800003b8: 00452087 flw ft1,4(a0)
+800003bc: 00852107 flw ft2,8(a0)
+800003c0: 00c52683 lw a3,12(a0)
+800003c4: a0100553 fle.s a0,ft0,ft1
+800003c8: 001015f3 fsflags a1,zero
+800003cc: 01000613 li a2,16
+800003d0: 00d51663 bne a0,a3,800003dc <fail>
+800003d4: 00c59463 bne a1,a2,800003dc <fail>
+800003d8: 00301c63 bne zero,gp,800003f0 <pass>
+
+800003dc <fail>:
+800003dc: 0ff0000f fence
+800003e0: 00018063 beqz gp,800003e0 <fail+0x4>
+800003e4: 00119193 slli gp,gp,0x1
+800003e8: 0011e193 ori gp,gp,1
+800003ec: 00000073 ecall
+
+800003f0 <pass>:
+800003f0: 0ff0000f fence
+800003f4: 00100193 li gp,1
+800003f8: 00000073 ecall
+800003fc: c0001073 unimp
+80000400: 0000 unimp
+80000402: 0000 unimp
+
+Disassembly of section .data:
+
+80002000 <test_2_data>:
+80002000: bfae147b 0xbfae147b
+80002004: bfae147b 0xbfae147b
+80002008: 0000 unimp
+8000200a: 0000 unimp
+8000200c: 0001 nop
+8000200e: 0000 unimp
+
+80002010 <test_3_data>:
+80002010: bfae147b 0xbfae147b
+80002014: bfae147b 0xbfae147b
+80002018: 0000 unimp
+8000201a: 0000 unimp
+8000201c: 0001 nop
+8000201e: 0000 unimp
+
+80002020 <test_4_data>:
+80002020: bfae147b 0xbfae147b
+80002024: bfae147b 0xbfae147b
+80002028: 0000 unimp
+8000202a: 0000 unimp
+8000202c: 0000 unimp
+8000202e: 0000 unimp
+
+80002030 <test_5_data>:
+80002030: 5c29 li s8,-22
+80002032: 147bbfaf 0x147bbfaf
+80002036: bfae fsd fa1,504(sp)
+80002038: 0000 unimp
+8000203a: 0000 unimp
+8000203c: 0000 unimp
+8000203e: 0000 unimp
+
+80002040 <test_6_data>:
+80002040: 5c29 li s8,-22
+80002042: 147bbfaf 0x147bbfaf
+80002046: bfae fsd fa1,504(sp)
+80002048: 0000 unimp
+8000204a: 0000 unimp
+8000204c: 0001 nop
+8000204e: 0000 unimp
+
+80002050 <test_7_data>:
+80002050: 5c29 li s8,-22
+80002052: 147bbfaf 0x147bbfaf
+80002056: bfae fsd fa1,504(sp)
+80002058: 0000 unimp
+8000205a: 0000 unimp
+8000205c: 0001 nop
+8000205e: 0000 unimp
+
+80002060 <test_8_data>:
+80002060: ffff 0xffff
+80002062: 7fff 0x7fff
+80002064: 0000 unimp
+80002066: 0000 unimp
+80002068: 0000 unimp
+8000206a: 0000 unimp
+8000206c: 0000 unimp
+8000206e: 0000 unimp
+
+80002070 <test_9_data>:
+80002070: ffff 0xffff
+80002072: 7fff 0x7fff
+80002074: ffff 0xffff
+80002076: 7fff 0x7fff
+80002078: 0000 unimp
+8000207a: 0000 unimp
+8000207c: 0000 unimp
+8000207e: 0000 unimp
+
+80002080 <test_10_data>:
+80002080: 0001 nop
+80002082: 7f80 flw fs0,56(a5)
+80002084: 0000 unimp
+80002086: 0000 unimp
+80002088: 0000 unimp
+8000208a: 0000 unimp
+8000208c: 0000 unimp
+8000208e: 0000 unimp
+
+80002090 <test_11_data>:
+80002090: ffff 0xffff
+80002092: 7fff 0x7fff
+80002094: 0000 unimp
+80002096: 0000 unimp
+80002098: 0000 unimp
+8000209a: 0000 unimp
+8000209c: 0000 unimp
+8000209e: 0000 unimp
+
+800020a0 <test_12_data>:
+800020a0: ffff 0xffff
+800020a2: 7fff 0x7fff
+800020a4: ffff 0xffff
+800020a6: 7fff 0x7fff
+800020a8: 0000 unimp
+800020aa: 0000 unimp
+800020ac: 0000 unimp
+800020ae: 0000 unimp
+
+800020b0 <test_13_data>:
+800020b0: 0001 nop
+800020b2: 7f80 flw fs0,56(a5)
+800020b4: 0000 unimp
+800020b6: 0000 unimp
+800020b8: 0000 unimp
+800020ba: 0000 unimp
+800020bc: 0000 unimp
+800020be: 0000 unimp
+
+800020c0 <test_14_data>:
+800020c0: ffff 0xffff
+800020c2: 7fff 0x7fff
+800020c4: 0000 unimp
+800020c6: 0000 unimp
+800020c8: 0000 unimp
+800020ca: 0000 unimp
+800020cc: 0000 unimp
+800020ce: 0000 unimp
+
+800020d0 <test_15_data>:
+800020d0: ffff 0xffff
+800020d2: 7fff 0x7fff
+800020d4: ffff 0xffff
+800020d6: 7fff 0x7fff
+800020d8: 0000 unimp
+800020da: 0000 unimp
+800020dc: 0000 unimp
+800020de: 0000 unimp
+
+800020e0 <test_16_data>:
+800020e0: 0001 nop
+800020e2: 7f80 flw fs0,56(a5)
+800020e4: 0000 unimp
+800020e6: 0000 unimp
+800020e8: 0000 unimp
+800020ea: 0000 unimp
+800020ec: 0000 unimp
+800020ee: 0000 unimp
diff --git a/test/riscv-tests/rv32uf-p-fcmp.elf b/test/riscv-tests/rv32uf-p-fcmp.elf
new file mode 100644
index 0000000..b0f64b1
--- /dev/null
+++ b/test/riscv-tests/rv32uf-p-fcmp.elf
Binary files differ
diff --git a/test/riscv-tests/rv32uf-p-fcvt.dump b/test/riscv-tests/rv32uf-p-fcvt.dump
new file mode 100644
index 0000000..1afed49
--- /dev/null
+++ b/test/riscv-tests/rv32uf-p-fcvt.dump
@@ -0,0 +1,159 @@
+
+rv32uf-p-fcvt: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 04c0006f j 8000004c <reset_vector>
+
+80000004 <trap_vector>:
+80000004: 34202f73 csrr t5,mcause
+80000008: 00800f93 li t6,8
+8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+80000010: 00900f93 li t6,9
+80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+80000018: 00b00f93 li t6,11
+8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+80000020: 80000f17 auipc t5,0x80000
+80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+8000002c: 000f0067 jr t5
+80000030: 34202f73 csrr t5,mcause
+80000034: 000f5463 bgez t5,8000003c <handle_exception>
+80000038: 0040006f j 8000003c <handle_exception>
+
+8000003c <handle_exception>:
+8000003c: 5391e193 ori gp,gp,1337
+
+80000040 <write_tohost>:
+80000040: 00001f17 auipc t5,0x1
+80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+80000048: ff9ff06f j 80000040 <write_tohost>
+
+8000004c <reset_vector>:
+8000004c: f1402573 csrr a0,mhartid
+80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+80000054: 00000297 auipc t0,0x0
+80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+8000005c: 30529073 csrw mtvec,t0
+80000060: 18005073 csrwi satp,0
+80000064: 00000297 auipc t0,0x0
+80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+8000006c: 30529073 csrw mtvec,t0
+80000070: fff00293 li t0,-1
+80000074: 3b029073 csrw pmpaddr0,t0
+80000078: 01f00293 li t0,31
+8000007c: 3a029073 csrw pmpcfg0,t0
+80000080: 00000297 auipc t0,0x0
+80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+80000088: 30529073 csrw mtvec,t0
+8000008c: 30205073 csrwi medeleg,0
+80000090: 30305073 csrwi mideleg,0
+80000094: 30405073 csrwi mie,0
+80000098: 00000193 li gp,0
+8000009c: 00000297 auipc t0,0x0
+800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+800000a4: 30529073 csrw mtvec,t0
+800000a8: 00100513 li a0,1
+800000ac: 01f51513 slli a0,a0,0x1f
+800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74>
+800000b4: 0ff0000f fence
+800000b8: 00100193 li gp,1
+800000bc: 00000073 ecall
+800000c0: 80000297 auipc t0,0x80000
+800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+800000cc: 10529073 csrw stvec,t0
+800000d0: 0000b2b7 lui t0,0xb
+800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
+800000d8: 30229073 csrw medeleg,t0
+800000dc: 30202373 csrr t1,medeleg
+800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+800000e4: 30005073 csrwi mstatus,0
+800000e8: 00002537 lui a0,0x2
+800000ec: 30052073 csrs mstatus,a0
+800000f0: 00305073 csrwi fcsr,0
+800000f4: 00000297 auipc t0,0x0
+800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+800000fc: 34129073 csrw mepc,t0
+80000100: f1402573 csrr a0,mhartid
+80000104: 30200073 mret
+
+80000108 <test_2>:
+80000108: 00200193 li gp,2
+8000010c: 00002517 auipc a0,0x2
+80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+80000114: 00052683 lw a3,0(a0)
+80000118: 00200513 li a0,2
+8000011c: d0057053 fcvt.s.w ft0,a0
+80000120: 00101073 fsflags zero
+80000124: e0000553 fmv.x.w a0,ft0
+80000128: 06d51a63 bne a0,a3,8000019c <fail>
+
+8000012c <test_3>:
+8000012c: 00300193 li gp,3
+80000130: 00002517 auipc a0,0x2
+80000134: ed450513 addi a0,a0,-300 # 80002004 <test_3_data>
+80000138: 00052683 lw a3,0(a0)
+8000013c: ffe00513 li a0,-2
+80000140: d0057053 fcvt.s.w ft0,a0
+80000144: 00101073 fsflags zero
+80000148: e0000553 fmv.x.w a0,ft0
+8000014c: 04d51863 bne a0,a3,8000019c <fail>
+
+80000150 <test_4>:
+80000150: 00400193 li gp,4
+80000154: 00002517 auipc a0,0x2
+80000158: eb450513 addi a0,a0,-332 # 80002008 <test_4_data>
+8000015c: 00052683 lw a3,0(a0)
+80000160: 00200513 li a0,2
+80000164: d0157053 fcvt.s.wu ft0,a0
+80000168: 00101073 fsflags zero
+8000016c: e0000553 fmv.x.w a0,ft0
+80000170: 02d51663 bne a0,a3,8000019c <fail>
+
+80000174 <test_5>:
+80000174: 00500193 li gp,5
+80000178: 00002517 auipc a0,0x2
+8000017c: e9450513 addi a0,a0,-364 # 8000200c <test_5_data>
+80000180: 00052683 lw a3,0(a0)
+80000184: ffe00513 li a0,-2
+80000188: d0157053 fcvt.s.wu ft0,a0
+8000018c: 00101073 fsflags zero
+80000190: e0000553 fmv.x.w a0,ft0
+80000194: 00d51463 bne a0,a3,8000019c <fail>
+80000198: 00301c63 bne zero,gp,800001b0 <pass>
+
+8000019c <fail>:
+8000019c: 0ff0000f fence
+800001a0: 00018063 beqz gp,800001a0 <fail+0x4>
+800001a4: 00119193 slli gp,gp,0x1
+800001a8: 0011e193 ori gp,gp,1
+800001ac: 00000073 ecall
+
+800001b0 <pass>:
+800001b0: 0ff0000f fence
+800001b4: 00100193 li gp,1
+800001b8: 00000073 ecall
+800001bc: c0001073 unimp
+800001c0: 0000 unimp
+800001c2: 0000 unimp
+
+Disassembly of section .data:
+
+80002000 <test_2_data>:
+80002000: 0000 unimp
+80002002: 4000 lw s0,0(s0)
+
+80002004 <test_3_data>:
+80002004: 0000 unimp
+80002006: c000 sw s0,0(s0)
+
+80002008 <test_4_data>:
+80002008: 0000 unimp
+8000200a: 4000 lw s0,0(s0)
+
+8000200c <test_5_data>:
+8000200c: 0000 unimp
+8000200e: 4f80 lw s0,24(a5)
diff --git a/test/riscv-tests/rv32uf-p-fcvt.elf b/test/riscv-tests/rv32uf-p-fcvt.elf
new file mode 100644
index 0000000..da776a2
--- /dev/null
+++ b/test/riscv-tests/rv32uf-p-fcvt.elf
Binary files differ
diff --git a/test/riscv-tests/rv32uf-p-fcvt_w.dump b/test/riscv-tests/rv32uf-p-fcvt_w.dump
new file mode 100644
index 0000000..728571c
--- /dev/null
+++ b/test/riscv-tests/rv32uf-p-fcvt_w.dump
@@ -0,0 +1,604 @@
+
+rv32uf-p-fcvt_w: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 04c0006f j 8000004c <reset_vector>
+
+80000004 <trap_vector>:
+80000004: 34202f73 csrr t5,mcause
+80000008: 00800f93 li t6,8
+8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+80000010: 00900f93 li t6,9
+80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+80000018: 00b00f93 li t6,11
+8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+80000020: 80000f17 auipc t5,0x80000
+80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+8000002c: 000f0067 jr t5
+80000030: 34202f73 csrr t5,mcause
+80000034: 000f5463 bgez t5,8000003c <handle_exception>
+80000038: 0040006f j 8000003c <handle_exception>
+
+8000003c <handle_exception>:
+8000003c: 5391e193 ori gp,gp,1337
+
+80000040 <write_tohost>:
+80000040: 00001f17 auipc t5,0x1
+80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+80000048: ff9ff06f j 80000040 <write_tohost>
+
+8000004c <reset_vector>:
+8000004c: f1402573 csrr a0,mhartid
+80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+80000054: 00000297 auipc t0,0x0
+80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+8000005c: 30529073 csrw mtvec,t0
+80000060: 18005073 csrwi satp,0
+80000064: 00000297 auipc t0,0x0
+80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+8000006c: 30529073 csrw mtvec,t0
+80000070: fff00293 li t0,-1
+80000074: 3b029073 csrw pmpaddr0,t0
+80000078: 01f00293 li t0,31
+8000007c: 3a029073 csrw pmpcfg0,t0
+80000080: 00000297 auipc t0,0x0
+80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+80000088: 30529073 csrw mtvec,t0
+8000008c: 30205073 csrwi medeleg,0
+80000090: 30305073 csrwi mideleg,0
+80000094: 30405073 csrwi mie,0
+80000098: 00000193 li gp,0
+8000009c: 00000297 auipc t0,0x0
+800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+800000a4: 30529073 csrw mtvec,t0
+800000a8: 00100513 li a0,1
+800000ac: 01f51513 slli a0,a0,0x1f
+800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74>
+800000b4: 0ff0000f fence
+800000b8: 00100193 li gp,1
+800000bc: 00000073 ecall
+800000c0: 80000297 auipc t0,0x80000
+800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+800000cc: 10529073 csrw stvec,t0
+800000d0: 0000b2b7 lui t0,0xb
+800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
+800000d8: 30229073 csrw medeleg,t0
+800000dc: 30202373 csrr t1,medeleg
+800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+800000e4: 30005073 csrwi mstatus,0
+800000e8: 00002537 lui a0,0x2
+800000ec: 30052073 csrs mstatus,a0
+800000f0: 00305073 csrwi fcsr,0
+800000f4: 00000297 auipc t0,0x0
+800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+800000fc: 34129073 csrw mepc,t0
+80000100: f1402573 csrr a0,mhartid
+80000104: 30200073 mret
+
+80000108 <test_2>:
+80000108: 00200193 li gp,2
+8000010c: 00002517 auipc a0,0x2
+80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+80000114: 00052007 flw ft0,0(a0)
+80000118: 00452087 flw ft1,4(a0)
+8000011c: 00852107 flw ft2,8(a0)
+80000120: 00c52683 lw a3,12(a0)
+80000124: c0001553 fcvt.w.s a0,ft0,rtz
+80000128: 001015f3 fsflags a1,zero
+8000012c: 00100613 li a2,1
+80000130: 3cd51463 bne a0,a3,800004f8 <fail>
+80000134: 3cc59263 bne a1,a2,800004f8 <fail>
+
+80000138 <test_3>:
+80000138: 00300193 li gp,3
+8000013c: 00002517 auipc a0,0x2
+80000140: ed450513 addi a0,a0,-300 # 80002010 <test_3_data>
+80000144: 00052007 flw ft0,0(a0)
+80000148: 00452087 flw ft1,4(a0)
+8000014c: 00852107 flw ft2,8(a0)
+80000150: 00c52683 lw a3,12(a0)
+80000154: c0001553 fcvt.w.s a0,ft0,rtz
+80000158: 001015f3 fsflags a1,zero
+8000015c: 00000613 li a2,0
+80000160: 38d51c63 bne a0,a3,800004f8 <fail>
+80000164: 38c59a63 bne a1,a2,800004f8 <fail>
+
+80000168 <test_4>:
+80000168: 00400193 li gp,4
+8000016c: 00002517 auipc a0,0x2
+80000170: eb450513 addi a0,a0,-332 # 80002020 <test_4_data>
+80000174: 00052007 flw ft0,0(a0)
+80000178: 00452087 flw ft1,4(a0)
+8000017c: 00852107 flw ft2,8(a0)
+80000180: 00c52683 lw a3,12(a0)
+80000184: c0001553 fcvt.w.s a0,ft0,rtz
+80000188: 001015f3 fsflags a1,zero
+8000018c: 00100613 li a2,1
+80000190: 36d51463 bne a0,a3,800004f8 <fail>
+80000194: 36c59263 bne a1,a2,800004f8 <fail>
+
+80000198 <test_5>:
+80000198: 00500193 li gp,5
+8000019c: 00002517 auipc a0,0x2
+800001a0: e9450513 addi a0,a0,-364 # 80002030 <test_5_data>
+800001a4: 00052007 flw ft0,0(a0)
+800001a8: 00452087 flw ft1,4(a0)
+800001ac: 00852107 flw ft2,8(a0)
+800001b0: 00c52683 lw a3,12(a0)
+800001b4: c0001553 fcvt.w.s a0,ft0,rtz
+800001b8: 001015f3 fsflags a1,zero
+800001bc: 00100613 li a2,1
+800001c0: 32d51c63 bne a0,a3,800004f8 <fail>
+800001c4: 32c59a63 bne a1,a2,800004f8 <fail>
+
+800001c8 <test_6>:
+800001c8: 00600193 li gp,6
+800001cc: 00002517 auipc a0,0x2
+800001d0: e7450513 addi a0,a0,-396 # 80002040 <test_6_data>
+800001d4: 00052007 flw ft0,0(a0)
+800001d8: 00452087 flw ft1,4(a0)
+800001dc: 00852107 flw ft2,8(a0)
+800001e0: 00c52683 lw a3,12(a0)
+800001e4: c0001553 fcvt.w.s a0,ft0,rtz
+800001e8: 001015f3 fsflags a1,zero
+800001ec: 00000613 li a2,0
+800001f0: 30d51463 bne a0,a3,800004f8 <fail>
+800001f4: 30c59263 bne a1,a2,800004f8 <fail>
+
+800001f8 <test_7>:
+800001f8: 00700193 li gp,7
+800001fc: 00002517 auipc a0,0x2
+80000200: e5450513 addi a0,a0,-428 # 80002050 <test_7_data>
+80000204: 00052007 flw ft0,0(a0)
+80000208: 00452087 flw ft1,4(a0)
+8000020c: 00852107 flw ft2,8(a0)
+80000210: 00c52683 lw a3,12(a0)
+80000214: c0001553 fcvt.w.s a0,ft0,rtz
+80000218: 001015f3 fsflags a1,zero
+8000021c: 00100613 li a2,1
+80000220: 2cd51c63 bne a0,a3,800004f8 <fail>
+80000224: 2cc59a63 bne a1,a2,800004f8 <fail>
+
+80000228 <test_8>:
+80000228: 00800193 li gp,8
+8000022c: 00002517 auipc a0,0x2
+80000230: e3450513 addi a0,a0,-460 # 80002060 <test_8_data>
+80000234: 00052007 flw ft0,0(a0)
+80000238: 00452087 flw ft1,4(a0)
+8000023c: 00852107 flw ft2,8(a0)
+80000240: 00c52683 lw a3,12(a0)
+80000244: c0001553 fcvt.w.s a0,ft0,rtz
+80000248: 001015f3 fsflags a1,zero
+8000024c: 01000613 li a2,16
+80000250: 2ad51463 bne a0,a3,800004f8 <fail>
+80000254: 2ac59263 bne a1,a2,800004f8 <fail>
+
+80000258 <test_9>:
+80000258: 00900193 li gp,9
+8000025c: 00002517 auipc a0,0x2
+80000260: e1450513 addi a0,a0,-492 # 80002070 <test_9_data>
+80000264: 00052007 flw ft0,0(a0)
+80000268: 00452087 flw ft1,4(a0)
+8000026c: 00852107 flw ft2,8(a0)
+80000270: 00c52683 lw a3,12(a0)
+80000274: c0001553 fcvt.w.s a0,ft0,rtz
+80000278: 001015f3 fsflags a1,zero
+8000027c: 01000613 li a2,16
+80000280: 26d51c63 bne a0,a3,800004f8 <fail>
+80000284: 26c59a63 bne a1,a2,800004f8 <fail>
+
+80000288 <test_12>:
+80000288: 00c00193 li gp,12
+8000028c: 00002517 auipc a0,0x2
+80000290: df450513 addi a0,a0,-524 # 80002080 <test_12_data>
+80000294: 00052007 flw ft0,0(a0)
+80000298: 00452087 flw ft1,4(a0)
+8000029c: 00852107 flw ft2,8(a0)
+800002a0: 00c52683 lw a3,12(a0)
+800002a4: c0101553 fcvt.wu.s a0,ft0,rtz
+800002a8: 001015f3 fsflags a1,zero
+800002ac: 01000613 li a2,16
+800002b0: 24d51463 bne a0,a3,800004f8 <fail>
+800002b4: 24c59263 bne a1,a2,800004f8 <fail>
+
+800002b8 <test_13>:
+800002b8: 00d00193 li gp,13
+800002bc: 00002517 auipc a0,0x2
+800002c0: dd450513 addi a0,a0,-556 # 80002090 <test_13_data>
+800002c4: 00052007 flw ft0,0(a0)
+800002c8: 00452087 flw ft1,4(a0)
+800002cc: 00852107 flw ft2,8(a0)
+800002d0: 00c52683 lw a3,12(a0)
+800002d4: c0101553 fcvt.wu.s a0,ft0,rtz
+800002d8: 001015f3 fsflags a1,zero
+800002dc: 01000613 li a2,16
+800002e0: 20d51c63 bne a0,a3,800004f8 <fail>
+800002e4: 20c59a63 bne a1,a2,800004f8 <fail>
+
+800002e8 <test_14>:
+800002e8: 00e00193 li gp,14
+800002ec: 00002517 auipc a0,0x2
+800002f0: db450513 addi a0,a0,-588 # 800020a0 <test_14_data>
+800002f4: 00052007 flw ft0,0(a0)
+800002f8: 00452087 flw ft1,4(a0)
+800002fc: 00852107 flw ft2,8(a0)
+80000300: 00c52683 lw a3,12(a0)
+80000304: c0101553 fcvt.wu.s a0,ft0,rtz
+80000308: 001015f3 fsflags a1,zero
+8000030c: 00100613 li a2,1
+80000310: 1ed51463 bne a0,a3,800004f8 <fail>
+80000314: 1ec59263 bne a1,a2,800004f8 <fail>
+
+80000318 <test_15>:
+80000318: 00f00193 li gp,15
+8000031c: 00002517 auipc a0,0x2
+80000320: d9450513 addi a0,a0,-620 # 800020b0 <test_15_data>
+80000324: 00052007 flw ft0,0(a0)
+80000328: 00452087 flw ft1,4(a0)
+8000032c: 00852107 flw ft2,8(a0)
+80000330: 00c52683 lw a3,12(a0)
+80000334: c0101553 fcvt.wu.s a0,ft0,rtz
+80000338: 001015f3 fsflags a1,zero
+8000033c: 00100613 li a2,1
+80000340: 1ad51c63 bne a0,a3,800004f8 <fail>
+80000344: 1ac59a63 bne a1,a2,800004f8 <fail>
+
+80000348 <test_16>:
+80000348: 01000193 li gp,16
+8000034c: 00002517 auipc a0,0x2
+80000350: d7450513 addi a0,a0,-652 # 800020c0 <test_16_data>
+80000354: 00052007 flw ft0,0(a0)
+80000358: 00452087 flw ft1,4(a0)
+8000035c: 00852107 flw ft2,8(a0)
+80000360: 00c52683 lw a3,12(a0)
+80000364: c0101553 fcvt.wu.s a0,ft0,rtz
+80000368: 001015f3 fsflags a1,zero
+8000036c: 00000613 li a2,0
+80000370: 18d51463 bne a0,a3,800004f8 <fail>
+80000374: 18c59263 bne a1,a2,800004f8 <fail>
+
+80000378 <test_17>:
+80000378: 01100193 li gp,17
+8000037c: 00002517 auipc a0,0x2
+80000380: d5450513 addi a0,a0,-684 # 800020d0 <test_17_data>
+80000384: 00052007 flw ft0,0(a0)
+80000388: 00452087 flw ft1,4(a0)
+8000038c: 00852107 flw ft2,8(a0)
+80000390: 00c52683 lw a3,12(a0)
+80000394: c0101553 fcvt.wu.s a0,ft0,rtz
+80000398: 001015f3 fsflags a1,zero
+8000039c: 00100613 li a2,1
+800003a0: 14d51c63 bne a0,a3,800004f8 <fail>
+800003a4: 14c59a63 bne a1,a2,800004f8 <fail>
+
+800003a8 <test_18>:
+800003a8: 01200193 li gp,18
+800003ac: 00002517 auipc a0,0x2
+800003b0: d3450513 addi a0,a0,-716 # 800020e0 <test_18_data>
+800003b4: 00052007 flw ft0,0(a0)
+800003b8: 00452087 flw ft1,4(a0)
+800003bc: 00852107 flw ft2,8(a0)
+800003c0: 00c52683 lw a3,12(a0)
+800003c4: c0101553 fcvt.wu.s a0,ft0,rtz
+800003c8: 001015f3 fsflags a1,zero
+800003cc: 01000613 li a2,16
+800003d0: 12d51463 bne a0,a3,800004f8 <fail>
+800003d4: 12c59263 bne a1,a2,800004f8 <fail>
+
+800003d8 <test_19>:
+800003d8: 01300193 li gp,19
+800003dc: 00002517 auipc a0,0x2
+800003e0: d1450513 addi a0,a0,-748 # 800020f0 <test_19_data>
+800003e4: 00052007 flw ft0,0(a0)
+800003e8: 00452087 flw ft1,4(a0)
+800003ec: 00852107 flw ft2,8(a0)
+800003f0: 00c52683 lw a3,12(a0)
+800003f4: c0101553 fcvt.wu.s a0,ft0,rtz
+800003f8: 001015f3 fsflags a1,zero
+800003fc: 00000613 li a2,0
+80000400: 0ed51c63 bne a0,a3,800004f8 <fail>
+80000404: 0ec59a63 bne a1,a2,800004f8 <fail>
+
+80000408 <test_42>:
+80000408: 00002097 auipc ra,0x2
+8000040c: cf808093 addi ra,ra,-776 # 80002100 <begin_signature>
+80000410: 0000a087 flw ft1,0(ra)
+80000414: c000f0d3 fcvt.w.s ra,ft1
+80000418: 80000eb7 lui t4,0x80000
+8000041c: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffdecf>
+80000420: 02a00193 li gp,42
+80000424: 0dd09a63 bne ra,t4,800004f8 <fail>
+
+80000428 <test_44>:
+80000428: 00002097 auipc ra,0x2
+8000042c: cd808093 addi ra,ra,-808 # 80002100 <begin_signature>
+80000430: 0080a087 flw ft1,8(ra)
+80000434: c000f0d3 fcvt.w.s ra,ft1
+80000438: 80000eb7 lui t4,0x80000
+8000043c: 02c00193 li gp,44
+80000440: 0bd09c63 bne ra,t4,800004f8 <fail>
+
+80000444 <test_52>:
+80000444: 00002097 auipc ra,0x2
+80000448: cbc08093 addi ra,ra,-836 # 80002100 <begin_signature>
+8000044c: 0040a087 flw ft1,4(ra)
+80000450: c000f0d3 fcvt.w.s ra,ft1
+80000454: 80000eb7 lui t4,0x80000
+80000458: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffdecf>
+8000045c: 03400193 li gp,52
+80000460: 09d09c63 bne ra,t4,800004f8 <fail>
+
+80000464 <test_54>:
+80000464: 00002097 auipc ra,0x2
+80000468: c9c08093 addi ra,ra,-868 # 80002100 <begin_signature>
+8000046c: 00c0a087 flw ft1,12(ra)
+80000470: c000f0d3 fcvt.w.s ra,ft1
+80000474: 80000eb7 lui t4,0x80000
+80000478: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffdecf>
+8000047c: 03600193 li gp,54
+80000480: 07d09c63 bne ra,t4,800004f8 <fail>
+
+80000484 <test_62>:
+80000484: 00002097 auipc ra,0x2
+80000488: c7c08093 addi ra,ra,-900 # 80002100 <begin_signature>
+8000048c: 0000a087 flw ft1,0(ra)
+80000490: c010f0d3 fcvt.wu.s ra,ft1
+80000494: fff00e93 li t4,-1
+80000498: 03e00193 li gp,62
+8000049c: 05d09e63 bne ra,t4,800004f8 <fail>
+
+800004a0 <test_63>:
+800004a0: 00002097 auipc ra,0x2
+800004a4: c6008093 addi ra,ra,-928 # 80002100 <begin_signature>
+800004a8: 0040a087 flw ft1,4(ra)
+800004ac: c010f0d3 fcvt.wu.s ra,ft1
+800004b0: fff00e93 li t4,-1
+800004b4: 03f00193 li gp,63
+800004b8: 05d09063 bne ra,t4,800004f8 <fail>
+
+800004bc <test_64>:
+800004bc: 00002097 auipc ra,0x2
+800004c0: c4408093 addi ra,ra,-956 # 80002100 <begin_signature>
+800004c4: 0080a087 flw ft1,8(ra)
+800004c8: c010f0d3 fcvt.wu.s ra,ft1
+800004cc: 00000e93 li t4,0
+800004d0: 04000193 li gp,64
+800004d4: 03d09263 bne ra,t4,800004f8 <fail>
+
+800004d8 <test_65>:
+800004d8: 00002097 auipc ra,0x2
+800004dc: c2808093 addi ra,ra,-984 # 80002100 <begin_signature>
+800004e0: 00c0a087 flw ft1,12(ra)
+800004e4: c010f0d3 fcvt.wu.s ra,ft1
+800004e8: fff00e93 li t4,-1
+800004ec: 04100193 li gp,65
+800004f0: 01d09463 bne ra,t4,800004f8 <fail>
+800004f4: 00301c63 bne zero,gp,8000050c <pass>
+
+800004f8 <fail>:
+800004f8: 0ff0000f fence
+800004fc: 00018063 beqz gp,800004fc <fail+0x4>
+80000500: 00119193 slli gp,gp,0x1
+80000504: 0011e193 ori gp,gp,1
+80000508: 00000073 ecall
+
+8000050c <pass>:
+8000050c: 0ff0000f fence
+80000510: 00100193 li gp,1
+80000514: 00000073 ecall
+80000518: c0001073 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:
+
+80002000 <test_2_data>:
+80002000: cccd beqz s1,800020ba <test_15_data+0xa>
+80002002: bf8c fsd fa1,56(a5)
+80002004: 0000 unimp
+80002006: 0000 unimp
+80002008: 0000 unimp
+8000200a: 0000 unimp
+8000200c: ffff 0xffff
+8000200e: ffff 0xffff
+
+80002010 <test_3_data>:
+80002010: 0000 unimp
+80002012: bf80 fsd fs0,56(a5)
+80002014: 0000 unimp
+80002016: 0000 unimp
+80002018: 0000 unimp
+8000201a: 0000 unimp
+8000201c: ffff 0xffff
+8000201e: ffff 0xffff
+
+80002020 <test_4_data>:
+80002020: 6666 flw fa2,88(sp)
+80002022: bf66 fsd fs9,440(sp)
+80002024: 0000 unimp
+80002026: 0000 unimp
+80002028: 0000 unimp
+8000202a: 0000 unimp
+8000202c: 0000 unimp
+8000202e: 0000 unimp
+
+80002030 <test_5_data>:
+80002030: 6666 flw fa2,88(sp)
+80002032: 3f66 fld ft10,120(sp)
+80002034: 0000 unimp
+80002036: 0000 unimp
+80002038: 0000 unimp
+8000203a: 0000 unimp
+8000203c: 0000 unimp
+8000203e: 0000 unimp
+
+80002040 <test_6_data>:
+80002040: 0000 unimp
+80002042: 3f80 fld fs0,56(a5)
+80002044: 0000 unimp
+80002046: 0000 unimp
+80002048: 0000 unimp
+8000204a: 0000 unimp
+8000204c: 0001 nop
+8000204e: 0000 unimp
+
+80002050 <test_7_data>:
+80002050: cccd beqz s1,8000210a <begin_signature+0xa>
+80002052: 3f8c fld fa1,56(a5)
+80002054: 0000 unimp
+80002056: 0000 unimp
+80002058: 0000 unimp
+8000205a: 0000 unimp
+8000205c: 0001 nop
+8000205e: 0000 unimp
+
+80002060 <test_8_data>:
+80002060: d05e sw s7,32(sp)
+80002062: cf32 sw a2,156(sp)
+80002064: 0000 unimp
+80002066: 0000 unimp
+80002068: 0000 unimp
+8000206a: 0000 unimp
+8000206c: 0000 unimp
+8000206e: 8000 0x8000
+
+80002070 <test_9_data>:
+80002070: d05e sw s7,32(sp)
+80002072: 4f32 lw t5,12(sp)
+80002074: 0000 unimp
+80002076: 0000 unimp
+80002078: 0000 unimp
+8000207a: 0000 unimp
+8000207c: ffff 0xffff
+8000207e: 7fff 0x7fff
+
+80002080 <test_12_data>:
+80002080: 0000 unimp
+80002082: c040 sw s0,4(s0)
+80002084: 0000 unimp
+80002086: 0000 unimp
+80002088: 0000 unimp
+8000208a: 0000 unimp
+8000208c: 0000 unimp
+8000208e: 0000 unimp
+
+80002090 <test_13_data>:
+80002090: 0000 unimp
+80002092: bf80 fsd fs0,56(a5)
+80002094: 0000 unimp
+80002096: 0000 unimp
+80002098: 0000 unimp
+8000209a: 0000 unimp
+8000209c: 0000 unimp
+8000209e: 0000 unimp
+
+800020a0 <test_14_data>:
+800020a0: 6666 flw fa2,88(sp)
+800020a2: bf66 fsd fs9,440(sp)
+800020a4: 0000 unimp
+800020a6: 0000 unimp
+800020a8: 0000 unimp
+800020aa: 0000 unimp
+800020ac: 0000 unimp
+800020ae: 0000 unimp
+
+800020b0 <test_15_data>:
+800020b0: 6666 flw fa2,88(sp)
+800020b2: 3f66 fld ft10,120(sp)
+800020b4: 0000 unimp
+800020b6: 0000 unimp
+800020b8: 0000 unimp
+800020ba: 0000 unimp
+800020bc: 0000 unimp
+800020be: 0000 unimp
+
+800020c0 <test_16_data>:
+800020c0: 0000 unimp
+800020c2: 3f80 fld fs0,56(a5)
+800020c4: 0000 unimp
+800020c6: 0000 unimp
+800020c8: 0000 unimp
+800020ca: 0000 unimp
+800020cc: 0001 nop
+800020ce: 0000 unimp
+
+800020d0 <test_17_data>:
+800020d0: cccd beqz s1,8000218a <_end+0x5a>
+800020d2: 3f8c fld fa1,56(a5)
+800020d4: 0000 unimp
+800020d6: 0000 unimp
+800020d8: 0000 unimp
+800020da: 0000 unimp
+800020dc: 0001 nop
+800020de: 0000 unimp
+
+800020e0 <test_18_data>:
+800020e0: d05e sw s7,32(sp)
+800020e2: cf32 sw a2,156(sp)
+800020e4: 0000 unimp
+800020e6: 0000 unimp
+800020e8: 0000 unimp
+800020ea: 0000 unimp
+800020ec: 0000 unimp
+800020ee: 0000 unimp
+
+800020f0 <test_19_data>:
+800020f0: d05e sw s7,32(sp)
+800020f2: 4f32 lw t5,12(sp)
+800020f4: 0000 unimp
+800020f6: 0000 unimp
+800020f8: 0000 unimp
+800020fa: 0000 unimp
+800020fc: 5e00 lw s0,56(a2)
+800020fe: b2d0 fsd fa2,160(a3)
+
+80002100 <begin_signature>:
+80002100: ffff 0xffff
+80002102: ffff 0xffff
+80002104: ffff 0xffff
+80002106: 7fff 0x7fff
+80002108: 0000 unimp
+8000210a: ff80 fsw fs0,56(a5)
+8000210c: 0000 unimp
+8000210e: 7f80 flw fs0,56(a5)
+
+80002110 <tdat_d>:
+80002110: ffff 0xffff
+80002112: ffff 0xffff
+80002114: ffff 0xffff
+80002116: ffff 0xffff
+80002118: ffff 0xffff
+8000211a: ffff 0xffff
+8000211c: ffff 0xffff
+8000211e: 7fff 0x7fff
+80002120: 0000 unimp
+80002122: 0000 unimp
+80002124: 0000 unimp
+80002126: fff0 fsw fa2,124(a5)
+80002128: 0000 unimp
+8000212a: 0000 unimp
+8000212c: 0000 unimp
+8000212e: 7ff0 flw fa2,124(a5)
diff --git a/test/riscv-tests/rv32uf-p-fcvt_w.elf b/test/riscv-tests/rv32uf-p-fcvt_w.elf
new file mode 100644
index 0000000..05dc1ab
--- /dev/null
+++ b/test/riscv-tests/rv32uf-p-fcvt_w.elf
Binary files differ
diff --git a/test/riscv-tests/rv32uf-p-fdiv.dump b/test/riscv-tests/rv32uf-p-fdiv.dump
new file mode 100644
index 0000000..1f44e60
--- /dev/null
+++ b/test/riscv-tests/rv32uf-p-fdiv.dump
@@ -0,0 +1,294 @@
+
+rv32uf-p-fdiv: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 04c0006f j 8000004c <reset_vector>
+
+80000004 <trap_vector>:
+80000004: 34202f73 csrr t5,mcause
+80000008: 00800f93 li t6,8
+8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+80000010: 00900f93 li t6,9
+80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+80000018: 00b00f93 li t6,11
+8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+80000020: 80000f17 auipc t5,0x80000
+80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+8000002c: 000f0067 jr t5
+80000030: 34202f73 csrr t5,mcause
+80000034: 000f5463 bgez t5,8000003c <handle_exception>
+80000038: 0040006f j 8000003c <handle_exception>
+
+8000003c <handle_exception>:
+8000003c: 5391e193 ori gp,gp,1337
+
+80000040 <write_tohost>:
+80000040: 00001f17 auipc t5,0x1
+80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+80000048: ff9ff06f j 80000040 <write_tohost>
+
+8000004c <reset_vector>:
+8000004c: f1402573 csrr a0,mhartid
+80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+80000054: 00000297 auipc t0,0x0
+80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+8000005c: 30529073 csrw mtvec,t0
+80000060: 18005073 csrwi satp,0
+80000064: 00000297 auipc t0,0x0
+80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+8000006c: 30529073 csrw mtvec,t0
+80000070: fff00293 li t0,-1
+80000074: 3b029073 csrw pmpaddr0,t0
+80000078: 01f00293 li t0,31
+8000007c: 3a029073 csrw pmpcfg0,t0
+80000080: 00000297 auipc t0,0x0
+80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+80000088: 30529073 csrw mtvec,t0
+8000008c: 30205073 csrwi medeleg,0
+80000090: 30305073 csrwi mideleg,0
+80000094: 30405073 csrwi mie,0
+80000098: 00000193 li gp,0
+8000009c: 00000297 auipc t0,0x0
+800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+800000a4: 30529073 csrw mtvec,t0
+800000a8: 00100513 li a0,1
+800000ac: 01f51513 slli a0,a0,0x1f
+800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74>
+800000b4: 0ff0000f fence
+800000b8: 00100193 li gp,1
+800000bc: 00000073 ecall
+800000c0: 80000297 auipc t0,0x80000
+800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+800000cc: 10529073 csrw stvec,t0
+800000d0: 0000b2b7 lui t0,0xb
+800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
+800000d8: 30229073 csrw medeleg,t0
+800000dc: 30202373 csrr t1,medeleg
+800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+800000e4: 30005073 csrwi mstatus,0
+800000e8: 00002537 lui a0,0x2
+800000ec: 30052073 csrs mstatus,a0
+800000f0: 00305073 csrwi fcsr,0
+800000f4: 00000297 auipc t0,0x0
+800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+800000fc: 34129073 csrw mepc,t0
+80000100: f1402573 csrr a0,mhartid
+80000104: 30200073 mret
+
+80000108 <test_2>:
+80000108: 00200193 li gp,2
+8000010c: 00002517 auipc a0,0x2
+80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+80000114: 00052007 flw ft0,0(a0)
+80000118: 00452087 flw ft1,4(a0)
+8000011c: 00852107 flw ft2,8(a0)
+80000120: 00c52683 lw a3,12(a0)
+80000124: 181071d3 fdiv.s ft3,ft0,ft1
+80000128: e0018553 fmv.x.w a0,ft3
+8000012c: 001015f3 fsflags a1,zero
+80000130: 00100613 li a2,1
+80000134: 14d51263 bne a0,a3,80000278 <fail>
+80000138: 14c59063 bne a1,a2,80000278 <fail>
+
+8000013c <test_3>:
+8000013c: 00300193 li gp,3
+80000140: 00002517 auipc a0,0x2
+80000144: ed050513 addi a0,a0,-304 # 80002010 <test_3_data>
+80000148: 00052007 flw ft0,0(a0)
+8000014c: 00452087 flw ft1,4(a0)
+80000150: 00852107 flw ft2,8(a0)
+80000154: 00c52683 lw a3,12(a0)
+80000158: 181071d3 fdiv.s ft3,ft0,ft1
+8000015c: e0018553 fmv.x.w a0,ft3
+80000160: 001015f3 fsflags a1,zero
+80000164: 00100613 li a2,1
+80000168: 10d51863 bne a0,a3,80000278 <fail>
+8000016c: 10c59663 bne a1,a2,80000278 <fail>
+
+80000170 <test_4>:
+80000170: 00400193 li gp,4
+80000174: 00002517 auipc a0,0x2
+80000178: eac50513 addi a0,a0,-340 # 80002020 <test_4_data>
+8000017c: 00052007 flw ft0,0(a0)
+80000180: 00452087 flw ft1,4(a0)
+80000184: 00852107 flw ft2,8(a0)
+80000188: 00c52683 lw a3,12(a0)
+8000018c: 181071d3 fdiv.s ft3,ft0,ft1
+80000190: e0018553 fmv.x.w a0,ft3
+80000194: 001015f3 fsflags a1,zero
+80000198: 00000613 li a2,0
+8000019c: 0cd51e63 bne a0,a3,80000278 <fail>
+800001a0: 0cc59c63 bne a1,a2,80000278 <fail>
+
+800001a4 <test_5>:
+800001a4: 00500193 li gp,5
+800001a8: 00002517 auipc a0,0x2
+800001ac: e8850513 addi a0,a0,-376 # 80002030 <test_5_data>
+800001b0: 00052007 flw ft0,0(a0)
+800001b4: 00452087 flw ft1,4(a0)
+800001b8: 00852107 flw ft2,8(a0)
+800001bc: 00c52683 lw a3,12(a0)
+800001c0: 580071d3 fsqrt.s ft3,ft0
+800001c4: e0018553 fmv.x.w a0,ft3
+800001c8: 001015f3 fsflags a1,zero
+800001cc: 00100613 li a2,1
+800001d0: 0ad51463 bne a0,a3,80000278 <fail>
+800001d4: 0ac59263 bne a1,a2,80000278 <fail>
+
+800001d8 <test_6>:
+800001d8: 00600193 li gp,6
+800001dc: 00002517 auipc a0,0x2
+800001e0: e6450513 addi a0,a0,-412 # 80002040 <test_6_data>
+800001e4: 00052007 flw ft0,0(a0)
+800001e8: 00452087 flw ft1,4(a0)
+800001ec: 00852107 flw ft2,8(a0)
+800001f0: 00c52683 lw a3,12(a0)
+800001f4: 580071d3 fsqrt.s ft3,ft0
+800001f8: e0018553 fmv.x.w a0,ft3
+800001fc: 001015f3 fsflags a1,zero
+80000200: 00000613 li a2,0
+80000204: 06d51a63 bne a0,a3,80000278 <fail>
+80000208: 06c59863 bne a1,a2,80000278 <fail>
+
+8000020c <test_7>:
+8000020c: 00700193 li gp,7
+80000210: 00002517 auipc a0,0x2
+80000214: e4050513 addi a0,a0,-448 # 80002050 <test_7_data>
+80000218: 00052007 flw ft0,0(a0)
+8000021c: 00452087 flw ft1,4(a0)
+80000220: 00852107 flw ft2,8(a0)
+80000224: 00c52683 lw a3,12(a0)
+80000228: 580071d3 fsqrt.s ft3,ft0
+8000022c: e0018553 fmv.x.w a0,ft3
+80000230: 001015f3 fsflags a1,zero
+80000234: 01000613 li a2,16
+80000238: 04d51063 bne a0,a3,80000278 <fail>
+8000023c: 02c59e63 bne a1,a2,80000278 <fail>
+
+80000240 <test_8>:
+80000240: 00800193 li gp,8
+80000244: 00002517 auipc a0,0x2
+80000248: e2050513 addi a0,a0,-480 # 80002064 <test_8_data>
+8000024c: 00052007 flw ft0,0(a0)
+80000250: 00452087 flw ft1,4(a0)
+80000254: 00852107 flw ft2,8(a0)
+80000258: 00c52683 lw a3,12(a0)
+8000025c: 580071d3 fsqrt.s ft3,ft0
+80000260: e0018553 fmv.x.w a0,ft3
+80000264: 001015f3 fsflags a1,zero
+80000268: 00100613 li a2,1
+8000026c: 00d51663 bne a0,a3,80000278 <fail>
+80000270: 00c59463 bne a1,a2,80000278 <fail>
+80000274: 00301c63 bne zero,gp,8000028c <pass>
+
+80000278 <fail>:
+80000278: 0ff0000f fence
+8000027c: 00018063 beqz gp,8000027c <fail+0x4>
+80000280: 00119193 slli gp,gp,0x1
+80000284: 0011e193 ori gp,gp,1
+80000288: 00000073 ecall
+
+8000028c <pass>:
+8000028c: 0ff0000f fence
+80000290: 00100193 li gp,1
+80000294: 00000073 ecall
+80000298: c0001073 unimp
+8000029c: 0000 unimp
+8000029e: 0000 unimp
+800002a0: 0000 unimp
+800002a2: 0000 unimp
+800002a4: 0000 unimp
+800002a6: 0000 unimp
+800002a8: 0000 unimp
+800002aa: 0000 unimp
+800002ac: 0000 unimp
+800002ae: 0000 unimp
+800002b0: 0000 unimp
+800002b2: 0000 unimp
+800002b4: 0000 unimp
+800002b6: 0000 unimp
+800002b8: 0000 unimp
+800002ba: 0000 unimp
+800002bc: 0000 unimp
+800002be: 0000 unimp
+800002c0: 0000 unimp
+800002c2: 0000 unimp
+
+Disassembly of section .data:
+
+80002000 <test_2_data>:
+80002000: 40490fdb 0x40490fdb
+80002004: f854 fsw fa3,52(s0)
+80002006: 402d c.li zero,11
+80002008: 0000 unimp
+8000200a: 0000 unimp
+8000200c: eee0 fsw fs0,92(a3)
+8000200e: sltiu t6,zero,1024
+
+80002010 <test_3_data>:
+80002010: 4000 lw s0,0(s0)
+80002012: c49a sw t1,72(sp)
+80002014: 449a6333 0x449a6333
+80002018: 0000 unimp
+8000201a: 0000 unimp
+8000201c: c5a2 sw s0,200(sp)
+8000201e: bf7f 0xbf7f
+
+80002020 <test_4_data>:
+80002020: 40490fdb 0x40490fdb
+80002024: 0000 unimp
+80002026: 3f80 fld fs0,56(a5)
+80002028: 0000 unimp
+8000202a: 0000 unimp
+8000202c: 40490fdb 0x40490fdb
+
+80002030 <test_5_data>:
+80002030: 40490fdb 0x40490fdb
+80002034: 0000 unimp
+80002036: 0000 unimp
+80002038: 0000 unimp
+8000203a: 0000 unimp
+8000203c: dfc5 beqz a5,80001ff4 <fromhost+0xfb4>
+8000203e: 3fe2 fld ft11,56(sp)
+
+80002040 <test_6_data>:
+80002040: 4000 lw s0,0(s0)
+80002042: 461c lw a5,8(a2)
+80002044: 0000 unimp
+80002046: 0000 unimp
+80002048: 0000 unimp
+8000204a: 0000 unimp
+8000204c: 0000 unimp
+8000204e: 42c8 lw a0,4(a3)
+
+80002050 <test_7_data>:
+80002050: 0000 unimp
+80002052: bf80 fsd fs0,56(a5)
+80002054: 0000 unimp
+80002056: 0000 unimp
+80002058: 0000 unimp
+8000205a: 0000 unimp
+8000205c: 0000 unimp
+8000205e: 7fc0 flw fs0,60(a5)
+80002060: 0000 unimp
+80002062: 0000 unimp
+
+80002064 <test_8_data>:
+80002064: 0000 unimp
+80002066: 0000432b 0x432b
+8000206a: 0000 unimp
+8000206c: 0000 unimp
+8000206e: 0000 unimp
+80002070: 3a26 fld fs4,104(sp)
+80002072: 4151 li sp,20
+80002074: 0000 unimp
+80002076: 0000 unimp
+80002078: 0000 unimp
+8000207a: 0000 unimp
+8000207c: 0000 unimp
+8000207e: 0000 unimp
diff --git a/test/riscv-tests/rv32uf-p-fdiv.elf b/test/riscv-tests/rv32uf-p-fdiv.elf
new file mode 100644
index 0000000..4812852
--- /dev/null
+++ b/test/riscv-tests/rv32uf-p-fdiv.elf
Binary files differ
diff --git a/test/riscv-tests/rv32uf-p-fmadd.dump b/test/riscv-tests/rv32uf-p-fmadd.dump
new file mode 100644
index 0000000..fd13da7
--- /dev/null
+++ b/test/riscv-tests/rv32uf-p-fmadd.dump
@@ -0,0 +1,411 @@
+
+rv32uf-p-fmadd: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 04c0006f j 8000004c <reset_vector>
+
+80000004 <trap_vector>:
+80000004: 34202f73 csrr t5,mcause
+80000008: 00800f93 li t6,8
+8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+80000010: 00900f93 li t6,9
+80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+80000018: 00b00f93 li t6,11
+8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+80000020: 80000f17 auipc t5,0x80000
+80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+8000002c: 000f0067 jr t5
+80000030: 34202f73 csrr t5,mcause
+80000034: 000f5463 bgez t5,8000003c <handle_exception>
+80000038: 0040006f j 8000003c <handle_exception>
+
+8000003c <handle_exception>:
+8000003c: 5391e193 ori gp,gp,1337
+
+80000040 <write_tohost>:
+80000040: 00001f17 auipc t5,0x1
+80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+80000048: ff9ff06f j 80000040 <write_tohost>
+
+8000004c <reset_vector>:
+8000004c: f1402573 csrr a0,mhartid
+80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+80000054: 00000297 auipc t0,0x0
+80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+8000005c: 30529073 csrw mtvec,t0
+80000060: 18005073 csrwi satp,0
+80000064: 00000297 auipc t0,0x0
+80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+8000006c: 30529073 csrw mtvec,t0
+80000070: fff00293 li t0,-1
+80000074: 3b029073 csrw pmpaddr0,t0
+80000078: 01f00293 li t0,31
+8000007c: 3a029073 csrw pmpcfg0,t0
+80000080: 00000297 auipc t0,0x0
+80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+80000088: 30529073 csrw mtvec,t0
+8000008c: 30205073 csrwi medeleg,0
+80000090: 30305073 csrwi mideleg,0
+80000094: 30405073 csrwi mie,0
+80000098: 00000193 li gp,0
+8000009c: 00000297 auipc t0,0x0
+800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+800000a4: 30529073 csrw mtvec,t0
+800000a8: 00100513 li a0,1
+800000ac: 01f51513 slli a0,a0,0x1f
+800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74>
+800000b4: 0ff0000f fence
+800000b8: 00100193 li gp,1
+800000bc: 00000073 ecall
+800000c0: 80000297 auipc t0,0x80000
+800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+800000cc: 10529073 csrw stvec,t0
+800000d0: 0000b2b7 lui t0,0xb
+800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
+800000d8: 30229073 csrw medeleg,t0
+800000dc: 30202373 csrr t1,medeleg
+800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+800000e4: 30005073 csrwi mstatus,0
+800000e8: 00002537 lui a0,0x2
+800000ec: 30052073 csrs mstatus,a0
+800000f0: 00305073 csrwi fcsr,0
+800000f4: 00000297 auipc t0,0x0
+800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+800000fc: 34129073 csrw mepc,t0
+80000100: f1402573 csrr a0,mhartid
+80000104: 30200073 mret
+
+80000108 <test_2>:
+80000108: 00200193 li gp,2
+8000010c: 00002517 auipc a0,0x2
+80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+80000114: 00052007 flw ft0,0(a0)
+80000118: 00452087 flw ft1,4(a0)
+8000011c: 00852107 flw ft2,8(a0)
+80000120: 00c52683 lw a3,12(a0)
+80000124: 101071c3 fmadd.s ft3,ft0,ft1,ft2
+80000128: e0018553 fmv.x.w a0,ft3
+8000012c: 001015f3 fsflags a1,zero
+80000130: 00000613 li a2,0
+80000134: 24d51463 bne a0,a3,8000037c <fail>
+80000138: 24c59263 bne a1,a2,8000037c <fail>
+
+8000013c <test_3>:
+8000013c: 00300193 li gp,3
+80000140: 00002517 auipc a0,0x2
+80000144: ed050513 addi a0,a0,-304 # 80002010 <test_3_data>
+80000148: 00052007 flw ft0,0(a0)
+8000014c: 00452087 flw ft1,4(a0)
+80000150: 00852107 flw ft2,8(a0)
+80000154: 00c52683 lw a3,12(a0)
+80000158: 101071c3 fmadd.s ft3,ft0,ft1,ft2
+8000015c: e0018553 fmv.x.w a0,ft3
+80000160: 001015f3 fsflags a1,zero
+80000164: 00100613 li a2,1
+80000168: 20d51a63 bne a0,a3,8000037c <fail>
+8000016c: 20c59863 bne a1,a2,8000037c <fail>
+
+80000170 <test_4>:
+80000170: 00400193 li gp,4
+80000174: 00002517 auipc a0,0x2
+80000178: eac50513 addi a0,a0,-340 # 80002020 <test_4_data>
+8000017c: 00052007 flw ft0,0(a0)
+80000180: 00452087 flw ft1,4(a0)
+80000184: 00852107 flw ft2,8(a0)
+80000188: 00c52683 lw a3,12(a0)
+8000018c: 101071c3 fmadd.s ft3,ft0,ft1,ft2
+80000190: e0018553 fmv.x.w a0,ft3
+80000194: 001015f3 fsflags a1,zero
+80000198: 00000613 li a2,0
+8000019c: 1ed51063 bne a0,a3,8000037c <fail>
+800001a0: 1cc59e63 bne a1,a2,8000037c <fail>
+
+800001a4 <test_5>:
+800001a4: 00500193 li gp,5
+800001a8: 00002517 auipc a0,0x2
+800001ac: e8850513 addi a0,a0,-376 # 80002030 <test_5_data>
+800001b0: 00052007 flw ft0,0(a0)
+800001b4: 00452087 flw ft1,4(a0)
+800001b8: 00852107 flw ft2,8(a0)
+800001bc: 00c52683 lw a3,12(a0)
+800001c0: 101071cf fnmadd.s ft3,ft0,ft1,ft2
+800001c4: e0018553 fmv.x.w a0,ft3
+800001c8: 001015f3 fsflags a1,zero
+800001cc: 00000613 li a2,0
+800001d0: 1ad51663 bne a0,a3,8000037c <fail>
+800001d4: 1ac59463 bne a1,a2,8000037c <fail>
+
+800001d8 <test_6>:
+800001d8: 00600193 li gp,6
+800001dc: 00002517 auipc a0,0x2
+800001e0: e6450513 addi a0,a0,-412 # 80002040 <test_6_data>
+800001e4: 00052007 flw ft0,0(a0)
+800001e8: 00452087 flw ft1,4(a0)
+800001ec: 00852107 flw ft2,8(a0)
+800001f0: 00c52683 lw a3,12(a0)
+800001f4: 101071cf fnmadd.s ft3,ft0,ft1,ft2
+800001f8: e0018553 fmv.x.w a0,ft3
+800001fc: 001015f3 fsflags a1,zero
+80000200: 00100613 li a2,1
+80000204: 16d51c63 bne a0,a3,8000037c <fail>
+80000208: 16c59a63 bne a1,a2,8000037c <fail>
+
+8000020c <test_7>:
+8000020c: 00700193 li gp,7
+80000210: 00002517 auipc a0,0x2
+80000214: e4050513 addi a0,a0,-448 # 80002050 <test_7_data>
+80000218: 00052007 flw ft0,0(a0)
+8000021c: 00452087 flw ft1,4(a0)
+80000220: 00852107 flw ft2,8(a0)
+80000224: 00c52683 lw a3,12(a0)
+80000228: 101071cf fnmadd.s ft3,ft0,ft1,ft2
+8000022c: e0018553 fmv.x.w a0,ft3
+80000230: 001015f3 fsflags a1,zero
+80000234: 00000613 li a2,0
+80000238: 14d51263 bne a0,a3,8000037c <fail>
+8000023c: 14c59063 bne a1,a2,8000037c <fail>
+
+80000240 <test_8>:
+80000240: 00800193 li gp,8
+80000244: 00002517 auipc a0,0x2
+80000248: e1c50513 addi a0,a0,-484 # 80002060 <test_8_data>
+8000024c: 00052007 flw ft0,0(a0)
+80000250: 00452087 flw ft1,4(a0)
+80000254: 00852107 flw ft2,8(a0)
+80000258: 00c52683 lw a3,12(a0)
+8000025c: 101071c7 fmsub.s ft3,ft0,ft1,ft2
+80000260: e0018553 fmv.x.w a0,ft3
+80000264: 001015f3 fsflags a1,zero
+80000268: 00000613 li a2,0
+8000026c: 10d51863 bne a0,a3,8000037c <fail>
+80000270: 10c59663 bne a1,a2,8000037c <fail>
+
+80000274 <test_9>:
+80000274: 00900193 li gp,9
+80000278: 00002517 auipc a0,0x2
+8000027c: df850513 addi a0,a0,-520 # 80002070 <test_9_data>
+80000280: 00052007 flw ft0,0(a0)
+80000284: 00452087 flw ft1,4(a0)
+80000288: 00852107 flw ft2,8(a0)
+8000028c: 00c52683 lw a3,12(a0)
+80000290: 101071c7 fmsub.s ft3,ft0,ft1,ft2
+80000294: e0018553 fmv.x.w a0,ft3
+80000298: 001015f3 fsflags a1,zero
+8000029c: 00100613 li a2,1
+800002a0: 0cd51e63 bne a0,a3,8000037c <fail>
+800002a4: 0cc59c63 bne a1,a2,8000037c <fail>
+
+800002a8 <test_10>:
+800002a8: 00a00193 li gp,10
+800002ac: 00002517 auipc a0,0x2
+800002b0: dd450513 addi a0,a0,-556 # 80002080 <test_10_data>
+800002b4: 00052007 flw ft0,0(a0)
+800002b8: 00452087 flw ft1,4(a0)
+800002bc: 00852107 flw ft2,8(a0)
+800002c0: 00c52683 lw a3,12(a0)
+800002c4: 101071c7 fmsub.s ft3,ft0,ft1,ft2
+800002c8: e0018553 fmv.x.w a0,ft3
+800002cc: 001015f3 fsflags a1,zero
+800002d0: 00000613 li a2,0
+800002d4: 0ad51463 bne a0,a3,8000037c <fail>
+800002d8: 0ac59263 bne a1,a2,8000037c <fail>
+
+800002dc <test_11>:
+800002dc: 00b00193 li gp,11
+800002e0: 00002517 auipc a0,0x2
+800002e4: db050513 addi a0,a0,-592 # 80002090 <test_11_data>
+800002e8: 00052007 flw ft0,0(a0)
+800002ec: 00452087 flw ft1,4(a0)
+800002f0: 00852107 flw ft2,8(a0)
+800002f4: 00c52683 lw a3,12(a0)
+800002f8: 101071cb fnmsub.s ft3,ft0,ft1,ft2
+800002fc: e0018553 fmv.x.w a0,ft3
+80000300: 001015f3 fsflags a1,zero
+80000304: 00000613 li a2,0
+80000308: 06d51a63 bne a0,a3,8000037c <fail>
+8000030c: 06c59863 bne a1,a2,8000037c <fail>
+
+80000310 <test_12>:
+80000310: 00c00193 li gp,12
+80000314: 00002517 auipc a0,0x2
+80000318: d8c50513 addi a0,a0,-628 # 800020a0 <test_12_data>
+8000031c: 00052007 flw ft0,0(a0)
+80000320: 00452087 flw ft1,4(a0)
+80000324: 00852107 flw ft2,8(a0)
+80000328: 00c52683 lw a3,12(a0)
+8000032c: 101071cb fnmsub.s ft3,ft0,ft1,ft2
+80000330: e0018553 fmv.x.w a0,ft3
+80000334: 001015f3 fsflags a1,zero
+80000338: 00100613 li a2,1
+8000033c: 04d51063 bne a0,a3,8000037c <fail>
+80000340: 02c59e63 bne a1,a2,8000037c <fail>
+
+80000344 <test_13>:
+80000344: 00d00193 li gp,13
+80000348: 00002517 auipc a0,0x2
+8000034c: d6850513 addi a0,a0,-664 # 800020b0 <test_13_data>
+80000350: 00052007 flw ft0,0(a0)
+80000354: 00452087 flw ft1,4(a0)
+80000358: 00852107 flw ft2,8(a0)
+8000035c: 00c52683 lw a3,12(a0)
+80000360: 101071cb fnmsub.s ft3,ft0,ft1,ft2
+80000364: e0018553 fmv.x.w a0,ft3
+80000368: 001015f3 fsflags a1,zero
+8000036c: 00000613 li a2,0
+80000370: 00d51663 bne a0,a3,8000037c <fail>
+80000374: 00c59463 bne a1,a2,8000037c <fail>
+80000378: 00301c63 bne zero,gp,80000390 <pass>
+
+8000037c <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
+
+80000390 <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:
+
+80002000 <test_2_data>:
+80002000: 0000 unimp
+80002002: 3f80 fld fs0,56(a5)
+80002004: 0000 unimp
+80002006: 4020 lw s0,64(s0)
+80002008: 0000 unimp
+8000200a: 3f80 fld fs0,56(a5)
+8000200c: 0000 unimp
+8000200e: 4060 lw s0,68(s0)
+
+80002010 <test_3_data>:
+80002010: 0000 unimp
+80002012: bf80 fsd fs0,56(a5)
+80002014: c49a6333 0xc49a6333
+80002018: cccd beqz s1,800020d2 <_end+0x12>
+8000201a: 3f8c fld fa1,56(a5)
+8000201c: 8666 mv a2,s9
+8000201e: 449a lw s1,132(sp)
+
+80002020 <test_4_data>:
+80002020: 0000 unimp
+80002022: 4000 lw s0,0(s0)
+80002024: 0000 unimp
+80002026: c0a0 sw s0,64(s1)
+80002028: 0000 unimp
+8000202a: c000 sw s0,0(s0)
+8000202c: 0000 unimp
+8000202e: c140 sw s0,4(a0)
+
+80002030 <test_5_data>:
+80002030: 0000 unimp
+80002032: 3f80 fld fs0,56(a5)
+80002034: 0000 unimp
+80002036: 4020 lw s0,64(s0)
+80002038: 0000 unimp
+8000203a: 3f80 fld fs0,56(a5)
+8000203c: 0000 unimp
+8000203e: c060 sw s0,68(s0)
+
+80002040 <test_6_data>:
+80002040: 0000 unimp
+80002042: bf80 fsd fs0,56(a5)
+80002044: c49a6333 0xc49a6333
+80002048: cccd beqz s1,80002102 <_end+0x42>
+8000204a: 3f8c fld fa1,56(a5)
+8000204c: 8666 mv a2,s9
+8000204e: c49a sw t1,72(sp)
+
+80002050 <test_7_data>:
+80002050: 0000 unimp
+80002052: 4000 lw s0,0(s0)
+80002054: 0000 unimp
+80002056: c0a0 sw s0,64(s1)
+80002058: 0000 unimp
+8000205a: c000 sw s0,0(s0)
+8000205c: 0000 unimp
+8000205e: 4140 lw s0,4(a0)
+
+80002060 <test_8_data>:
+80002060: 0000 unimp
+80002062: 3f80 fld fs0,56(a5)
+80002064: 0000 unimp
+80002066: 4020 lw s0,64(s0)
+80002068: 0000 unimp
+8000206a: 3f80 fld fs0,56(a5)
+8000206c: 0000 unimp
+8000206e: 3fc0 fld fs0,184(a5)
+
+80002070 <test_9_data>:
+80002070: 0000 unimp
+80002072: bf80 fsd fs0,56(a5)
+80002074: c49a6333 0xc49a6333
+80002078: cccd beqz s1,80002132 <_end+0x72>
+8000207a: 3f8c fld fa1,56(a5)
+8000207c: 4000 lw s0,0(s0)
+8000207e: 449a lw s1,132(sp)
+
+80002080 <test_10_data>:
+80002080: 0000 unimp
+80002082: 4000 lw s0,0(s0)
+80002084: 0000 unimp
+80002086: c0a0 sw s0,64(s1)
+80002088: 0000 unimp
+8000208a: c000 sw s0,0(s0)
+8000208c: 0000 unimp
+8000208e: c100 sw s0,0(a0)
+
+80002090 <test_11_data>:
+80002090: 0000 unimp
+80002092: 3f80 fld fs0,56(a5)
+80002094: 0000 unimp
+80002096: 4020 lw s0,64(s0)
+80002098: 0000 unimp
+8000209a: 3f80 fld fs0,56(a5)
+8000209c: 0000 unimp
+8000209e: bfc0 fsd fs0,184(a5)
+
+800020a0 <test_12_data>:
+800020a0: 0000 unimp
+800020a2: bf80 fsd fs0,56(a5)
+800020a4: c49a6333 0xc49a6333
+800020a8: cccd beqz s1,80002162 <_end+0xa2>
+800020aa: 3f8c fld fa1,56(a5)
+800020ac: 4000 lw s0,0(s0)
+800020ae: c49a sw t1,72(sp)
+
+800020b0 <test_13_data>:
+800020b0: 0000 unimp
+800020b2: 4000 lw s0,0(s0)
+800020b4: 0000 unimp
+800020b6: c0a0 sw s0,64(s1)
+800020b8: 0000 unimp
+800020ba: c000 sw s0,0(s0)
+800020bc: 0000 unimp
+800020be: 4100 lw s0,0(a0)
diff --git a/test/riscv-tests/rv32uf-p-fmadd.elf b/test/riscv-tests/rv32uf-p-fmadd.elf
new file mode 100644
index 0000000..e68a2ce
--- /dev/null
+++ b/test/riscv-tests/rv32uf-p-fmadd.elf
Binary files differ
diff --git a/test/riscv-tests/rv32uf-p-fmin.dump b/test/riscv-tests/rv32uf-p-fmin.dump
new file mode 100644
index 0000000..88a685c
--- /dev/null
+++ b/test/riscv-tests/rv32uf-p-fmin.dump
@@ -0,0 +1,553 @@
+
+rv32uf-p-fmin: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 04c0006f j 8000004c <reset_vector>
+
+80000004 <trap_vector>:
+80000004: 34202f73 csrr t5,mcause
+80000008: 00800f93 li t6,8
+8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+80000010: 00900f93 li t6,9
+80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+80000018: 00b00f93 li t6,11
+8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+80000020: 80000f17 auipc t5,0x80000
+80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+8000002c: 000f0067 jr t5
+80000030: 34202f73 csrr t5,mcause
+80000034: 000f5463 bgez t5,8000003c <handle_exception>
+80000038: 0040006f j 8000003c <handle_exception>
+
+8000003c <handle_exception>:
+8000003c: 5391e193 ori gp,gp,1337
+
+80000040 <write_tohost>:
+80000040: 00001f17 auipc t5,0x1
+80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+80000048: ff9ff06f j 80000040 <write_tohost>
+
+8000004c <reset_vector>:
+8000004c: f1402573 csrr a0,mhartid
+80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+80000054: 00000297 auipc t0,0x0
+80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+8000005c: 30529073 csrw mtvec,t0
+80000060: 18005073 csrwi satp,0
+80000064: 00000297 auipc t0,0x0
+80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+8000006c: 30529073 csrw mtvec,t0
+80000070: fff00293 li t0,-1
+80000074: 3b029073 csrw pmpaddr0,t0
+80000078: 01f00293 li t0,31
+8000007c: 3a029073 csrw pmpcfg0,t0
+80000080: 00000297 auipc t0,0x0
+80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+80000088: 30529073 csrw mtvec,t0
+8000008c: 30205073 csrwi medeleg,0
+80000090: 30305073 csrwi mideleg,0
+80000094: 30405073 csrwi mie,0
+80000098: 00000193 li gp,0
+8000009c: 00000297 auipc t0,0x0
+800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+800000a4: 30529073 csrw mtvec,t0
+800000a8: 00100513 li a0,1
+800000ac: 01f51513 slli a0,a0,0x1f
+800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74>
+800000b4: 0ff0000f fence
+800000b8: 00100193 li gp,1
+800000bc: 00000073 ecall
+800000c0: 80000297 auipc t0,0x80000
+800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+800000cc: 10529073 csrw stvec,t0
+800000d0: 0000b2b7 lui t0,0xb
+800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
+800000d8: 30229073 csrw medeleg,t0
+800000dc: 30202373 csrr t1,medeleg
+800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+800000e4: 30005073 csrwi mstatus,0
+800000e8: 00002537 lui a0,0x2
+800000ec: 30052073 csrs mstatus,a0
+800000f0: 00305073 csrwi fcsr,0
+800000f4: 00000297 auipc t0,0x0
+800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+800000fc: 34129073 csrw mepc,t0
+80000100: f1402573 csrr a0,mhartid
+80000104: 30200073 mret
+
+80000108 <test_2>:
+80000108: 00200193 li gp,2
+8000010c: 00002517 auipc a0,0x2
+80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+80000114: 00052007 flw ft0,0(a0)
+80000118: 00452087 flw ft1,4(a0)
+8000011c: 00852107 flw ft2,8(a0)
+80000120: 00c52683 lw a3,12(a0)
+80000124: 281001d3 fmin.s ft3,ft0,ft1
+80000128: e0018553 fmv.x.w a0,ft3
+8000012c: 001015f3 fsflags a1,zero
+80000130: 00000613 li a2,0
+80000134: 38d51063 bne a0,a3,800004b4 <fail>
+80000138: 36c59e63 bne a1,a2,800004b4 <fail>
+
+8000013c <test_3>:
+8000013c: 00300193 li gp,3
+80000140: 00002517 auipc a0,0x2
+80000144: ed050513 addi a0,a0,-304 # 80002010 <test_3_data>
+80000148: 00052007 flw ft0,0(a0)
+8000014c: 00452087 flw ft1,4(a0)
+80000150: 00852107 flw ft2,8(a0)
+80000154: 00c52683 lw a3,12(a0)
+80000158: 281001d3 fmin.s ft3,ft0,ft1
+8000015c: e0018553 fmv.x.w a0,ft3
+80000160: 001015f3 fsflags a1,zero
+80000164: 00000613 li a2,0
+80000168: 34d51663 bne a0,a3,800004b4 <fail>
+8000016c: 34c59463 bne a1,a2,800004b4 <fail>
+
+80000170 <test_4>:
+80000170: 00400193 li gp,4
+80000174: 00002517 auipc a0,0x2
+80000178: eac50513 addi a0,a0,-340 # 80002020 <test_4_data>
+8000017c: 00052007 flw ft0,0(a0)
+80000180: 00452087 flw ft1,4(a0)
+80000184: 00852107 flw ft2,8(a0)
+80000188: 00c52683 lw a3,12(a0)
+8000018c: 281001d3 fmin.s ft3,ft0,ft1
+80000190: e0018553 fmv.x.w a0,ft3
+80000194: 001015f3 fsflags a1,zero
+80000198: 00000613 li a2,0
+8000019c: 30d51c63 bne a0,a3,800004b4 <fail>
+800001a0: 30c59a63 bne a1,a2,800004b4 <fail>
+
+800001a4 <test_5>:
+800001a4: 00500193 li gp,5
+800001a8: 00002517 auipc a0,0x2
+800001ac: e8850513 addi a0,a0,-376 # 80002030 <test_5_data>
+800001b0: 00052007 flw ft0,0(a0)
+800001b4: 00452087 flw ft1,4(a0)
+800001b8: 00852107 flw ft2,8(a0)
+800001bc: 00c52683 lw a3,12(a0)
+800001c0: 281001d3 fmin.s ft3,ft0,ft1
+800001c4: e0018553 fmv.x.w a0,ft3
+800001c8: 001015f3 fsflags a1,zero
+800001cc: 00000613 li a2,0
+800001d0: 2ed51263 bne a0,a3,800004b4 <fail>
+800001d4: 2ec59063 bne a1,a2,800004b4 <fail>
+
+800001d8 <test_6>:
+800001d8: 00600193 li gp,6
+800001dc: 00002517 auipc a0,0x2
+800001e0: e6450513 addi a0,a0,-412 # 80002040 <test_6_data>
+800001e4: 00052007 flw ft0,0(a0)
+800001e8: 00452087 flw ft1,4(a0)
+800001ec: 00852107 flw ft2,8(a0)
+800001f0: 00c52683 lw a3,12(a0)
+800001f4: 281001d3 fmin.s ft3,ft0,ft1
+800001f8: e0018553 fmv.x.w a0,ft3
+800001fc: 001015f3 fsflags a1,zero
+80000200: 00000613 li a2,0
+80000204: 2ad51863 bne a0,a3,800004b4 <fail>
+80000208: 2ac59663 bne a1,a2,800004b4 <fail>
+
+8000020c <test_7>:
+8000020c: 00700193 li gp,7
+80000210: 00002517 auipc a0,0x2
+80000214: e4050513 addi a0,a0,-448 # 80002050 <test_7_data>
+80000218: 00052007 flw ft0,0(a0)
+8000021c: 00452087 flw ft1,4(a0)
+80000220: 00852107 flw ft2,8(a0)
+80000224: 00c52683 lw a3,12(a0)
+80000228: 281001d3 fmin.s ft3,ft0,ft1
+8000022c: e0018553 fmv.x.w a0,ft3
+80000230: 001015f3 fsflags a1,zero
+80000234: 00000613 li a2,0
+80000238: 26d51e63 bne a0,a3,800004b4 <fail>
+8000023c: 26c59c63 bne a1,a2,800004b4 <fail>
+
+80000240 <test_12>:
+80000240: 00c00193 li gp,12
+80000244: 00002517 auipc a0,0x2
+80000248: e1c50513 addi a0,a0,-484 # 80002060 <test_12_data>
+8000024c: 00052007 flw ft0,0(a0)
+80000250: 00452087 flw ft1,4(a0)
+80000254: 00852107 flw ft2,8(a0)
+80000258: 00c52683 lw a3,12(a0)
+8000025c: 281011d3 fmax.s ft3,ft0,ft1
+80000260: e0018553 fmv.x.w a0,ft3
+80000264: 001015f3 fsflags a1,zero
+80000268: 00000613 li a2,0
+8000026c: 24d51463 bne a0,a3,800004b4 <fail>
+80000270: 24c59263 bne a1,a2,800004b4 <fail>
+
+80000274 <test_13>:
+80000274: 00d00193 li gp,13
+80000278: 00002517 auipc a0,0x2
+8000027c: df850513 addi a0,a0,-520 # 80002070 <test_13_data>
+80000280: 00052007 flw ft0,0(a0)
+80000284: 00452087 flw ft1,4(a0)
+80000288: 00852107 flw ft2,8(a0)
+8000028c: 00c52683 lw a3,12(a0)
+80000290: 281011d3 fmax.s ft3,ft0,ft1
+80000294: e0018553 fmv.x.w a0,ft3
+80000298: 001015f3 fsflags a1,zero
+8000029c: 00000613 li a2,0
+800002a0: 20d51a63 bne a0,a3,800004b4 <fail>
+800002a4: 20c59863 bne a1,a2,800004b4 <fail>
+
+800002a8 <test_14>:
+800002a8: 00e00193 li gp,14
+800002ac: 00002517 auipc a0,0x2
+800002b0: dd450513 addi a0,a0,-556 # 80002080 <test_14_data>
+800002b4: 00052007 flw ft0,0(a0)
+800002b8: 00452087 flw ft1,4(a0)
+800002bc: 00852107 flw ft2,8(a0)
+800002c0: 00c52683 lw a3,12(a0)
+800002c4: 281011d3 fmax.s ft3,ft0,ft1
+800002c8: e0018553 fmv.x.w a0,ft3
+800002cc: 001015f3 fsflags a1,zero
+800002d0: 00000613 li a2,0
+800002d4: 1ed51063 bne a0,a3,800004b4 <fail>
+800002d8: 1cc59e63 bne a1,a2,800004b4 <fail>
+
+800002dc <test_15>:
+800002dc: 00f00193 li gp,15
+800002e0: 00002517 auipc a0,0x2
+800002e4: db050513 addi a0,a0,-592 # 80002090 <test_15_data>
+800002e8: 00052007 flw ft0,0(a0)
+800002ec: 00452087 flw ft1,4(a0)
+800002f0: 00852107 flw ft2,8(a0)
+800002f4: 00c52683 lw a3,12(a0)
+800002f8: 281011d3 fmax.s ft3,ft0,ft1
+800002fc: e0018553 fmv.x.w a0,ft3
+80000300: 001015f3 fsflags a1,zero
+80000304: 00000613 li a2,0
+80000308: 1ad51663 bne a0,a3,800004b4 <fail>
+8000030c: 1ac59463 bne a1,a2,800004b4 <fail>
+
+80000310 <test_16>:
+80000310: 01000193 li gp,16
+80000314: 00002517 auipc a0,0x2
+80000318: d8c50513 addi a0,a0,-628 # 800020a0 <test_16_data>
+8000031c: 00052007 flw ft0,0(a0)
+80000320: 00452087 flw ft1,4(a0)
+80000324: 00852107 flw ft2,8(a0)
+80000328: 00c52683 lw a3,12(a0)
+8000032c: 281011d3 fmax.s ft3,ft0,ft1
+80000330: e0018553 fmv.x.w a0,ft3
+80000334: 001015f3 fsflags a1,zero
+80000338: 00000613 li a2,0
+8000033c: 16d51c63 bne a0,a3,800004b4 <fail>
+80000340: 16c59a63 bne a1,a2,800004b4 <fail>
+
+80000344 <test_17>:
+80000344: 01100193 li gp,17
+80000348: 00002517 auipc a0,0x2
+8000034c: d6850513 addi a0,a0,-664 # 800020b0 <test_17_data>
+80000350: 00052007 flw ft0,0(a0)
+80000354: 00452087 flw ft1,4(a0)
+80000358: 00852107 flw ft2,8(a0)
+8000035c: 00c52683 lw a3,12(a0)
+80000360: 281011d3 fmax.s ft3,ft0,ft1
+80000364: e0018553 fmv.x.w a0,ft3
+80000368: 001015f3 fsflags a1,zero
+8000036c: 00000613 li a2,0
+80000370: 14d51263 bne a0,a3,800004b4 <fail>
+80000374: 14c59063 bne a1,a2,800004b4 <fail>
+
+80000378 <test_20>:
+80000378: 01400193 li gp,20
+8000037c: 00002517 auipc a0,0x2
+80000380: d4450513 addi a0,a0,-700 # 800020c0 <test_20_data>
+80000384: 00052007 flw ft0,0(a0)
+80000388: 00452087 flw ft1,4(a0)
+8000038c: 00852107 flw ft2,8(a0)
+80000390: 00c52683 lw a3,12(a0)
+80000394: 281011d3 fmax.s ft3,ft0,ft1
+80000398: e0018553 fmv.x.w a0,ft3
+8000039c: 001015f3 fsflags a1,zero
+800003a0: 01000613 li a2,16
+800003a4: 10d51863 bne a0,a3,800004b4 <fail>
+800003a8: 10c59663 bne a1,a2,800004b4 <fail>
+
+800003ac <test_21>:
+800003ac: 01500193 li gp,21
+800003b0: 00002517 auipc a0,0x2
+800003b4: d2050513 addi a0,a0,-736 # 800020d0 <test_21_data>
+800003b8: 00052007 flw ft0,0(a0)
+800003bc: 00452087 flw ft1,4(a0)
+800003c0: 00852107 flw ft2,8(a0)
+800003c4: 00c52683 lw a3,12(a0)
+800003c8: 281011d3 fmax.s ft3,ft0,ft1
+800003cc: e0018553 fmv.x.w a0,ft3
+800003d0: 001015f3 fsflags a1,zero
+800003d4: 00000613 li a2,0
+800003d8: 0cd51e63 bne a0,a3,800004b4 <fail>
+800003dc: 0cc59c63 bne a1,a2,800004b4 <fail>
+
+800003e0 <test_30>:
+800003e0: 01e00193 li gp,30
+800003e4: 00002517 auipc a0,0x2
+800003e8: cfc50513 addi a0,a0,-772 # 800020e0 <test_30_data>
+800003ec: 00052007 flw ft0,0(a0)
+800003f0: 00452087 flw ft1,4(a0)
+800003f4: 00852107 flw ft2,8(a0)
+800003f8: 00c52683 lw a3,12(a0)
+800003fc: 281001d3 fmin.s ft3,ft0,ft1
+80000400: e0018553 fmv.x.w a0,ft3
+80000404: 001015f3 fsflags a1,zero
+80000408: 00000613 li a2,0
+8000040c: 0ad51463 bne a0,a3,800004b4 <fail>
+80000410: 0ac59263 bne a1,a2,800004b4 <fail>
+
+80000414 <test_31>:
+80000414: 01f00193 li gp,31
+80000418: 00002517 auipc a0,0x2
+8000041c: cd850513 addi a0,a0,-808 # 800020f0 <test_31_data>
+80000420: 00052007 flw ft0,0(a0)
+80000424: 00452087 flw ft1,4(a0)
+80000428: 00852107 flw ft2,8(a0)
+8000042c: 00c52683 lw a3,12(a0)
+80000430: 281001d3 fmin.s ft3,ft0,ft1
+80000434: e0018553 fmv.x.w a0,ft3
+80000438: 001015f3 fsflags a1,zero
+8000043c: 00000613 li a2,0
+80000440: 06d51a63 bne a0,a3,800004b4 <fail>
+80000444: 06c59863 bne a1,a2,800004b4 <fail>
+
+80000448 <test_32>:
+80000448: 02000193 li gp,32
+8000044c: 00002517 auipc a0,0x2
+80000450: cb450513 addi a0,a0,-844 # 80002100 <test_32_data>
+80000454: 00052007 flw ft0,0(a0)
+80000458: 00452087 flw ft1,4(a0)
+8000045c: 00852107 flw ft2,8(a0)
+80000460: 00c52683 lw a3,12(a0)
+80000464: 281011d3 fmax.s ft3,ft0,ft1
+80000468: e0018553 fmv.x.w a0,ft3
+8000046c: 001015f3 fsflags a1,zero
+80000470: 00000613 li a2,0
+80000474: 04d51063 bne a0,a3,800004b4 <fail>
+80000478: 02c59e63 bne a1,a2,800004b4 <fail>
+
+8000047c <test_33>:
+8000047c: 02100193 li gp,33
+80000480: 00002517 auipc a0,0x2
+80000484: c9050513 addi a0,a0,-880 # 80002110 <test_33_data>
+80000488: 00052007 flw ft0,0(a0)
+8000048c: 00452087 flw ft1,4(a0)
+80000490: 00852107 flw ft2,8(a0)
+80000494: 00c52683 lw a3,12(a0)
+80000498: 281011d3 fmax.s ft3,ft0,ft1
+8000049c: e0018553 fmv.x.w a0,ft3
+800004a0: 001015f3 fsflags a1,zero
+800004a4: 00000613 li a2,0
+800004a8: 00d51663 bne a0,a3,800004b4 <fail>
+800004ac: 00c59463 bne a1,a2,800004b4 <fail>
+800004b0: 00301c63 bne zero,gp,800004c8 <pass>
+
+800004b4 <fail>:
+800004b4: 0ff0000f fence
+800004b8: 00018063 beqz gp,800004b8 <fail+0x4>
+800004bc: 00119193 slli gp,gp,0x1
+800004c0: 0011e193 ori gp,gp,1
+800004c4: 00000073 ecall
+
+800004c8 <pass>:
+800004c8: 0ff0000f fence
+800004cc: 00100193 li gp,1
+800004d0: 00000073 ecall
+800004d4: c0001073 unimp
+800004d8: 0000 unimp
+800004da: 0000 unimp
+800004dc: 0000 unimp
+800004de: 0000 unimp
+800004e0: 0000 unimp
+800004e2: 0000 unimp
+800004e4: 0000 unimp
+800004e6: 0000 unimp
+800004e8: 0000 unimp
+800004ea: 0000 unimp
+800004ec: 0000 unimp
+800004ee: 0000 unimp
+800004f0: 0000 unimp
+800004f2: 0000 unimp
+800004f4: 0000 unimp
+800004f6: 0000 unimp
+800004f8: 0000 unimp
+800004fa: 0000 unimp
+800004fc: 0000 unimp
+800004fe: 0000 unimp
+80000500: 0000 unimp
+80000502: 0000 unimp
+
+Disassembly of section .data:
+
+80002000 <test_2_data>:
+80002000: 0000 unimp
+80002002: 4020 lw s0,64(s0)
+80002004: 0000 unimp
+80002006: 3f80 fld fs0,56(a5)
+80002008: 0000 unimp
+8000200a: 0000 unimp
+8000200c: 0000 unimp
+8000200e: 3f80 fld fs0,56(a5)
+
+80002010 <test_3_data>:
+80002010: c49a6333 0xc49a6333
+80002014: cccd beqz s1,800020ce <test_20_data+0xe>
+80002016: 3f8c fld fa1,56(a5)
+80002018: 0000 unimp
+8000201a: 0000 unimp
+8000201c: c49a6333 0xc49a6333
+
+80002020 <test_4_data>:
+80002020: cccd beqz s1,800020da <test_21_data+0xa>
+80002022: 3f8c fld fa1,56(a5)
+80002024: c49a6333 0xc49a6333
+80002028: 0000 unimp
+8000202a: 0000 unimp
+8000202c: c49a6333 0xc49a6333
+
+80002030 <test_5_data>:
+80002030: ffff 0xffff
+80002032: 7fff 0x7fff
+80002034: c49a6333 0xc49a6333
+80002038: 0000 unimp
+8000203a: 0000 unimp
+8000203c: c49a6333 0xc49a6333
+
+80002040 <test_6_data>:
+80002040: 40490fdb 0x40490fdb
+80002044: 322bcc77 0x322bcc77
+80002048: 0000 unimp
+8000204a: 0000 unimp
+8000204c: 322bcc77 0x322bcc77
+
+80002050 <test_7_data>:
+80002050: 0000 unimp
+80002052: bf80 fsd fs0,56(a5)
+80002054: 0000 unimp
+80002056: c000 sw s0,0(s0)
+80002058: 0000 unimp
+8000205a: 0000 unimp
+8000205c: 0000 unimp
+8000205e: c000 sw s0,0(s0)
+
+80002060 <test_12_data>:
+80002060: 0000 unimp
+80002062: 4020 lw s0,64(s0)
+80002064: 0000 unimp
+80002066: 3f80 fld fs0,56(a5)
+80002068: 0000 unimp
+8000206a: 0000 unimp
+8000206c: 0000 unimp
+8000206e: 4020 lw s0,64(s0)
+
+80002070 <test_13_data>:
+80002070: c49a6333 0xc49a6333
+80002074: cccd beqz s1,8000212e <_end+0xe>
+80002076: 3f8c fld fa1,56(a5)
+80002078: 0000 unimp
+8000207a: 0000 unimp
+8000207c: cccd beqz s1,80002136 <_end+0x16>
+8000207e: 3f8c fld fa1,56(a5)
+
+80002080 <test_14_data>:
+80002080: cccd beqz s1,8000213a <_end+0x1a>
+80002082: 3f8c fld fa1,56(a5)
+80002084: c49a6333 0xc49a6333
+80002088: 0000 unimp
+8000208a: 0000 unimp
+8000208c: cccd beqz s1,80002146 <_end+0x26>
+8000208e: 3f8c fld fa1,56(a5)
+
+80002090 <test_15_data>:
+80002090: ffff 0xffff
+80002092: 7fff 0x7fff
+80002094: c49a6333 0xc49a6333
+80002098: 0000 unimp
+8000209a: 0000 unimp
+8000209c: c49a6333 0xc49a6333
+
+800020a0 <test_16_data>:
+800020a0: 40490fdb 0x40490fdb
+800020a4: 322bcc77 0x322bcc77
+800020a8: 0000 unimp
+800020aa: 0000 unimp
+800020ac: 40490fdb 0x40490fdb
+
+800020b0 <test_17_data>:
+800020b0: 0000 unimp
+800020b2: bf80 fsd fs0,56(a5)
+800020b4: 0000 unimp
+800020b6: c000 sw s0,0(s0)
+800020b8: 0000 unimp
+800020ba: 0000 unimp
+800020bc: 0000 unimp
+800020be: bf80 fsd fs0,56(a5)
+
+800020c0 <test_20_data>:
+800020c0: 0001 nop
+800020c2: 7f80 flw fs0,56(a5)
+800020c4: 0000 unimp
+800020c6: 3f80 fld fs0,56(a5)
+800020c8: 0000 unimp
+800020ca: 0000 unimp
+800020cc: 0000 unimp
+800020ce: 3f80 fld fs0,56(a5)
+
+800020d0 <test_21_data>:
+800020d0: ffff 0xffff
+800020d2: 7fff 0x7fff
+800020d4: ffff 0xffff
+800020d6: 7fff 0x7fff
+800020d8: 0000 unimp
+800020da: 0000 unimp
+800020dc: 0000 unimp
+800020de: 7fc0 flw fs0,60(a5)
+
+800020e0 <test_30_data>:
+800020e0: 0000 unimp
+800020e2: 8000 0x8000
+800020e4: 0000 unimp
+800020e6: 0000 unimp
+800020e8: 0000 unimp
+800020ea: 0000 unimp
+800020ec: 0000 unimp
+800020ee: 8000 0x8000
+
+800020f0 <test_31_data>:
+800020f0: 0000 unimp
+800020f2: 0000 unimp
+800020f4: 0000 unimp
+800020f6: 8000 0x8000
+800020f8: 0000 unimp
+800020fa: 0000 unimp
+800020fc: 0000 unimp
+800020fe: 8000 0x8000
+
+80002100 <test_32_data>:
+80002100: 0000 unimp
+80002102: 8000 0x8000
+80002104: 0000 unimp
+80002106: 0000 unimp
+80002108: 0000 unimp
+8000210a: 0000 unimp
+8000210c: 0000 unimp
+8000210e: 0000 unimp
+
+80002110 <test_33_data>:
+80002110: 0000 unimp
+80002112: 0000 unimp
+80002114: 0000 unimp
+80002116: 8000 0x8000
+80002118: 0000 unimp
+8000211a: 0000 unimp
+8000211c: 0000 unimp
+8000211e: 0000 unimp
diff --git a/test/riscv-tests/rv32uf-p-fmin.elf b/test/riscv-tests/rv32uf-p-fmin.elf
new file mode 100644
index 0000000..e1774aa
--- /dev/null
+++ b/test/riscv-tests/rv32uf-p-fmin.elf
Binary files differ
diff --git a/test/riscv-tests/rv32uf-v-fadd.dump b/test/riscv-tests/rv32uf-v-fadd.dump
new file mode 100644
index 0000000..ecde990
--- /dev/null
+++ b/test/riscv-tests/rv32uf-v-fadd.dump
@@ -0,0 +1,1153 @@
+
+rv32uf-v-fadd: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 00c0006f j 8000000c <handle_reset>
+
+80000004 <nmi_vector>:
+80000004: 2780206f j 8000227c <wtf>
+
+80000008 <trap_vector>:
+80000008: 2740206f j 8000227c <wtf>
+
+8000000c <handle_reset>:
+8000000c: 00000297 auipc t0,0x0
+80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+80000014: 30529073 csrw mtvec,t0
+80000018: 00007117 auipc sp,0x7
+8000001c: 35010113 addi sp,sp,848 # 80007368 <_end+0xf70>
+80000020: f14022f3 csrr t0,mhartid
+80000024: 00c29293 slli t0,t0,0xc
+80000028: 00510133 add sp,sp,t0
+8000002c: 34011073 csrw mscratch,sp
+80000030: 00003517 auipc a0,0x3
+80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart>
+80000038: 2090206f j 80002a40 <vm_boot>
+
+8000003c <pop_tf>:
+8000003c: 08452283 lw t0,132(a0)
+80000040: 14129073 csrw sepc,t0
+80000044: 00452083 lw ra,4(a0)
+80000048: 00852103 lw sp,8(a0)
+8000004c: 00c52183 lw gp,12(a0)
+80000050: 01052203 lw tp,16(a0)
+80000054: 01452283 lw t0,20(a0)
+80000058: 01852303 lw t1,24(a0)
+8000005c: 01c52383 lw t2,28(a0)
+80000060: 02052403 lw s0,32(a0)
+80000064: 02452483 lw s1,36(a0)
+80000068: 02c52583 lw a1,44(a0)
+8000006c: 03052603 lw a2,48(a0)
+80000070: 03452683 lw a3,52(a0)
+80000074: 03852703 lw a4,56(a0)
+80000078: 03c52783 lw a5,60(a0)
+8000007c: 04052803 lw a6,64(a0)
+80000080: 04452883 lw a7,68(a0)
+80000084: 04852903 lw s2,72(a0)
+80000088: 04c52983 lw s3,76(a0)
+8000008c: 05052a03 lw s4,80(a0)
+80000090: 05452a83 lw s5,84(a0)
+80000094: 05852b03 lw s6,88(a0)
+80000098: 05c52b83 lw s7,92(a0)
+8000009c: 06052c03 lw s8,96(a0)
+800000a0: 06452c83 lw s9,100(a0)
+800000a4: 06852d03 lw s10,104(a0)
+800000a8: 06c52d83 lw s11,108(a0)
+800000ac: 07052e03 lw t3,112(a0)
+800000b0: 07452e83 lw t4,116(a0)
+800000b4: 07852f03 lw t5,120(a0)
+800000b8: 07c52f83 lw t6,124(a0)
+800000bc: 02852503 lw a0,40(a0)
+800000c0: 10200073 sret
+
+800000c4 <trap_entry>:
+800000c4: 14011173 csrrw sp,sscratch,sp
+800000c8: 00112223 sw ra,4(sp)
+800000cc: 00312623 sw gp,12(sp)
+800000d0: 00412823 sw tp,16(sp)
+800000d4: 00512a23 sw t0,20(sp)
+800000d8: 00612c23 sw t1,24(sp)
+800000dc: 00712e23 sw t2,28(sp)
+800000e0: 02812023 sw s0,32(sp)
+800000e4: 02912223 sw s1,36(sp)
+800000e8: 02a12423 sw a0,40(sp)
+800000ec: 02b12623 sw a1,44(sp)
+800000f0: 02c12823 sw a2,48(sp)
+800000f4: 02d12a23 sw a3,52(sp)
+800000f8: 02e12c23 sw a4,56(sp)
+800000fc: 02f12e23 sw a5,60(sp)
+80000100: 05012023 sw a6,64(sp)
+80000104: 05112223 sw a7,68(sp)
+80000108: 05212423 sw s2,72(sp)
+8000010c: 05312623 sw s3,76(sp)
+80000110: 05412823 sw s4,80(sp)
+80000114: 05512a23 sw s5,84(sp)
+80000118: 05612c23 sw s6,88(sp)
+8000011c: 05712e23 sw s7,92(sp)
+80000120: 07812023 sw s8,96(sp)
+80000124: 07912223 sw s9,100(sp)
+80000128: 07a12423 sw s10,104(sp)
+8000012c: 07b12623 sw s11,108(sp)
+80000130: 07c12823 sw t3,112(sp)
+80000134: 07d12a23 sw t4,116(sp)
+80000138: 07e12c23 sw t5,120(sp)
+8000013c: 07f12e23 sw t6,124(sp)
+80000140: 140112f3 csrrw t0,sscratch,sp
+80000144: 00512423 sw t0,8(sp)
+80000148: 100022f3 csrr t0,sstatus
+8000014c: 08512023 sw t0,128(sp)
+80000150: 141022f3 csrr t0,sepc
+80000154: 08512223 sw t0,132(sp)
+80000158: 143022f3 csrr t0,stval
+8000015c: 08512423 sw t0,136(sp)
+80000160: 142022f3 csrr t0,scause
+80000164: 08512623 sw t0,140(sp)
+80000168: 00010513 mv a0,sp
+8000016c: 50c0206f j 80002678 <handle_trap>
+
+Disassembly of section .text:
+
+80002000 <memcpy>:
+80002000: 00c5e7b3 or a5,a1,a2
+80002004: 00f567b3 or a5,a0,a5
+80002008: 0037f793 andi a5,a5,3
+8000200c: 00c506b3 add a3,a0,a2
+80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+80002014: 00c58633 add a2,a1,a2
+80002018: 00050793 mv a5,a0
+8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+80002020: 00158593 addi a1,a1,1
+80002024: fff5c703 lbu a4,-1(a1)
+80002028: 00178793 addi a5,a5,1
+8000202c: fee78fa3 sb a4,-1(a5)
+80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+80002034: 00008067 ret
+80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+8000203c: 00050793 mv a5,a0
+80002040: 00458593 addi a1,a1,4
+80002044: ffc5a703 lw a4,-4(a1)
+80002048: 00478793 addi a5,a5,4
+8000204c: fee7ae23 sw a4,-4(a5)
+80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+80002054: 00008067 ret
+80002058: 00008067 ret
+
+8000205c <memset>:
+8000205c: 00c567b3 or a5,a0,a2
+80002060: 0037f793 andi a5,a5,3
+80002064: 00c50633 add a2,a0,a2
+80002068: 02078063 beqz a5,80002088 <memset+0x2c>
+8000206c: 0ff5f593 andi a1,a1,255
+80002070: 00050793 mv a5,a0
+80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58>
+80002078: 00178793 addi a5,a5,1
+8000207c: feb78fa3 sb a1,-1(a5)
+80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+80002084: 00008067 ret
+80002088: 0ff5f593 andi a1,a1,255
+8000208c: 00859793 slli a5,a1,0x8
+80002090: 00b7e7b3 or a5,a5,a1
+80002094: 01079593 slli a1,a5,0x10
+80002098: 00f5e5b3 or a1,a1,a5
+8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28>
+800020a0: 00050793 mv a5,a0
+800020a4: 00478793 addi a5,a5,4
+800020a8: feb7ae23 sw a1,-4(a5)
+800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48>
+800020b0: 00008067 ret
+800020b4: 00008067 ret
+
+800020b8 <strlen>:
+800020b8: 00054783 lbu a5,0(a0)
+800020bc: 00050713 mv a4,a0
+800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20>
+800020c4: 00150513 addi a0,a0,1
+800020c8: 00054783 lbu a5,0(a0)
+800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc>
+800020d0: 40e50533 sub a0,a0,a4
+800020d4: 00008067 ret
+800020d8: 00000513 li a0,0
+800020dc: 00008067 ret
+
+800020e0 <strcmp>:
+800020e0: 00150513 addi a0,a0,1
+800020e4: fff54783 lbu a5,-1(a0)
+800020e8: 00158593 addi a1,a1,1
+800020ec: fff5c703 lbu a4,-1(a1)
+800020f0: 00078863 beqz a5,80002100 <strcmp+0x20>
+800020f4: fee786e3 beq a5,a4,800020e0 <strcmp>
+800020f8: 40e78533 sub a0,a5,a4
+800020fc: 00008067 ret
+80002100: 00000793 li a5,0
+80002104: ff5ff06f j 800020f8 <strcmp+0x18>
+
+80002108 <memcmp>:
+80002108: 00b567b3 or a5,a0,a1
+8000210c: 0037f793 andi a5,a5,3
+80002110: 04079263 bnez a5,80002154 <memcmp+0x4c>
+80002114: ffc67693 andi a3,a2,-4
+80002118: 00d506b3 add a3,a0,a3
+8000211c: 00050813 mv a6,a0
+80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c>
+80002124: 00052703 lw a4,0(a0)
+80002128: 0005a783 lw a5,0(a1)
+8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38>
+80002130: 0240006f j 80002154 <memcmp+0x4c>
+80002134: 00052703 lw a4,0(a0)
+80002138: 0005a783 lw a5,0(a1)
+8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44>
+80002140: 00450513 addi a0,a0,4
+80002144: 00458593 addi a1,a1,4
+80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c>
+8000214c: 41050833 sub a6,a0,a6
+80002150: 41060633 sub a2,a2,a6
+80002154: 00c58633 add a2,a1,a2
+80002158: 0140006f j 8000216c <memcmp+0x64>
+8000215c: 00158593 addi a1,a1,1
+80002160: fff54783 lbu a5,-1(a0)
+80002164: fff5c703 lbu a4,-1(a1)
+80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74>
+8000216c: 00150513 addi a0,a0,1
+80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54>
+80002174: 00000513 li a0,0
+80002178: 00008067 ret
+8000217c: 40e78533 sub a0,a5,a4
+80002180: 00008067 ret
+
+80002184 <strcpy>:
+80002184: 00050793 mv a5,a0
+80002188: 00158593 addi a1,a1,1
+8000218c: fff5c703 lbu a4,-1(a1)
+80002190: 00178793 addi a5,a5,1
+80002194: fee78fa3 sb a4,-1(a5)
+80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4>
+8000219c: 00008067 ret
+
+800021a0 <atol>:
+800021a0: 00054783 lbu a5,0(a0)
+800021a4: 02000713 li a4,32
+800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18>
+800021ac: 00150513 addi a0,a0,1
+800021b0: 00054783 lbu a5,0(a0)
+800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc>
+800021b8: fd578713 addi a4,a5,-43
+800021bc: 0fd77713 andi a4,a4,253
+800021c0: 04070263 beqz a4,80002204 <atol+0x64>
+800021c4: 00054683 lbu a3,0(a0)
+800021c8: 00050793 mv a5,a0
+800021cc: 00000613 li a2,0
+800021d0: 04068863 beqz a3,80002220 <atol+0x80>
+800021d4: 00000513 li a0,0
+800021d8: 00178793 addi a5,a5,1
+800021dc: fd068593 addi a1,a3,-48
+800021e0: 00251713 slli a4,a0,0x2
+800021e4: 0007c683 lbu a3,0(a5)
+800021e8: 00a70533 add a0,a4,a0
+800021ec: 00151513 slli a0,a0,0x1
+800021f0: 00a58533 add a0,a1,a0
+800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38>
+800021f8: 00060463 beqz a2,80002200 <atol+0x60>
+800021fc: 40a00533 neg a0,a0
+80002200: 00008067 ret
+80002204: 00154683 lbu a3,1(a0)
+80002208: fd378793 addi a5,a5,-45
+8000220c: 0017b613 seqz a2,a5
+80002210: 00150793 addi a5,a0,1
+80002214: fc0690e3 bnez a3,800021d4 <atol+0x34>
+80002218: 00000513 li a0,0
+8000221c: fddff06f j 800021f8 <atol+0x58>
+80002220: 00000513 li a0,0
+80002224: 00008067 ret
+
+80002228 <terminate>:
+80002228: fffff697 auipc a3,0xfffff
+8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost>
+80002230: 0006a703 lw a4,0(a3)
+80002234: 0046a783 lw a5,4(a3)
+80002238: 00050813 mv a6,a0
+8000223c: 41f55893 srai a7,a0,0x1f
+80002240: 00f76733 or a4,a4,a5
+80002244: 02070663 beqz a4,80002270 <terminate+0x48>
+80002248: fffff617 auipc a2,0xfffff
+8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost>
+80002250: 00000713 li a4,0
+80002254: 00e62023 sw a4,0(a2)
+80002258: 00000793 li a5,0
+8000225c: 00f62223 sw a5,4(a2)
+80002260: 0006a703 lw a4,0(a3)
+80002264: 0046a783 lw a5,4(a3)
+80002268: 00f76733 or a4,a4,a5
+8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28>
+80002270: 0106a023 sw a6,0(a3)
+80002274: 0116a223 sw a7,4(a3)
+80002278: 0000006f j 80002278 <terminate+0x50>
+
+8000227c <wtf>:
+8000227c: ff010113 addi sp,sp,-16
+80002280: 34900513 li a0,841
+80002284: 00112623 sw ra,12(sp)
+80002288: fa1ff0ef jal ra,80002228 <terminate>
+
+8000228c <printhex>:
+8000228c: fe010113 addi sp,sp,-32
+80002290: 01b10793 addi a5,sp,27
+80002294: 00b10e93 addi t4,sp,11
+80002298: 00900e13 li t3,9
+8000229c: 00f57693 andi a3,a0,15
+800022a0: 01c59313 slli t1,a1,0x1c
+800022a4: 00455513 srli a0,a0,0x4
+800022a8: 05700613 li a2,87
+800022ac: 0ff6f713 andi a4,a3,255
+800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c>
+800022b4: 03000613 li a2,48
+800022b8: 00c70733 add a4,a4,a2
+800022bc: 00e78023 sb a4,0(a5)
+800022c0: fff78793 addi a5,a5,-1
+800022c4: 00a36533 or a0,t1,a0
+800022c8: 0045d593 srli a1,a1,0x4
+800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10>
+800022d0: 00c14583 lbu a1,12(sp)
+800022d4: 00010e23 sb zero,28(sp)
+800022d8: 06058263 beqz a1,8000233c <printhex+0xb0>
+800022dc: 00c10513 addi a0,sp,12
+800022e0: fffff697 auipc a3,0xfffff
+800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost>
+800022e8: fffff617 auipc a2,0xfffff
+800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost>
+800022f0: 0006a703 lw a4,0(a3)
+800022f4: 0046a783 lw a5,4(a3)
+800022f8: 00058813 mv a6,a1
+800022fc: 00150513 addi a0,a0,1
+80002300: 00f76733 or a4,a4,a5
+80002304: 010108b7 lui a7,0x1010
+80002308: 02070263 beqz a4,8000232c <printhex+0xa0>
+8000230c: 00000713 li a4,0
+80002310: 00e62023 sw a4,0(a2)
+80002314: 00000793 li a5,0
+80002318: 00f62223 sw a5,4(a2)
+8000231c: 0006a703 lw a4,0(a3)
+80002320: 0046a783 lw a5,4(a3)
+80002324: 00f76733 or a4,a4,a5
+80002328: fe0712e3 bnez a4,8000230c <printhex+0x80>
+8000232c: 00054583 lbu a1,0(a0)
+80002330: 0106a023 sw a6,0(a3)
+80002334: 0116a223 sw a7,4(a3)
+80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64>
+8000233c: 02010113 addi sp,sp,32
+80002340: 00008067 ret
+
+80002344 <handle_fault>:
+80002344: ff010113 addi sp,sp,-16
+80002348: fffff6b7 lui a3,0xfffff
+8000234c: 00112623 sw ra,12(sp)
+80002350: 00812423 sw s0,8(sp)
+80002354: 00912223 sw s1,4(sp)
+80002358: 00d50733 add a4,a0,a3
+8000235c: 0003e7b7 lui a5,0x3e
+80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180>
+80002364: 00c55613 srli a2,a0,0xc
+80002368: 40060e13 addi t3,a2,1024
+8000236c: 00002317 auipc t1,0x2
+80002370: c9430313 addi t1,t1,-876 # 80004000 <pt>
+80002374: 002e1793 slli a5,t3,0x2
+80002378: 00f307b3 add a5,t1,a5
+8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000>
+80002380: 00d57533 and a0,a0,a3
+80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130>
+80002388: 00004797 auipc a5,0x4
+8000238c: 06c78793 addi a5,a5,108 # 800063f4 <freelist_head>
+80002390: 0007a583 lw a1,0(a5)
+80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0>
+80002398: 0045a783 lw a5,4(a1)
+8000239c: 00004717 auipc a4,0x4
+800023a0: 05470713 addi a4,a4,84 # 800063f0 <freelist_tail>
+800023a4: 00072703 lw a4,0(a4)
+800023a8: 00004697 auipc a3,0x4
+800023ac: 04f6a623 sw a5,76(a3) # 800063f4 <freelist_head>
+800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174>
+800023b4: 0005a703 lw a4,0(a1)
+800023b8: 002e1793 slli a5,t3,0x2
+800023bc: 00f307b3 add a5,t1,a5
+800023c0: 00c75713 srli a4,a4,0xc
+800023c4: 00a71713 slli a4,a4,0xa
+800023c8: 0df76e93 ori t4,a4,223
+800023cc: 01f76693 ori a3,a4,31
+800023d0: 01d7a023 sw t4,0(a5)
+800023d4: 12050073 sfence.vma a0
+800023d8: 00004717 auipc a4,0x4
+800023dc: e2070713 addi a4,a4,-480 # 800061f8 <user_mapping>
+800023e0: 00361793 slli a5,a2,0x3
+800023e4: 00f707b3 add a5,a4,a5
+800023e8: 0007a703 lw a4,0(a5)
+800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c>
+800023f0: 0005a703 lw a4,0(a1)
+800023f4: 00e7a023 sw a4,0(a5)
+800023f8: 0045a703 lw a4,4(a1)
+800023fc: 00e7a223 sw a4,4(a5)
+80002400: 000407b7 lui a5,0x40
+80002404: 1007a5f3 csrrs a1,sstatus,a5
+80002408: ffc007b7 lui a5,0xffc00
+8000240c: 00f507b3 add a5,a0,a5
+80002410: 00001637 lui a2,0x1
+80002414: 00050713 mv a4,a0
+80002418: 00c78633 add a2,a5,a2
+8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf9c08>
+80002420: 0047ae83 lw t4,4(a5)
+80002424: 0087a883 lw a7,8(a5)
+80002428: 00c7a803 lw a6,12(a5)
+8000242c: 01e72023 sw t5,0(a4)
+80002430: 01d72223 sw t4,4(a4)
+80002434: 01172423 sw a7,8(a4)
+80002438: 01072623 sw a6,12(a4)
+8000243c: 01078793 addi a5,a5,16
+80002440: 01070713 addi a4,a4,16
+80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8>
+80002448: 10059073 csrw sstatus,a1
+8000244c: 002e1e13 slli t3,t3,0x2
+80002450: 01c30333 add t1,t1,t3
+80002454: 00d32023 sw a3,0(t1)
+80002458: 12050073 sfence.vma a0
+8000245c: 0000100f fence.i
+80002460: 00c12083 lw ra,12(sp)
+80002464: 00812403 lw s0,8(sp)
+80002468: 00412483 lw s1,4(sp)
+8000246c: 01010113 addi sp,sp,16
+80002470: 00008067 ret
+80002474: 04077693 andi a3,a4,64
+80002478: 02069263 bnez a3,8000249c <handle_fault+0x158>
+8000247c: 04076713 ori a4,a4,64
+80002480: 00e7a023 sw a4,0(a5)
+80002484: 12050073 sfence.vma a0
+80002488: 00c12083 lw ra,12(sp)
+8000248c: 00812403 lw s0,8(sp)
+80002490: 00412483 lw s1,4(sp)
+80002494: 01010113 addi sp,sp,16
+80002498: 00008067 ret
+8000249c: 08077693 andi a3,a4,128
+800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8>
+800024a4: 00f00693 li a3,15
+800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8>
+800024ac: 08076713 ori a4,a4,128
+800024b0: 00e7a023 sw a4,0(a5)
+800024b4: fd1ff06f j 80002484 <handle_fault+0x140>
+800024b8: 00004797 auipc a5,0x4
+800024bc: f207ac23 sw zero,-200(a5) # 800063f0 <freelist_tail>
+800024c0: ef5ff06f j 800023b4 <handle_fault+0x70>
+800024c4: 04100513 li a0,65
+800024c8: 00001597 auipc a1,0x1
+800024cc: 94458593 addi a1,a1,-1724 # 80002e0c <pass+0xc>
+800024d0: fffff697 auipc a3,0xfffff
+800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost>
+800024d8: fffff617 auipc a2,0xfffff
+800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost>
+800024e0: 0006a703 lw a4,0(a3)
+800024e4: 0046a783 lw a5,4(a3)
+800024e8: 00050313 mv t1,a0
+800024ec: 00158593 addi a1,a1,1
+800024f0: 00f76733 or a4,a4,a5
+800024f4: 010103b7 lui t2,0x1010
+800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8>
+800024fc: 00000793 li a5,0
+80002500: 00f62023 sw a5,0(a2)
+80002504: 00000813 li a6,0
+80002508: 01062223 sw a6,4(a2)
+8000250c: 0006a703 lw a4,0(a3)
+80002510: 0046a783 lw a5,4(a3)
+80002514: 00f76733 or a4,a4,a5
+80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8>
+8000251c: 0005c503 lbu a0,0(a1)
+80002520: 0066a023 sw t1,0(a3)
+80002524: 0076a223 sw t2,4(a3)
+80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c>
+8000252c: 00300513 li a0,3
+80002530: cf9ff0ef jal ra,80002228 <terminate>
+80002534: 04100513 li a0,65
+80002538: 00001597 auipc a1,0x1
+8000253c: 96058593 addi a1,a1,-1696 # 80002e98 <pass+0x98>
+80002540: fffff697 auipc a3,0xfffff
+80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost>
+80002548: fffff617 auipc a2,0xfffff
+8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost>
+80002550: 0006a703 lw a4,0(a3)
+80002554: 0046a783 lw a5,4(a3)
+80002558: 00050f13 mv t5,a0
+8000255c: 00158593 addi a1,a1,1
+80002560: 00f76733 or a4,a4,a5
+80002564: 01010fb7 lui t6,0x1010
+80002568: 02070263 beqz a4,8000258c <handle_fault+0x248>
+8000256c: 00000793 li a5,0
+80002570: 00f62023 sw a5,0(a2)
+80002574: 00000813 li a6,0
+80002578: 01062223 sw a6,4(a2)
+8000257c: 0006a703 lw a4,0(a3)
+80002580: 0046a783 lw a5,4(a3)
+80002584: 00f76733 or a4,a4,a5
+80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228>
+8000258c: 0005c503 lbu a0,0(a1)
+80002590: 01e6a023 sw t5,0(a3)
+80002594: 01f6a223 sw t6,4(a3)
+80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c>
+8000259c: f91ff06f j 8000252c <handle_fault+0x1e8>
+800025a0: 04100513 li a0,65
+800025a4: 00001597 auipc a1,0x1
+800025a8: 90c58593 addi a1,a1,-1780 # 80002eb0 <pass+0xb0>
+800025ac: fffff697 auipc a3,0xfffff
+800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost>
+800025b4: fffff617 auipc a2,0xfffff
+800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost>
+800025bc: 0006a703 lw a4,0(a3)
+800025c0: 0046a783 lw a5,4(a3)
+800025c4: 00050813 mv a6,a0
+800025c8: 00158593 addi a1,a1,1
+800025cc: 00f76733 or a4,a4,a5
+800025d0: 010108b7 lui a7,0x1010
+800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4>
+800025d8: 00000713 li a4,0
+800025dc: 00e62023 sw a4,0(a2)
+800025e0: 00000793 li a5,0
+800025e4: 00f62223 sw a5,4(a2)
+800025e8: 0006a703 lw a4,0(a3)
+800025ec: 0046a783 lw a5,4(a3)
+800025f0: 00f76733 or a4,a4,a5
+800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294>
+800025f8: 0005c503 lbu a0,0(a1)
+800025fc: 0106a023 sw a6,0(a3)
+80002600: 0116a223 sw a7,4(a3)
+80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278>
+80002608: f25ff06f j 8000252c <handle_fault+0x1e8>
+8000260c: 04100793 li a5,65
+80002610: 00001597 auipc a1,0x1
+80002614: 84058593 addi a1,a1,-1984 # 80002e50 <pass+0x50>
+80002618: fffff697 auipc a3,0xfffff
+8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost>
+80002620: fffff617 auipc a2,0xfffff
+80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost>
+80002628: 0006a803 lw a6,0(a3)
+8000262c: 0046a883 lw a7,4(a3)
+80002630: 00078413 mv s0,a5
+80002634: 00158593 addi a1,a1,1
+80002638: 01186833 or a6,a6,a7
+8000263c: 010104b7 lui s1,0x1010
+80002640: 02080263 beqz a6,80002664 <handle_fault+0x320>
+80002644: 00000793 li a5,0
+80002648: 00f62023 sw a5,0(a2)
+8000264c: 00000813 li a6,0
+80002650: 01062223 sw a6,4(a2)
+80002654: 0006a703 lw a4,0(a3)
+80002658: 0046a783 lw a5,4(a3)
+8000265c: 00f76733 or a4,a4,a5
+80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300>
+80002664: 0005c783 lbu a5,0(a1)
+80002668: 0086a023 sw s0,0(a3)
+8000266c: 0096a223 sw s1,4(a3)
+80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4>
+80002674: eb9ff06f j 8000252c <handle_fault+0x1e8>
+
+80002678 <handle_trap>:
+80002678: 08c52583 lw a1,140(a0)
+8000267c: fb010113 addi sp,sp,-80
+80002680: 03412c23 sw s4,56(sp)
+80002684: 04112623 sw ra,76(sp)
+80002688: 04812423 sw s0,72(sp)
+8000268c: 04912223 sw s1,68(sp)
+80002690: 05212023 sw s2,64(sp)
+80002694: 03312e23 sw s3,60(sp)
+80002698: 03512a23 sw s5,52(sp)
+8000269c: 03612823 sw s6,48(sp)
+800026a0: 03712623 sw s7,44(sp)
+800026a4: 03812423 sw s8,40(sp)
+800026a8: 03912223 sw s9,36(sp)
+800026ac: 03a12023 sw s10,32(sp)
+800026b0: 01b12e23 sw s11,28(sp)
+800026b4: 00800793 li a5,8
+800026b8: 00050a13 mv s4,a0
+800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0>
+800026c0: 00200793 li a5,2
+800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac>
+800026c8: ff458793 addi a5,a1,-12
+800026cc: 00100713 li a4,1
+800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64>
+800026d4: 00f00793 li a5,15
+800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294>
+800026dc: 088a2503 lw a0,136(s4)
+800026e0: c65ff0ef jal ra,80002344 <handle_fault>
+800026e4: 04812403 lw s0,72(sp)
+800026e8: 04c12083 lw ra,76(sp)
+800026ec: 04412483 lw s1,68(sp)
+800026f0: 04012903 lw s2,64(sp)
+800026f4: 03c12983 lw s3,60(sp)
+800026f8: 03412a83 lw s5,52(sp)
+800026fc: 03012b03 lw s6,48(sp)
+80002700: 02c12b83 lw s7,44(sp)
+80002704: 02812c03 lw s8,40(sp)
+80002708: 02412c83 lw s9,36(sp)
+8000270c: 02012d03 lw s10,32(sp)
+80002710: 01c12d83 lw s11,28(sp)
+80002714: 000a0513 mv a0,s4
+80002718: 03812a03 lw s4,56(sp)
+8000271c: 05010113 addi sp,sp,80
+80002720: 91dfd06f j 8000003c <pop_tf>
+80002724: 08452703 lw a4,132(a0)
+80002728: 00377793 andi a5,a4,3
+8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144>
+80002730: 008007ef jal a5,80002738 <handle_trap+0xc0>
+80002734: 00301073 fssr zero
+80002738: 00072703 lw a4,0(a4)
+8000273c: 0007a783 lw a5,0(a5)
+80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c>
+80002744: 04100513 li a0,65
+80002748: 00001597 auipc a1,0x1
+8000274c: 83058593 addi a1,a1,-2000 # 80002f78 <pass+0x178>
+80002750: fffff697 auipc a3,0xfffff
+80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost>
+80002758: fffff617 auipc a2,0xfffff
+8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost>
+80002760: 0006a703 lw a4,0(a3)
+80002764: 0046a783 lw a5,4(a3)
+80002768: 00050813 mv a6,a0
+8000276c: 00158593 addi a1,a1,1
+80002770: 00f76733 or a4,a4,a5
+80002774: 010108b7 lui a7,0x1010
+80002778: 02070263 beqz a4,8000279c <handle_trap+0x124>
+8000277c: 00000713 li a4,0
+80002780: 00e62023 sw a4,0(a2)
+80002784: 00000793 li a5,0
+80002788: 00f62223 sw a5,4(a2)
+8000278c: 0006a703 lw a4,0(a3)
+80002790: 0046a783 lw a5,4(a3)
+80002794: 00f76733 or a4,a4,a5
+80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104>
+8000279c: 0005c503 lbu a0,0(a1)
+800027a0: 0106a023 sw a6,0(a3)
+800027a4: 0116a223 sw a7,4(a3)
+800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8>
+800027ac: 00300513 li a0,3
+800027b0: a79ff0ef jal ra,80002228 <terminate>
+800027b4: 00100513 li a0,1
+800027b8: a71ff0ef jal ra,80002228 <terminate>
+800027bc: 00000597 auipc a1,0x0
+800027c0: 79858593 addi a1,a1,1944 # 80002f54 <pass+0x154>
+800027c4: 04100613 li a2,65
+800027c8: fffff697 auipc a3,0xfffff
+800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost>
+800027d0: fffff517 auipc a0,0xfffff
+800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost>
+800027d8: 0006a703 lw a4,0(a3)
+800027dc: 0046a783 lw a5,4(a3)
+800027e0: 00060e13 mv t3,a2
+800027e4: 00158593 addi a1,a1,1
+800027e8: 00f76733 or a4,a4,a5
+800027ec: 01010eb7 lui t4,0x1010
+800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c>
+800027f4: 00000793 li a5,0
+800027f8: 00f52023 sw a5,0(a0)
+800027fc: 00000813 li a6,0
+80002800: 01052223 sw a6,4(a0)
+80002804: 0006a703 lw a4,0(a3)
+80002808: 0046a783 lw a5,4(a3)
+8000280c: 00f76733 or a4,a4,a5
+80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c>
+80002814: 0005c603 lbu a2,0(a1)
+80002818: 01c6a023 sw t3,0(a3)
+8000281c: 01d6a223 sw t4,4(a3)
+80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160>
+80002824: f89ff06f j 800027ac <handle_trap+0x134>
+80002828: 02852783 lw a5,40(a0)
+8000282c: 00001a37 lui s4,0x1
+80002830: 00004b17 auipc s6,0x4
+80002834: 9c8b0b13 addi s6,s6,-1592 # 800061f8 <user_mapping>
+80002838: 00f12223 sw a5,4(sp)
+8000283c: 00001d17 auipc s10,0x1
+80002840: 7c4d0d13 addi s10,s10,1988 # 80004000 <pt>
+80002844: 00040cb7 lui s9,0x40
+80002848: ffc00c37 lui s8,0xffc00
+8000284c: 0003fab7 lui s5,0x3f
+80002850: 01c0006f j 8000286c <handle_trap+0x1f4>
+80002854: 00f72223 sw a5,4(a4)
+80002858: 00004717 auipc a4,0x4
+8000285c: b8f72c23 sw a5,-1128(a4) # 800063f0 <freelist_tail>
+80002860: 000017b7 lui a5,0x1
+80002864: 00fa0a33 add s4,s4,a5
+80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398>
+8000286c: 00ca5713 srli a4,s4,0xc
+80002870: 00371b93 slli s7,a4,0x3
+80002874: 017b0633 add a2,s6,s7
+80002878: 00062603 lw a2,0(a2)
+8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8>
+80002880: 40070713 addi a4,a4,1024
+80002884: 00271713 slli a4,a4,0x2
+80002888: 00ed0733 add a4,s10,a4
+8000288c: 00072703 lw a4,0(a4)
+80002890: 04077613 andi a2,a4,64
+80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c>
+80002898: 00e12623 sw a4,12(sp)
+8000289c: 100cadf3 csrrs s11,sstatus,s9
+800028a0: 018a0833 add a6,s4,s8
+800028a4: 00001637 lui a2,0x1
+800028a8: 00080593 mv a1,a6
+800028ac: 000a0513 mv a0,s4
+800028b0: 01012423 sw a6,8(sp)
+800028b4: 855ff0ef jal ra,80002108 <memcmp>
+800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264>
+800028bc: 00c12703 lw a4,12(sp)
+800028c0: 00812803 lw a6,8(sp)
+800028c4: 08077713 andi a4,a4,128
+800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300>
+800028cc: 00001637 lui a2,0x1
+800028d0: 00080593 mv a1,a6
+800028d4: 000a0513 mv a0,s4
+800028d8: f28ff0ef jal ra,80002000 <memcpy>
+800028dc: 017b07b3 add a5,s6,s7
+800028e0: 100d9073 csrw sstatus,s11
+800028e4: 00004717 auipc a4,0x4
+800028e8: b0c70713 addi a4,a4,-1268 # 800063f0 <freelist_tail>
+800028ec: 00072703 lw a4,0(a4)
+800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000>
+800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc>
+800028f8: 00004717 auipc a4,0x4
+800028fc: aef72c23 sw a5,-1288(a4) # 800063f0 <freelist_tail>
+80002900: 00004717 auipc a4,0x4
+80002904: aef72a23 sw a5,-1292(a4) # 800063f4 <freelist_head>
+80002908: f59ff06f j 80002860 <handle_trap+0x1e8>
+8000290c: 04100593 li a1,65
+80002910: 00000617 auipc a2,0x0
+80002914: 69460613 addi a2,a2,1684 # 80002fa4 <pass+0x1a4>
+80002918: ffffe697 auipc a3,0xffffe
+8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost>
+80002920: ffffe517 auipc a0,0xffffe
+80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost>
+80002928: 0006a703 lw a4,0(a3)
+8000292c: 0046a783 lw a5,4(a3)
+80002930: 00058313 mv t1,a1
+80002934: 00160613 addi a2,a2,1
+80002938: 00f76733 or a4,a4,a5
+8000293c: 010103b7 lui t2,0x1010
+80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec>
+80002944: 00000793 li a5,0
+80002948: 00f52023 sw a5,0(a0)
+8000294c: 00000813 li a6,0
+80002950: 01052223 sw a6,4(a0)
+80002954: 0006a703 lw a4,0(a3)
+80002958: 0046a783 lw a5,4(a3)
+8000295c: 00f76733 or a4,a4,a5
+80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc>
+80002964: 00064583 lbu a1,0(a2)
+80002968: 0066a023 sw t1,0(a3)
+8000296c: 0076a223 sw t2,4(a3)
+80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0>
+80002974: e39ff06f j 800027ac <handle_trap+0x134>
+80002978: 04100793 li a5,65
+8000297c: 00000617 auipc a2,0x0
+80002980: 5a460613 addi a2,a2,1444 # 80002f20 <pass+0x120>
+80002984: ffffe697 auipc a3,0xffffe
+80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost>
+8000298c: ffffe597 auipc a1,0xffffe
+80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost>
+80002994: 00078413 mv s0,a5
+80002998: 00160613 addi a2,a2,1
+8000299c: 010104b7 lui s1,0x1010
+800029a0: 0006a703 lw a4,0(a3)
+800029a4: 0046a783 lw a5,4(a3)
+800029a8: 00f76733 or a4,a4,a5
+800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0>
+800029b0: 00000793 li a5,0
+800029b4: 00000813 li a6,0
+800029b8: 00f5a023 sw a5,0(a1)
+800029bc: 0105a223 sw a6,4(a1)
+800029c0: fe1ff06f j 800029a0 <handle_trap+0x328>
+800029c4: 04100793 li a5,65
+800029c8: 00000617 auipc a2,0x0
+800029cc: 52460613 addi a2,a2,1316 # 80002eec <pass+0xec>
+800029d0: ffffe697 auipc a3,0xffffe
+800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost>
+800029d8: ffffe597 auipc a1,0xffffe
+800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost>
+800029e0: 00078913 mv s2,a5
+800029e4: 00160613 addi a2,a2,1
+800029e8: 010109b7 lui s3,0x1010
+800029ec: 0006a703 lw a4,0(a3)
+800029f0: 0046a783 lw a5,4(a3)
+800029f4: 00f76733 or a4,a4,a5
+800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4>
+800029fc: 00000793 li a5,0
+80002a00: 00000813 li a6,0
+80002a04: 00f5a023 sw a5,0(a1)
+80002a08: 0105a223 sw a6,4(a1)
+80002a0c: fe1ff06f j 800029ec <handle_trap+0x374>
+80002a10: 00412503 lw a0,4(sp)
+80002a14: 815ff0ef jal ra,80002228 <terminate>
+80002a18: 00064783 lbu a5,0(a2)
+80002a1c: 0086a023 sw s0,0(a3)
+80002a20: 0096a223 sw s1,4(a3)
+80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c>
+80002a28: d85ff06f j 800027ac <handle_trap+0x134>
+80002a2c: 00064783 lbu a5,0(a2)
+80002a30: 0126a023 sw s2,0(a3)
+80002a34: 0136a223 sw s3,4(a3)
+80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368>
+80002a3c: d71ff06f j 800027ac <handle_trap+0x134>
+
+80002a40 <vm_boot>:
+80002a40: f14027f3 csrr a5,mhartid
+80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158>
+80002a48: 00002797 auipc a5,0x2
+80002a4c: 5b878793 addi a5,a5,1464 # 80005000 <pt+0x1000>
+80002a50: 00c7d793 srli a5,a5,0xc
+80002a54: 00a79793 slli a5,a5,0xa
+80002a58: 0017e793 ori a5,a5,1
+80002a5c: 00001697 auipc a3,0x1
+80002a60: 5af6a223 sw a5,1444(a3) # 80004000 <pt>
+80002a64: 200007b7 lui a5,0x20000
+80002a68: 00001717 auipc a4,0x1
+80002a6c: 59870713 addi a4,a4,1432 # 80004000 <pt>
+80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31>
+80002a74: f6010113 addi sp,sp,-160
+80002a78: 00002697 auipc a3,0x2
+80002a7c: 58f6a223 sw a5,1412(a3) # 80004ffc <pt+0xffc>
+80002a80: 00c75793 srli a5,a4,0xc
+80002a84: 80000737 lui a4,0x80000
+80002a88: 08112e23 sw ra,156(sp)
+80002a8c: 08812c23 sw s0,152(sp)
+80002a90: 00e7e7b3 or a5,a5,a4
+80002a94: 18079073 csrw satp,a5
+80002a98: 01f00793 li a5,31
+80002a9c: fff00713 li a4,-1
+80002aa0: 00000297 auipc t0,0x0
+80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74>
+80002aa8: 305292f3 csrrw t0,mtvec,t0
+80002aac: 3b071073 csrw pmpaddr0,a4
+80002ab0: 3a079073 csrw pmpcfg0,a5
+80002ab4: 7fbfd797 auipc a5,0x7fbfd
+80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf9ccc>
+80002abc: 10579073 csrw stvec,a5
+80002ac0: 340027f3 csrr a5,mscratch
+80002ac4: 7fc00837 lui a6,0x7fc00
+80002ac8: 010787b3 add a5,a5,a6
+80002acc: 14079073 csrw sscratch,a5
+80002ad0: 0000b7b7 lui a5,0xb
+80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00>
+80002ad8: 30279073 csrw medeleg,a5
+80002adc: 0001e7b7 lui a5,0x1e
+80002ae0: 30079073 csrw mstatus,a5
+80002ae4: 30405073 csrwi mie,0
+80002ae8: 7fc03797 auipc a5,0x7fc03
+80002aec: 51878793 addi a5,a5,1304 # ffc06000 <_end+0x7fbffc08>
+80002af0: 00004717 auipc a4,0x4
+80002af4: 90f72223 sw a5,-1788(a4) # 800063f4 <freelist_head>
+80002af8: 7fc03797 auipc a5,0x7fc03
+80002afc: 6f878793 addi a5,a5,1784 # ffc061f0 <_end+0x7fbffdf8>
+80002b00: 00004717 auipc a4,0x4
+80002b04: 8ef72823 sw a5,-1808(a4) # 800063f0 <freelist_tail>
+80002b08: 000808b7 lui a7,0x80
+80002b0c: 00003717 auipc a4,0x3
+80002b10: 4f470713 addi a4,a4,1268 # 80006000 <freelist_nodes>
+80002b14: 00003317 auipc t1,0x3
+80002b18: 6e430313 addi t1,t1,1764 # 800061f8 <user_mapping>
+80002b1c: 02200793 li a5,34
+80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1>
+80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8>
+80002b28: 0017d613 srli a2,a5,0x1
+80002b2c: 011786b3 add a3,a5,a7
+80002b30: 00f647b3 xor a5,a2,a5
+80002b34: 010705b3 add a1,a4,a6
+80002b38: 00c69693 slli a3,a3,0xc
+80002b3c: 00579793 slli a5,a5,0x5
+80002b40: 00d72023 sw a3,0(a4)
+80002b44: 00b72223 sw a1,4(a4)
+80002b48: 0207f793 andi a5,a5,32
+80002b4c: 00870713 addi a4,a4,8
+80002b50: 00f667b3 or a5,a2,a5
+80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8>
+80002b58: 00050413 mv s0,a0
+80002b5c: 09000613 li a2,144
+80002b60: 00000593 li a1,0
+80002b64: 00010513 mv a0,sp
+80002b68: 00003797 auipc a5,0x3
+80002b6c: 6807a623 sw zero,1676(a5) # 800061f4 <freelist_nodes+0x1f4>
+80002b70: cecff0ef jal ra,8000205c <memset>
+80002b74: 800007b7 lui a5,0x80000
+80002b78: 00f40433 add s0,s0,a5
+80002b7c: 00010513 mv a0,sp
+80002b80: 08812223 sw s0,132(sp)
+80002b84: cb8fd0ef jal ra,8000003c <pop_tf>
+80002b88: 09c12083 lw ra,156(sp)
+80002b8c: 09812403 lw s0,152(sp)
+80002b90: 0a010113 addi sp,sp,160
+80002b94: 00008067 ret
+80002b98: 029657b7 lui a5,0x2965
+80002b9c: 00080637 lui a2,0x80
+80002ba0: 30878793 addi a5,a5,776 # 2965308 <_start-0x7d69acf8>
+80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004>
+80002ba8: 800005b7 lui a1,0x80000
+80002bac: 00c7f733 and a4,a5,a2
+80002bb0: 0017f693 andi a3,a5,1
+80002bb4: 00b70733 add a4,a4,a1
+80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194>
+80002bbc: 0007202f amoadd.w zero,zero,(a4)
+80002bc0: 0017d793 srli a5,a5,0x1
+80002bc4: 00c7f733 and a4,a5,a2
+80002bc8: 0017f693 andi a3,a5,1
+80002bcc: 00b70733 add a4,a4,a1
+80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c>
+80002bd4: 00072003 lw zero,0(a4)
+80002bd8: 0017d793 srli a5,a5,0x1
+80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184>
+
+80002be0 <userstart>:
+80002be0: 00301073 fssr zero
+
+80002be4 <test_2>:
+80002be4: 00200193 li gp,2
+80002be8: 00000517 auipc a0,0x0
+80002bec: 41850513 addi a0,a0,1048 # 80003000 <test_2_data>
+80002bf0: 00052007 flw ft0,0(a0)
+80002bf4: 00452087 flw ft1,4(a0)
+80002bf8: 00852107 flw ft2,8(a0)
+80002bfc: 00c52683 lw a3,12(a0)
+80002c00: 001071d3 fadd.s ft3,ft0,ft1
+80002c04: e0018553 fmv.x.w a0,ft3
+80002c08: 001015f3 fsflags a1,zero
+80002c0c: 00000613 li a2,0
+80002c10: 1ed51063 bne a0,a3,80002df0 <fail>
+80002c14: 1cc59e63 bne a1,a2,80002df0 <fail>
+
+80002c18 <test_3>:
+80002c18: 00300193 li gp,3
+80002c1c: 00000517 auipc a0,0x0
+80002c20: 3f450513 addi a0,a0,1012 # 80003010 <test_3_data>
+80002c24: 00052007 flw ft0,0(a0)
+80002c28: 00452087 flw ft1,4(a0)
+80002c2c: 00852107 flw ft2,8(a0)
+80002c30: 00c52683 lw a3,12(a0)
+80002c34: 001071d3 fadd.s ft3,ft0,ft1
+80002c38: e0018553 fmv.x.w a0,ft3
+80002c3c: 001015f3 fsflags a1,zero
+80002c40: 00100613 li a2,1
+80002c44: 1ad51663 bne a0,a3,80002df0 <fail>
+80002c48: 1ac59463 bne a1,a2,80002df0 <fail>
+
+80002c4c <test_4>:
+80002c4c: 00400193 li gp,4
+80002c50: 00000517 auipc a0,0x0
+80002c54: 3d050513 addi a0,a0,976 # 80003020 <test_4_data>
+80002c58: 00052007 flw ft0,0(a0)
+80002c5c: 00452087 flw ft1,4(a0)
+80002c60: 00852107 flw ft2,8(a0)
+80002c64: 00c52683 lw a3,12(a0)
+80002c68: 001071d3 fadd.s ft3,ft0,ft1
+80002c6c: e0018553 fmv.x.w a0,ft3
+80002c70: 001015f3 fsflags a1,zero
+80002c74: 00100613 li a2,1
+80002c78: 16d51c63 bne a0,a3,80002df0 <fail>
+80002c7c: 16c59a63 bne a1,a2,80002df0 <fail>
+
+80002c80 <test_5>:
+80002c80: 00500193 li gp,5
+80002c84: 00000517 auipc a0,0x0
+80002c88: 3ac50513 addi a0,a0,940 # 80003030 <test_5_data>
+80002c8c: 00052007 flw ft0,0(a0)
+80002c90: 00452087 flw ft1,4(a0)
+80002c94: 00852107 flw ft2,8(a0)
+80002c98: 00c52683 lw a3,12(a0)
+80002c9c: 081071d3 fsub.s ft3,ft0,ft1
+80002ca0: e0018553 fmv.x.w a0,ft3
+80002ca4: 001015f3 fsflags a1,zero
+80002ca8: 00000613 li a2,0
+80002cac: 14d51263 bne a0,a3,80002df0 <fail>
+80002cb0: 14c59063 bne a1,a2,80002df0 <fail>
+
+80002cb4 <test_6>:
+80002cb4: 00600193 li gp,6
+80002cb8: 00000517 auipc a0,0x0
+80002cbc: 38850513 addi a0,a0,904 # 80003040 <test_6_data>
+80002cc0: 00052007 flw ft0,0(a0)
+80002cc4: 00452087 flw ft1,4(a0)
+80002cc8: 00852107 flw ft2,8(a0)
+80002ccc: 00c52683 lw a3,12(a0)
+80002cd0: 081071d3 fsub.s ft3,ft0,ft1
+80002cd4: e0018553 fmv.x.w a0,ft3
+80002cd8: 001015f3 fsflags a1,zero
+80002cdc: 00100613 li a2,1
+80002ce0: 10d51863 bne a0,a3,80002df0 <fail>
+80002ce4: 10c59663 bne a1,a2,80002df0 <fail>
+
+80002ce8 <test_7>:
+80002ce8: 00700193 li gp,7
+80002cec: 00000517 auipc a0,0x0
+80002cf0: 36450513 addi a0,a0,868 # 80003050 <test_7_data>
+80002cf4: 00052007 flw ft0,0(a0)
+80002cf8: 00452087 flw ft1,4(a0)
+80002cfc: 00852107 flw ft2,8(a0)
+80002d00: 00c52683 lw a3,12(a0)
+80002d04: 081071d3 fsub.s ft3,ft0,ft1
+80002d08: e0018553 fmv.x.w a0,ft3
+80002d0c: 001015f3 fsflags a1,zero
+80002d10: 00100613 li a2,1
+80002d14: 0cd51e63 bne a0,a3,80002df0 <fail>
+80002d18: 0cc59c63 bne a1,a2,80002df0 <fail>
+
+80002d1c <test_8>:
+80002d1c: 00800193 li gp,8
+80002d20: 00000517 auipc a0,0x0
+80002d24: 34050513 addi a0,a0,832 # 80003060 <test_8_data>
+80002d28: 00052007 flw ft0,0(a0)
+80002d2c: 00452087 flw ft1,4(a0)
+80002d30: 00852107 flw ft2,8(a0)
+80002d34: 00c52683 lw a3,12(a0)
+80002d38: 101071d3 fmul.s ft3,ft0,ft1
+80002d3c: e0018553 fmv.x.w a0,ft3
+80002d40: 001015f3 fsflags a1,zero
+80002d44: 00000613 li a2,0
+80002d48: 0ad51463 bne a0,a3,80002df0 <fail>
+80002d4c: 0ac59263 bne a1,a2,80002df0 <fail>
+
+80002d50 <test_9>:
+80002d50: 00900193 li gp,9
+80002d54: 00000517 auipc a0,0x0
+80002d58: 31c50513 addi a0,a0,796 # 80003070 <test_9_data>
+80002d5c: 00052007 flw ft0,0(a0)
+80002d60: 00452087 flw ft1,4(a0)
+80002d64: 00852107 flw ft2,8(a0)
+80002d68: 00c52683 lw a3,12(a0)
+80002d6c: 101071d3 fmul.s ft3,ft0,ft1
+80002d70: e0018553 fmv.x.w a0,ft3
+80002d74: 001015f3 fsflags a1,zero
+80002d78: 00100613 li a2,1
+80002d7c: 06d51a63 bne a0,a3,80002df0 <fail>
+80002d80: 06c59863 bne a1,a2,80002df0 <fail>
+
+80002d84 <test_10>:
+80002d84: 00a00193 li gp,10
+80002d88: 00000517 auipc a0,0x0
+80002d8c: 2f850513 addi a0,a0,760 # 80003080 <test_10_data>
+80002d90: 00052007 flw ft0,0(a0)
+80002d94: 00452087 flw ft1,4(a0)
+80002d98: 00852107 flw ft2,8(a0)
+80002d9c: 00c52683 lw a3,12(a0)
+80002da0: 101071d3 fmul.s ft3,ft0,ft1
+80002da4: e0018553 fmv.x.w a0,ft3
+80002da8: 001015f3 fsflags a1,zero
+80002dac: 00100613 li a2,1
+80002db0: 04d51063 bne a0,a3,80002df0 <fail>
+80002db4: 02c59e63 bne a1,a2,80002df0 <fail>
+
+80002db8 <test_11>:
+80002db8: 00b00193 li gp,11
+80002dbc: 00000517 auipc a0,0x0
+80002dc0: 2d450513 addi a0,a0,724 # 80003090 <test_11_data>
+80002dc4: 00052007 flw ft0,0(a0)
+80002dc8: 00452087 flw ft1,4(a0)
+80002dcc: 00852107 flw ft2,8(a0)
+80002dd0: 00c52683 lw a3,12(a0)
+80002dd4: 081071d3 fsub.s ft3,ft0,ft1
+80002dd8: e0018553 fmv.x.w a0,ft3
+80002ddc: 001015f3 fsflags a1,zero
+80002de0: 01000613 li a2,16
+80002de4: 00d51663 bne a0,a3,80002df0 <fail>
+80002de8: 00c59463 bne a1,a2,80002df0 <fail>
+80002dec: 00301a63 bne zero,gp,80002e00 <pass>
+
+80002df0 <fail>:
+80002df0: 00119513 slli a0,gp,0x1
+80002df4: 00050063 beqz a0,80002df4 <fail+0x4>
+80002df8: 00156513 ori a0,a0,1
+80002dfc: 00000073 ecall
+
+80002e00 <pass>:
+80002e00: 00100513 li a0,1
+80002e04: 00000073 ecall
+80002e08: c0001073 unimp
+
+Disassembly of section .data:
+
+80003000 <test_2_data>:
+80003000: 0000 unimp
+80003002: 4020 lw s0,64(s0)
+80003004: 0000 unimp
+80003006: 3f80 fld fs0,56(a5)
+80003008: 0000 unimp
+8000300a: 0000 unimp
+8000300c: 0000 unimp
+8000300e: 4060 lw s0,68(s0)
+
+80003010 <test_3_data>:
+80003010: c49a6333 0xc49a6333
+80003014: cccd beqz s1,800030ce <begin_signature+0x2e>
+80003016: 3f8c fld fa1,56(a5)
+80003018: 0000 unimp
+8000301a: 0000 unimp
+8000301c: 4000 lw s0,0(s0)
+8000301e: c49a sw t1,72(sp)
+
+80003020 <test_4_data>:
+80003020: 40490fdb 0x40490fdb
+80003024: 322bcc77 0x322bcc77
+80003028: 0000 unimp
+8000302a: 0000 unimp
+8000302c: 40490fdb 0x40490fdb
+
+80003030 <test_5_data>:
+80003030: 0000 unimp
+80003032: 4020 lw s0,64(s0)
+80003034: 0000 unimp
+80003036: 3f80 fld fs0,56(a5)
+80003038: 0000 unimp
+8000303a: 0000 unimp
+8000303c: 0000 unimp
+8000303e: 3fc0 fld fs0,184(a5)
+
+80003040 <test_6_data>:
+80003040: c49a6333 0xc49a6333
+80003044: cccd beqz s1,800030fe <begin_signature+0x5e>
+80003046: bf8c fsd fa1,56(a5)
+80003048: 0000 unimp
+8000304a: 0000 unimp
+8000304c: 4000 lw s0,0(s0)
+8000304e: c49a sw t1,72(sp)
+
+80003050 <test_7_data>:
+80003050: 40490fdb 0x40490fdb
+80003054: 322bcc77 0x322bcc77
+80003058: 0000 unimp
+8000305a: 0000 unimp
+8000305c: 40490fdb 0x40490fdb
+
+80003060 <test_8_data>:
+80003060: 0000 unimp
+80003062: 4020 lw s0,64(s0)
+80003064: 0000 unimp
+80003066: 3f80 fld fs0,56(a5)
+80003068: 0000 unimp
+8000306a: 0000 unimp
+8000306c: 0000 unimp
+8000306e: 4020 lw s0,64(s0)
+
+80003070 <test_9_data>:
+80003070: c49a6333 0xc49a6333
+80003074: cccd beqz s1,8000312e <begin_signature+0x8e>
+80003076: bf8c fsd fa1,56(a5)
+80003078: 0000 unimp
+8000307a: 0000 unimp
+8000307c: d385 beqz a5,80002f9c <pass+0x19c>
+8000307e: 44a9 li s1,10
+
+80003080 <test_10_data>:
+80003080: 40490fdb 0x40490fdb
+80003084: 322bcc77 0x322bcc77
+80003088: 0000 unimp
+8000308a: 0000 unimp
+8000308c: ee2d bnez a2,80003106 <begin_signature+0x66>
+8000308e: 3306 fld ft6,96(sp)
+
+80003090 <test_11_data>:
+80003090: 0000 unimp
+80003092: 7f80 flw fs0,56(a5)
+80003094: 0000 unimp
+80003096: 7f80 flw fs0,56(a5)
+80003098: 0000 unimp
+8000309a: 0000 unimp
+8000309c: 0000 unimp
+8000309e: 7fc0 flw fs0,60(a5)
diff --git a/test/riscv-tests/rv32uf-v-fadd.elf b/test/riscv-tests/rv32uf-v-fadd.elf
new file mode 100644
index 0000000..39441ea
--- /dev/null
+++ b/test/riscv-tests/rv32uf-v-fadd.elf
Binary files differ
diff --git a/test/riscv-tests/rv32uf-v-fclass.dump b/test/riscv-tests/rv32uf-v-fclass.dump
new file mode 100644
index 0000000..9de68ee
--- /dev/null
+++ b/test/riscv-tests/rv32uf-v-fclass.dump
@@ -0,0 +1,995 @@
+
+rv32uf-v-fclass: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 00c0006f j 8000000c <handle_reset>
+
+80000004 <nmi_vector>:
+80000004: 2780206f j 8000227c <wtf>
+
+80000008 <trap_vector>:
+80000008: 2740206f j 8000227c <wtf>
+
+8000000c <handle_reset>:
+8000000c: 00000297 auipc t0,0x0
+80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+80000014: 30529073 csrw mtvec,t0
+80000018: 00006117 auipc sp,0x6
+8000001c: 35010113 addi sp,sp,848 # 80006368 <_end+0xf70>
+80000020: f14022f3 csrr t0,mhartid
+80000024: 00c29293 slli t0,t0,0xc
+80000028: 00510133 add sp,sp,t0
+8000002c: 34011073 csrw mscratch,sp
+80000030: 00003517 auipc a0,0x3
+80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart>
+80000038: 2090206f j 80002a40 <vm_boot>
+
+8000003c <pop_tf>:
+8000003c: 08452283 lw t0,132(a0)
+80000040: 14129073 csrw sepc,t0
+80000044: 00452083 lw ra,4(a0)
+80000048: 00852103 lw sp,8(a0)
+8000004c: 00c52183 lw gp,12(a0)
+80000050: 01052203 lw tp,16(a0)
+80000054: 01452283 lw t0,20(a0)
+80000058: 01852303 lw t1,24(a0)
+8000005c: 01c52383 lw t2,28(a0)
+80000060: 02052403 lw s0,32(a0)
+80000064: 02452483 lw s1,36(a0)
+80000068: 02c52583 lw a1,44(a0)
+8000006c: 03052603 lw a2,48(a0)
+80000070: 03452683 lw a3,52(a0)
+80000074: 03852703 lw a4,56(a0)
+80000078: 03c52783 lw a5,60(a0)
+8000007c: 04052803 lw a6,64(a0)
+80000080: 04452883 lw a7,68(a0)
+80000084: 04852903 lw s2,72(a0)
+80000088: 04c52983 lw s3,76(a0)
+8000008c: 05052a03 lw s4,80(a0)
+80000090: 05452a83 lw s5,84(a0)
+80000094: 05852b03 lw s6,88(a0)
+80000098: 05c52b83 lw s7,92(a0)
+8000009c: 06052c03 lw s8,96(a0)
+800000a0: 06452c83 lw s9,100(a0)
+800000a4: 06852d03 lw s10,104(a0)
+800000a8: 06c52d83 lw s11,108(a0)
+800000ac: 07052e03 lw t3,112(a0)
+800000b0: 07452e83 lw t4,116(a0)
+800000b4: 07852f03 lw t5,120(a0)
+800000b8: 07c52f83 lw t6,124(a0)
+800000bc: 02852503 lw a0,40(a0)
+800000c0: 10200073 sret
+
+800000c4 <trap_entry>:
+800000c4: 14011173 csrrw sp,sscratch,sp
+800000c8: 00112223 sw ra,4(sp)
+800000cc: 00312623 sw gp,12(sp)
+800000d0: 00412823 sw tp,16(sp)
+800000d4: 00512a23 sw t0,20(sp)
+800000d8: 00612c23 sw t1,24(sp)
+800000dc: 00712e23 sw t2,28(sp)
+800000e0: 02812023 sw s0,32(sp)
+800000e4: 02912223 sw s1,36(sp)
+800000e8: 02a12423 sw a0,40(sp)
+800000ec: 02b12623 sw a1,44(sp)
+800000f0: 02c12823 sw a2,48(sp)
+800000f4: 02d12a23 sw a3,52(sp)
+800000f8: 02e12c23 sw a4,56(sp)
+800000fc: 02f12e23 sw a5,60(sp)
+80000100: 05012023 sw a6,64(sp)
+80000104: 05112223 sw a7,68(sp)
+80000108: 05212423 sw s2,72(sp)
+8000010c: 05312623 sw s3,76(sp)
+80000110: 05412823 sw s4,80(sp)
+80000114: 05512a23 sw s5,84(sp)
+80000118: 05612c23 sw s6,88(sp)
+8000011c: 05712e23 sw s7,92(sp)
+80000120: 07812023 sw s8,96(sp)
+80000124: 07912223 sw s9,100(sp)
+80000128: 07a12423 sw s10,104(sp)
+8000012c: 07b12623 sw s11,108(sp)
+80000130: 07c12823 sw t3,112(sp)
+80000134: 07d12a23 sw t4,116(sp)
+80000138: 07e12c23 sw t5,120(sp)
+8000013c: 07f12e23 sw t6,124(sp)
+80000140: 140112f3 csrrw t0,sscratch,sp
+80000144: 00512423 sw t0,8(sp)
+80000148: 100022f3 csrr t0,sstatus
+8000014c: 08512023 sw t0,128(sp)
+80000150: 141022f3 csrr t0,sepc
+80000154: 08512223 sw t0,132(sp)
+80000158: 143022f3 csrr t0,stval
+8000015c: 08512423 sw t0,136(sp)
+80000160: 142022f3 csrr t0,scause
+80000164: 08512623 sw t0,140(sp)
+80000168: 00010513 mv a0,sp
+8000016c: 50c0206f j 80002678 <handle_trap>
+
+Disassembly of section .text:
+
+80002000 <memcpy>:
+80002000: 00c5e7b3 or a5,a1,a2
+80002004: 00f567b3 or a5,a0,a5
+80002008: 0037f793 andi a5,a5,3
+8000200c: 00c506b3 add a3,a0,a2
+80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+80002014: 00c58633 add a2,a1,a2
+80002018: 00050793 mv a5,a0
+8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+80002020: 00158593 addi a1,a1,1
+80002024: fff5c703 lbu a4,-1(a1)
+80002028: 00178793 addi a5,a5,1
+8000202c: fee78fa3 sb a4,-1(a5)
+80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+80002034: 00008067 ret
+80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+8000203c: 00050793 mv a5,a0
+80002040: 00458593 addi a1,a1,4
+80002044: ffc5a703 lw a4,-4(a1)
+80002048: 00478793 addi a5,a5,4
+8000204c: fee7ae23 sw a4,-4(a5)
+80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+80002054: 00008067 ret
+80002058: 00008067 ret
+
+8000205c <memset>:
+8000205c: 00c567b3 or a5,a0,a2
+80002060: 0037f793 andi a5,a5,3
+80002064: 00c50633 add a2,a0,a2
+80002068: 02078063 beqz a5,80002088 <memset+0x2c>
+8000206c: 0ff5f593 andi a1,a1,255
+80002070: 00050793 mv a5,a0
+80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58>
+80002078: 00178793 addi a5,a5,1
+8000207c: feb78fa3 sb a1,-1(a5)
+80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+80002084: 00008067 ret
+80002088: 0ff5f593 andi a1,a1,255
+8000208c: 00859793 slli a5,a1,0x8
+80002090: 00b7e7b3 or a5,a5,a1
+80002094: 01079593 slli a1,a5,0x10
+80002098: 00f5e5b3 or a1,a1,a5
+8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28>
+800020a0: 00050793 mv a5,a0
+800020a4: 00478793 addi a5,a5,4
+800020a8: feb7ae23 sw a1,-4(a5)
+800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48>
+800020b0: 00008067 ret
+800020b4: 00008067 ret
+
+800020b8 <strlen>:
+800020b8: 00054783 lbu a5,0(a0)
+800020bc: 00050713 mv a4,a0
+800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20>
+800020c4: 00150513 addi a0,a0,1
+800020c8: 00054783 lbu a5,0(a0)
+800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc>
+800020d0: 40e50533 sub a0,a0,a4
+800020d4: 00008067 ret
+800020d8: 00000513 li a0,0
+800020dc: 00008067 ret
+
+800020e0 <strcmp>:
+800020e0: 00150513 addi a0,a0,1
+800020e4: fff54783 lbu a5,-1(a0)
+800020e8: 00158593 addi a1,a1,1
+800020ec: fff5c703 lbu a4,-1(a1)
+800020f0: 00078863 beqz a5,80002100 <strcmp+0x20>
+800020f4: fee786e3 beq a5,a4,800020e0 <strcmp>
+800020f8: 40e78533 sub a0,a5,a4
+800020fc: 00008067 ret
+80002100: 00000793 li a5,0
+80002104: ff5ff06f j 800020f8 <strcmp+0x18>
+
+80002108 <memcmp>:
+80002108: 00b567b3 or a5,a0,a1
+8000210c: 0037f793 andi a5,a5,3
+80002110: 04079263 bnez a5,80002154 <memcmp+0x4c>
+80002114: ffc67693 andi a3,a2,-4
+80002118: 00d506b3 add a3,a0,a3
+8000211c: 00050813 mv a6,a0
+80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c>
+80002124: 00052703 lw a4,0(a0)
+80002128: 0005a783 lw a5,0(a1)
+8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38>
+80002130: 0240006f j 80002154 <memcmp+0x4c>
+80002134: 00052703 lw a4,0(a0)
+80002138: 0005a783 lw a5,0(a1)
+8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44>
+80002140: 00450513 addi a0,a0,4
+80002144: 00458593 addi a1,a1,4
+80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c>
+8000214c: 41050833 sub a6,a0,a6
+80002150: 41060633 sub a2,a2,a6
+80002154: 00c58633 add a2,a1,a2
+80002158: 0140006f j 8000216c <memcmp+0x64>
+8000215c: 00158593 addi a1,a1,1
+80002160: fff54783 lbu a5,-1(a0)
+80002164: fff5c703 lbu a4,-1(a1)
+80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74>
+8000216c: 00150513 addi a0,a0,1
+80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54>
+80002174: 00000513 li a0,0
+80002178: 00008067 ret
+8000217c: 40e78533 sub a0,a5,a4
+80002180: 00008067 ret
+
+80002184 <strcpy>:
+80002184: 00050793 mv a5,a0
+80002188: 00158593 addi a1,a1,1
+8000218c: fff5c703 lbu a4,-1(a1)
+80002190: 00178793 addi a5,a5,1
+80002194: fee78fa3 sb a4,-1(a5)
+80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4>
+8000219c: 00008067 ret
+
+800021a0 <atol>:
+800021a0: 00054783 lbu a5,0(a0)
+800021a4: 02000713 li a4,32
+800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18>
+800021ac: 00150513 addi a0,a0,1
+800021b0: 00054783 lbu a5,0(a0)
+800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc>
+800021b8: fd578713 addi a4,a5,-43
+800021bc: 0fd77713 andi a4,a4,253
+800021c0: 04070263 beqz a4,80002204 <atol+0x64>
+800021c4: 00054683 lbu a3,0(a0)
+800021c8: 00050793 mv a5,a0
+800021cc: 00000613 li a2,0
+800021d0: 04068863 beqz a3,80002220 <atol+0x80>
+800021d4: 00000513 li a0,0
+800021d8: 00178793 addi a5,a5,1
+800021dc: fd068593 addi a1,a3,-48
+800021e0: 00251713 slli a4,a0,0x2
+800021e4: 0007c683 lbu a3,0(a5)
+800021e8: 00a70533 add a0,a4,a0
+800021ec: 00151513 slli a0,a0,0x1
+800021f0: 00a58533 add a0,a1,a0
+800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38>
+800021f8: 00060463 beqz a2,80002200 <atol+0x60>
+800021fc: 40a00533 neg a0,a0
+80002200: 00008067 ret
+80002204: 00154683 lbu a3,1(a0)
+80002208: fd378793 addi a5,a5,-45
+8000220c: 0017b613 seqz a2,a5
+80002210: 00150793 addi a5,a0,1
+80002214: fc0690e3 bnez a3,800021d4 <atol+0x34>
+80002218: 00000513 li a0,0
+8000221c: fddff06f j 800021f8 <atol+0x58>
+80002220: 00000513 li a0,0
+80002224: 00008067 ret
+
+80002228 <terminate>:
+80002228: fffff697 auipc a3,0xfffff
+8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost>
+80002230: 0006a703 lw a4,0(a3)
+80002234: 0046a783 lw a5,4(a3)
+80002238: 00050813 mv a6,a0
+8000223c: 41f55893 srai a7,a0,0x1f
+80002240: 00f76733 or a4,a4,a5
+80002244: 02070663 beqz a4,80002270 <terminate+0x48>
+80002248: fffff617 auipc a2,0xfffff
+8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost>
+80002250: 00000713 li a4,0
+80002254: 00e62023 sw a4,0(a2)
+80002258: 00000793 li a5,0
+8000225c: 00f62223 sw a5,4(a2)
+80002260: 0006a703 lw a4,0(a3)
+80002264: 0046a783 lw a5,4(a3)
+80002268: 00f76733 or a4,a4,a5
+8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28>
+80002270: 0106a023 sw a6,0(a3)
+80002274: 0116a223 sw a7,4(a3)
+80002278: 0000006f j 80002278 <terminate+0x50>
+
+8000227c <wtf>:
+8000227c: ff010113 addi sp,sp,-16
+80002280: 34900513 li a0,841
+80002284: 00112623 sw ra,12(sp)
+80002288: fa1ff0ef jal ra,80002228 <terminate>
+
+8000228c <printhex>:
+8000228c: fe010113 addi sp,sp,-32
+80002290: 01b10793 addi a5,sp,27
+80002294: 00b10e93 addi t4,sp,11
+80002298: 00900e13 li t3,9
+8000229c: 00f57693 andi a3,a0,15
+800022a0: 01c59313 slli t1,a1,0x1c
+800022a4: 00455513 srli a0,a0,0x4
+800022a8: 05700613 li a2,87
+800022ac: 0ff6f713 andi a4,a3,255
+800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c>
+800022b4: 03000613 li a2,48
+800022b8: 00c70733 add a4,a4,a2
+800022bc: 00e78023 sb a4,0(a5)
+800022c0: fff78793 addi a5,a5,-1
+800022c4: 00a36533 or a0,t1,a0
+800022c8: 0045d593 srli a1,a1,0x4
+800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10>
+800022d0: 00c14583 lbu a1,12(sp)
+800022d4: 00010e23 sb zero,28(sp)
+800022d8: 06058263 beqz a1,8000233c <printhex+0xb0>
+800022dc: 00c10513 addi a0,sp,12
+800022e0: fffff697 auipc a3,0xfffff
+800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost>
+800022e8: fffff617 auipc a2,0xfffff
+800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost>
+800022f0: 0006a703 lw a4,0(a3)
+800022f4: 0046a783 lw a5,4(a3)
+800022f8: 00058813 mv a6,a1
+800022fc: 00150513 addi a0,a0,1
+80002300: 00f76733 or a4,a4,a5
+80002304: 010108b7 lui a7,0x1010
+80002308: 02070263 beqz a4,8000232c <printhex+0xa0>
+8000230c: 00000713 li a4,0
+80002310: 00e62023 sw a4,0(a2)
+80002314: 00000793 li a5,0
+80002318: 00f62223 sw a5,4(a2)
+8000231c: 0006a703 lw a4,0(a3)
+80002320: 0046a783 lw a5,4(a3)
+80002324: 00f76733 or a4,a4,a5
+80002328: fe0712e3 bnez a4,8000230c <printhex+0x80>
+8000232c: 00054583 lbu a1,0(a0)
+80002330: 0106a023 sw a6,0(a3)
+80002334: 0116a223 sw a7,4(a3)
+80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64>
+8000233c: 02010113 addi sp,sp,32
+80002340: 00008067 ret
+
+80002344 <handle_fault>:
+80002344: ff010113 addi sp,sp,-16
+80002348: fffff6b7 lui a3,0xfffff
+8000234c: 00112623 sw ra,12(sp)
+80002350: 00812423 sw s0,8(sp)
+80002354: 00912223 sw s1,4(sp)
+80002358: 00d50733 add a4,a0,a3
+8000235c: 0003e7b7 lui a5,0x3e
+80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180>
+80002364: 00c55613 srli a2,a0,0xc
+80002368: 40060e13 addi t3,a2,1024
+8000236c: 00001317 auipc t1,0x1
+80002370: c9430313 addi t1,t1,-876 # 80003000 <begin_signature>
+80002374: 002e1793 slli a5,t3,0x2
+80002378: 00f307b3 add a5,t1,a5
+8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000>
+80002380: 00d57533 and a0,a0,a3
+80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130>
+80002388: 00003797 auipc a5,0x3
+8000238c: 06c78793 addi a5,a5,108 # 800053f4 <freelist_head>
+80002390: 0007a583 lw a1,0(a5)
+80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0>
+80002398: 0045a783 lw a5,4(a1)
+8000239c: 00003717 auipc a4,0x3
+800023a0: 05470713 addi a4,a4,84 # 800053f0 <freelist_tail>
+800023a4: 00072703 lw a4,0(a4)
+800023a8: 00003697 auipc a3,0x3
+800023ac: 04f6a623 sw a5,76(a3) # 800053f4 <freelist_head>
+800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174>
+800023b4: 0005a703 lw a4,0(a1)
+800023b8: 002e1793 slli a5,t3,0x2
+800023bc: 00f307b3 add a5,t1,a5
+800023c0: 00c75713 srli a4,a4,0xc
+800023c4: 00a71713 slli a4,a4,0xa
+800023c8: 0df76e93 ori t4,a4,223
+800023cc: 01f76693 ori a3,a4,31
+800023d0: 01d7a023 sw t4,0(a5)
+800023d4: 12050073 sfence.vma a0
+800023d8: 00003717 auipc a4,0x3
+800023dc: e2070713 addi a4,a4,-480 # 800051f8 <user_mapping>
+800023e0: 00361793 slli a5,a2,0x3
+800023e4: 00f707b3 add a5,a4,a5
+800023e8: 0007a703 lw a4,0(a5)
+800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c>
+800023f0: 0005a703 lw a4,0(a1)
+800023f4: 00e7a023 sw a4,0(a5)
+800023f8: 0045a703 lw a4,4(a1)
+800023fc: 00e7a223 sw a4,4(a5)
+80002400: 000407b7 lui a5,0x40
+80002404: 1007a5f3 csrrs a1,sstatus,a5
+80002408: ffc007b7 lui a5,0xffc00
+8000240c: 00f507b3 add a5,a0,a5
+80002410: 00001637 lui a2,0x1
+80002414: 00050713 mv a4,a0
+80002418: 00c78633 add a2,a5,a2
+8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbfac08>
+80002420: 0047ae83 lw t4,4(a5)
+80002424: 0087a883 lw a7,8(a5)
+80002428: 00c7a803 lw a6,12(a5)
+8000242c: 01e72023 sw t5,0(a4)
+80002430: 01d72223 sw t4,4(a4)
+80002434: 01172423 sw a7,8(a4)
+80002438: 01072623 sw a6,12(a4)
+8000243c: 01078793 addi a5,a5,16
+80002440: 01070713 addi a4,a4,16
+80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8>
+80002448: 10059073 csrw sstatus,a1
+8000244c: 002e1e13 slli t3,t3,0x2
+80002450: 01c30333 add t1,t1,t3
+80002454: 00d32023 sw a3,0(t1)
+80002458: 12050073 sfence.vma a0
+8000245c: 0000100f fence.i
+80002460: 00c12083 lw ra,12(sp)
+80002464: 00812403 lw s0,8(sp)
+80002468: 00412483 lw s1,4(sp)
+8000246c: 01010113 addi sp,sp,16
+80002470: 00008067 ret
+80002474: 04077693 andi a3,a4,64
+80002478: 02069263 bnez a3,8000249c <handle_fault+0x158>
+8000247c: 04076713 ori a4,a4,64
+80002480: 00e7a023 sw a4,0(a5)
+80002484: 12050073 sfence.vma a0
+80002488: 00c12083 lw ra,12(sp)
+8000248c: 00812403 lw s0,8(sp)
+80002490: 00412483 lw s1,4(sp)
+80002494: 01010113 addi sp,sp,16
+80002498: 00008067 ret
+8000249c: 08077693 andi a3,a4,128
+800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8>
+800024a4: 00f00693 li a3,15
+800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8>
+800024ac: 08076713 ori a4,a4,128
+800024b0: 00e7a023 sw a4,0(a5)
+800024b4: fd1ff06f j 80002484 <handle_fault+0x140>
+800024b8: 00003797 auipc a5,0x3
+800024bc: f207ac23 sw zero,-200(a5) # 800053f0 <freelist_tail>
+800024c0: ef5ff06f j 800023b4 <handle_fault+0x70>
+800024c4: 04100513 li a0,65
+800024c8: 00001597 auipc a1,0x1
+800024cc: 83858593 addi a1,a1,-1992 # 80002d00 <pass+0xc>
+800024d0: fffff697 auipc a3,0xfffff
+800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost>
+800024d8: fffff617 auipc a2,0xfffff
+800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost>
+800024e0: 0006a703 lw a4,0(a3)
+800024e4: 0046a783 lw a5,4(a3)
+800024e8: 00050313 mv t1,a0
+800024ec: 00158593 addi a1,a1,1
+800024f0: 00f76733 or a4,a4,a5
+800024f4: 010103b7 lui t2,0x1010
+800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8>
+800024fc: 00000793 li a5,0
+80002500: 00f62023 sw a5,0(a2)
+80002504: 00000813 li a6,0
+80002508: 01062223 sw a6,4(a2)
+8000250c: 0006a703 lw a4,0(a3)
+80002510: 0046a783 lw a5,4(a3)
+80002514: 00f76733 or a4,a4,a5
+80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8>
+8000251c: 0005c503 lbu a0,0(a1)
+80002520: 0066a023 sw t1,0(a3)
+80002524: 0076a223 sw t2,4(a3)
+80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c>
+8000252c: 00300513 li a0,3
+80002530: cf9ff0ef jal ra,80002228 <terminate>
+80002534: 04100513 li a0,65
+80002538: 00001597 auipc a1,0x1
+8000253c: 85458593 addi a1,a1,-1964 # 80002d8c <pass+0x98>
+80002540: fffff697 auipc a3,0xfffff
+80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost>
+80002548: fffff617 auipc a2,0xfffff
+8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost>
+80002550: 0006a703 lw a4,0(a3)
+80002554: 0046a783 lw a5,4(a3)
+80002558: 00050f13 mv t5,a0
+8000255c: 00158593 addi a1,a1,1
+80002560: 00f76733 or a4,a4,a5
+80002564: 01010fb7 lui t6,0x1010
+80002568: 02070263 beqz a4,8000258c <handle_fault+0x248>
+8000256c: 00000793 li a5,0
+80002570: 00f62023 sw a5,0(a2)
+80002574: 00000813 li a6,0
+80002578: 01062223 sw a6,4(a2)
+8000257c: 0006a703 lw a4,0(a3)
+80002580: 0046a783 lw a5,4(a3)
+80002584: 00f76733 or a4,a4,a5
+80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228>
+8000258c: 0005c503 lbu a0,0(a1)
+80002590: 01e6a023 sw t5,0(a3)
+80002594: 01f6a223 sw t6,4(a3)
+80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c>
+8000259c: f91ff06f j 8000252c <handle_fault+0x1e8>
+800025a0: 04100513 li a0,65
+800025a4: 00001597 auipc a1,0x1
+800025a8: 80058593 addi a1,a1,-2048 # 80002da4 <pass+0xb0>
+800025ac: fffff697 auipc a3,0xfffff
+800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost>
+800025b4: fffff617 auipc a2,0xfffff
+800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost>
+800025bc: 0006a703 lw a4,0(a3)
+800025c0: 0046a783 lw a5,4(a3)
+800025c4: 00050813 mv a6,a0
+800025c8: 00158593 addi a1,a1,1
+800025cc: 00f76733 or a4,a4,a5
+800025d0: 010108b7 lui a7,0x1010
+800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4>
+800025d8: 00000713 li a4,0
+800025dc: 00e62023 sw a4,0(a2)
+800025e0: 00000793 li a5,0
+800025e4: 00f62223 sw a5,4(a2)
+800025e8: 0006a703 lw a4,0(a3)
+800025ec: 0046a783 lw a5,4(a3)
+800025f0: 00f76733 or a4,a4,a5
+800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294>
+800025f8: 0005c503 lbu a0,0(a1)
+800025fc: 0106a023 sw a6,0(a3)
+80002600: 0116a223 sw a7,4(a3)
+80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278>
+80002608: f25ff06f j 8000252c <handle_fault+0x1e8>
+8000260c: 04100793 li a5,65
+80002610: 00000597 auipc a1,0x0
+80002614: 73458593 addi a1,a1,1844 # 80002d44 <pass+0x50>
+80002618: fffff697 auipc a3,0xfffff
+8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost>
+80002620: fffff617 auipc a2,0xfffff
+80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost>
+80002628: 0006a803 lw a6,0(a3)
+8000262c: 0046a883 lw a7,4(a3)
+80002630: 00078413 mv s0,a5
+80002634: 00158593 addi a1,a1,1
+80002638: 01186833 or a6,a6,a7
+8000263c: 010104b7 lui s1,0x1010
+80002640: 02080263 beqz a6,80002664 <handle_fault+0x320>
+80002644: 00000793 li a5,0
+80002648: 00f62023 sw a5,0(a2)
+8000264c: 00000813 li a6,0
+80002650: 01062223 sw a6,4(a2)
+80002654: 0006a703 lw a4,0(a3)
+80002658: 0046a783 lw a5,4(a3)
+8000265c: 00f76733 or a4,a4,a5
+80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300>
+80002664: 0005c783 lbu a5,0(a1)
+80002668: 0086a023 sw s0,0(a3)
+8000266c: 0096a223 sw s1,4(a3)
+80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4>
+80002674: eb9ff06f j 8000252c <handle_fault+0x1e8>
+
+80002678 <handle_trap>:
+80002678: 08c52583 lw a1,140(a0)
+8000267c: fb010113 addi sp,sp,-80
+80002680: 03412c23 sw s4,56(sp)
+80002684: 04112623 sw ra,76(sp)
+80002688: 04812423 sw s0,72(sp)
+8000268c: 04912223 sw s1,68(sp)
+80002690: 05212023 sw s2,64(sp)
+80002694: 03312e23 sw s3,60(sp)
+80002698: 03512a23 sw s5,52(sp)
+8000269c: 03612823 sw s6,48(sp)
+800026a0: 03712623 sw s7,44(sp)
+800026a4: 03812423 sw s8,40(sp)
+800026a8: 03912223 sw s9,36(sp)
+800026ac: 03a12023 sw s10,32(sp)
+800026b0: 01b12e23 sw s11,28(sp)
+800026b4: 00800793 li a5,8
+800026b8: 00050a13 mv s4,a0
+800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0>
+800026c0: 00200793 li a5,2
+800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac>
+800026c8: ff458793 addi a5,a1,-12
+800026cc: 00100713 li a4,1
+800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64>
+800026d4: 00f00793 li a5,15
+800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294>
+800026dc: 088a2503 lw a0,136(s4)
+800026e0: c65ff0ef jal ra,80002344 <handle_fault>
+800026e4: 04812403 lw s0,72(sp)
+800026e8: 04c12083 lw ra,76(sp)
+800026ec: 04412483 lw s1,68(sp)
+800026f0: 04012903 lw s2,64(sp)
+800026f4: 03c12983 lw s3,60(sp)
+800026f8: 03412a83 lw s5,52(sp)
+800026fc: 03012b03 lw s6,48(sp)
+80002700: 02c12b83 lw s7,44(sp)
+80002704: 02812c03 lw s8,40(sp)
+80002708: 02412c83 lw s9,36(sp)
+8000270c: 02012d03 lw s10,32(sp)
+80002710: 01c12d83 lw s11,28(sp)
+80002714: 000a0513 mv a0,s4
+80002718: 03812a03 lw s4,56(sp)
+8000271c: 05010113 addi sp,sp,80
+80002720: 91dfd06f j 8000003c <pop_tf>
+80002724: 08452703 lw a4,132(a0)
+80002728: 00377793 andi a5,a4,3
+8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144>
+80002730: 008007ef jal a5,80002738 <handle_trap+0xc0>
+80002734: 00301073 fssr zero
+80002738: 00072703 lw a4,0(a4)
+8000273c: 0007a783 lw a5,0(a5)
+80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c>
+80002744: 04100513 li a0,65
+80002748: 00000597 auipc a1,0x0
+8000274c: 72458593 addi a1,a1,1828 # 80002e6c <pass+0x178>
+80002750: fffff697 auipc a3,0xfffff
+80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost>
+80002758: fffff617 auipc a2,0xfffff
+8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost>
+80002760: 0006a703 lw a4,0(a3)
+80002764: 0046a783 lw a5,4(a3)
+80002768: 00050813 mv a6,a0
+8000276c: 00158593 addi a1,a1,1
+80002770: 00f76733 or a4,a4,a5
+80002774: 010108b7 lui a7,0x1010
+80002778: 02070263 beqz a4,8000279c <handle_trap+0x124>
+8000277c: 00000713 li a4,0
+80002780: 00e62023 sw a4,0(a2)
+80002784: 00000793 li a5,0
+80002788: 00f62223 sw a5,4(a2)
+8000278c: 0006a703 lw a4,0(a3)
+80002790: 0046a783 lw a5,4(a3)
+80002794: 00f76733 or a4,a4,a5
+80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104>
+8000279c: 0005c503 lbu a0,0(a1)
+800027a0: 0106a023 sw a6,0(a3)
+800027a4: 0116a223 sw a7,4(a3)
+800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8>
+800027ac: 00300513 li a0,3
+800027b0: a79ff0ef jal ra,80002228 <terminate>
+800027b4: 00100513 li a0,1
+800027b8: a71ff0ef jal ra,80002228 <terminate>
+800027bc: 00000597 auipc a1,0x0
+800027c0: 68c58593 addi a1,a1,1676 # 80002e48 <pass+0x154>
+800027c4: 04100613 li a2,65
+800027c8: fffff697 auipc a3,0xfffff
+800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost>
+800027d0: fffff517 auipc a0,0xfffff
+800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost>
+800027d8: 0006a703 lw a4,0(a3)
+800027dc: 0046a783 lw a5,4(a3)
+800027e0: 00060e13 mv t3,a2
+800027e4: 00158593 addi a1,a1,1
+800027e8: 00f76733 or a4,a4,a5
+800027ec: 01010eb7 lui t4,0x1010
+800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c>
+800027f4: 00000793 li a5,0
+800027f8: 00f52023 sw a5,0(a0)
+800027fc: 00000813 li a6,0
+80002800: 01052223 sw a6,4(a0)
+80002804: 0006a703 lw a4,0(a3)
+80002808: 0046a783 lw a5,4(a3)
+8000280c: 00f76733 or a4,a4,a5
+80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c>
+80002814: 0005c603 lbu a2,0(a1)
+80002818: 01c6a023 sw t3,0(a3)
+8000281c: 01d6a223 sw t4,4(a3)
+80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160>
+80002824: f89ff06f j 800027ac <handle_trap+0x134>
+80002828: 02852783 lw a5,40(a0)
+8000282c: 00001a37 lui s4,0x1
+80002830: 00003b17 auipc s6,0x3
+80002834: 9c8b0b13 addi s6,s6,-1592 # 800051f8 <user_mapping>
+80002838: 00f12223 sw a5,4(sp)
+8000283c: 00000d17 auipc s10,0x0
+80002840: 7c4d0d13 addi s10,s10,1988 # 80003000 <begin_signature>
+80002844: 00040cb7 lui s9,0x40
+80002848: ffc00c37 lui s8,0xffc00
+8000284c: 0003fab7 lui s5,0x3f
+80002850: 01c0006f j 8000286c <handle_trap+0x1f4>
+80002854: 00f72223 sw a5,4(a4)
+80002858: 00003717 auipc a4,0x3
+8000285c: b8f72c23 sw a5,-1128(a4) # 800053f0 <freelist_tail>
+80002860: 000017b7 lui a5,0x1
+80002864: 00fa0a33 add s4,s4,a5
+80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398>
+8000286c: 00ca5713 srli a4,s4,0xc
+80002870: 00371b93 slli s7,a4,0x3
+80002874: 017b0633 add a2,s6,s7
+80002878: 00062603 lw a2,0(a2)
+8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8>
+80002880: 40070713 addi a4,a4,1024
+80002884: 00271713 slli a4,a4,0x2
+80002888: 00ed0733 add a4,s10,a4
+8000288c: 00072703 lw a4,0(a4)
+80002890: 04077613 andi a2,a4,64
+80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c>
+80002898: 00e12623 sw a4,12(sp)
+8000289c: 100cadf3 csrrs s11,sstatus,s9
+800028a0: 018a0833 add a6,s4,s8
+800028a4: 00001637 lui a2,0x1
+800028a8: 00080593 mv a1,a6
+800028ac: 000a0513 mv a0,s4
+800028b0: 01012423 sw a6,8(sp)
+800028b4: 855ff0ef jal ra,80002108 <memcmp>
+800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264>
+800028bc: 00c12703 lw a4,12(sp)
+800028c0: 00812803 lw a6,8(sp)
+800028c4: 08077713 andi a4,a4,128
+800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300>
+800028cc: 00001637 lui a2,0x1
+800028d0: 00080593 mv a1,a6
+800028d4: 000a0513 mv a0,s4
+800028d8: f28ff0ef jal ra,80002000 <memcpy>
+800028dc: 017b07b3 add a5,s6,s7
+800028e0: 100d9073 csrw sstatus,s11
+800028e4: 00003717 auipc a4,0x3
+800028e8: b0c70713 addi a4,a4,-1268 # 800053f0 <freelist_tail>
+800028ec: 00072703 lw a4,0(a4)
+800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000>
+800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc>
+800028f8: 00003717 auipc a4,0x3
+800028fc: aef72c23 sw a5,-1288(a4) # 800053f0 <freelist_tail>
+80002900: 00003717 auipc a4,0x3
+80002904: aef72a23 sw a5,-1292(a4) # 800053f4 <freelist_head>
+80002908: f59ff06f j 80002860 <handle_trap+0x1e8>
+8000290c: 04100593 li a1,65
+80002910: 00000617 auipc a2,0x0
+80002914: 58860613 addi a2,a2,1416 # 80002e98 <pass+0x1a4>
+80002918: ffffe697 auipc a3,0xffffe
+8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost>
+80002920: ffffe517 auipc a0,0xffffe
+80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost>
+80002928: 0006a703 lw a4,0(a3)
+8000292c: 0046a783 lw a5,4(a3)
+80002930: 00058313 mv t1,a1
+80002934: 00160613 addi a2,a2,1
+80002938: 00f76733 or a4,a4,a5
+8000293c: 010103b7 lui t2,0x1010
+80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec>
+80002944: 00000793 li a5,0
+80002948: 00f52023 sw a5,0(a0)
+8000294c: 00000813 li a6,0
+80002950: 01052223 sw a6,4(a0)
+80002954: 0006a703 lw a4,0(a3)
+80002958: 0046a783 lw a5,4(a3)
+8000295c: 00f76733 or a4,a4,a5
+80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc>
+80002964: 00064583 lbu a1,0(a2)
+80002968: 0066a023 sw t1,0(a3)
+8000296c: 0076a223 sw t2,4(a3)
+80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0>
+80002974: e39ff06f j 800027ac <handle_trap+0x134>
+80002978: 04100793 li a5,65
+8000297c: 00000617 auipc a2,0x0
+80002980: 49860613 addi a2,a2,1176 # 80002e14 <pass+0x120>
+80002984: ffffe697 auipc a3,0xffffe
+80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost>
+8000298c: ffffe597 auipc a1,0xffffe
+80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost>
+80002994: 00078413 mv s0,a5
+80002998: 00160613 addi a2,a2,1
+8000299c: 010104b7 lui s1,0x1010
+800029a0: 0006a703 lw a4,0(a3)
+800029a4: 0046a783 lw a5,4(a3)
+800029a8: 00f76733 or a4,a4,a5
+800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0>
+800029b0: 00000793 li a5,0
+800029b4: 00000813 li a6,0
+800029b8: 00f5a023 sw a5,0(a1)
+800029bc: 0105a223 sw a6,4(a1)
+800029c0: fe1ff06f j 800029a0 <handle_trap+0x328>
+800029c4: 04100793 li a5,65
+800029c8: 00000617 auipc a2,0x0
+800029cc: 41860613 addi a2,a2,1048 # 80002de0 <pass+0xec>
+800029d0: ffffe697 auipc a3,0xffffe
+800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost>
+800029d8: ffffe597 auipc a1,0xffffe
+800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost>
+800029e0: 00078913 mv s2,a5
+800029e4: 00160613 addi a2,a2,1
+800029e8: 010109b7 lui s3,0x1010
+800029ec: 0006a703 lw a4,0(a3)
+800029f0: 0046a783 lw a5,4(a3)
+800029f4: 00f76733 or a4,a4,a5
+800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4>
+800029fc: 00000793 li a5,0
+80002a00: 00000813 li a6,0
+80002a04: 00f5a023 sw a5,0(a1)
+80002a08: 0105a223 sw a6,4(a1)
+80002a0c: fe1ff06f j 800029ec <handle_trap+0x374>
+80002a10: 00412503 lw a0,4(sp)
+80002a14: 815ff0ef jal ra,80002228 <terminate>
+80002a18: 00064783 lbu a5,0(a2)
+80002a1c: 0086a023 sw s0,0(a3)
+80002a20: 0096a223 sw s1,4(a3)
+80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c>
+80002a28: d85ff06f j 800027ac <handle_trap+0x134>
+80002a2c: 00064783 lbu a5,0(a2)
+80002a30: 0126a023 sw s2,0(a3)
+80002a34: 0136a223 sw s3,4(a3)
+80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368>
+80002a3c: d71ff06f j 800027ac <handle_trap+0x134>
+
+80002a40 <vm_boot>:
+80002a40: f14027f3 csrr a5,mhartid
+80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158>
+80002a48: 00001797 auipc a5,0x1
+80002a4c: 5b878793 addi a5,a5,1464 # 80004000 <begin_signature+0x1000>
+80002a50: 00c7d793 srli a5,a5,0xc
+80002a54: 00a79793 slli a5,a5,0xa
+80002a58: 0017e793 ori a5,a5,1
+80002a5c: 00000697 auipc a3,0x0
+80002a60: 5af6a223 sw a5,1444(a3) # 80003000 <begin_signature>
+80002a64: 200007b7 lui a5,0x20000
+80002a68: 00000717 auipc a4,0x0
+80002a6c: 59870713 addi a4,a4,1432 # 80003000 <begin_signature>
+80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31>
+80002a74: f6010113 addi sp,sp,-160
+80002a78: 00001697 auipc a3,0x1
+80002a7c: 58f6a223 sw a5,1412(a3) # 80003ffc <begin_signature+0xffc>
+80002a80: 00c75793 srli a5,a4,0xc
+80002a84: 80000737 lui a4,0x80000
+80002a88: 08112e23 sw ra,156(sp)
+80002a8c: 08812c23 sw s0,152(sp)
+80002a90: 00e7e7b3 or a5,a5,a4
+80002a94: 18079073 csrw satp,a5
+80002a98: 01f00793 li a5,31
+80002a9c: fff00713 li a4,-1
+80002aa0: 00000297 auipc t0,0x0
+80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74>
+80002aa8: 305292f3 csrrw t0,mtvec,t0
+80002aac: 3b071073 csrw pmpaddr0,a4
+80002ab0: 3a079073 csrw pmpcfg0,a5
+80002ab4: 7fbfd797 auipc a5,0x7fbfd
+80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbfaccc>
+80002abc: 10579073 csrw stvec,a5
+80002ac0: 340027f3 csrr a5,mscratch
+80002ac4: 7fc00837 lui a6,0x7fc00
+80002ac8: 010787b3 add a5,a5,a6
+80002acc: 14079073 csrw sscratch,a5
+80002ad0: 0000b7b7 lui a5,0xb
+80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00>
+80002ad8: 30279073 csrw medeleg,a5
+80002adc: 0001e7b7 lui a5,0x1e
+80002ae0: 30079073 csrw mstatus,a5
+80002ae4: 30405073 csrwi mie,0
+80002ae8: 7fc02797 auipc a5,0x7fc02
+80002aec: 51878793 addi a5,a5,1304 # ffc05000 <_end+0x7fbffc08>
+80002af0: 00003717 auipc a4,0x3
+80002af4: 90f72223 sw a5,-1788(a4) # 800053f4 <freelist_head>
+80002af8: 7fc02797 auipc a5,0x7fc02
+80002afc: 6f878793 addi a5,a5,1784 # ffc051f0 <_end+0x7fbffdf8>
+80002b00: 00003717 auipc a4,0x3
+80002b04: 8ef72823 sw a5,-1808(a4) # 800053f0 <freelist_tail>
+80002b08: 000808b7 lui a7,0x80
+80002b0c: 00002717 auipc a4,0x2
+80002b10: 4f470713 addi a4,a4,1268 # 80005000 <freelist_nodes>
+80002b14: 00002317 auipc t1,0x2
+80002b18: 6e430313 addi t1,t1,1764 # 800051f8 <user_mapping>
+80002b1c: 02400793 li a5,36
+80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1>
+80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8>
+80002b28: 0017d613 srli a2,a5,0x1
+80002b2c: 011786b3 add a3,a5,a7
+80002b30: 00f647b3 xor a5,a2,a5
+80002b34: 010705b3 add a1,a4,a6
+80002b38: 00c69693 slli a3,a3,0xc
+80002b3c: 00579793 slli a5,a5,0x5
+80002b40: 00d72023 sw a3,0(a4)
+80002b44: 00b72223 sw a1,4(a4)
+80002b48: 0207f793 andi a5,a5,32
+80002b4c: 00870713 addi a4,a4,8
+80002b50: 00f667b3 or a5,a2,a5
+80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8>
+80002b58: 00050413 mv s0,a0
+80002b5c: 09000613 li a2,144
+80002b60: 00000593 li a1,0
+80002b64: 00010513 mv a0,sp
+80002b68: 00002797 auipc a5,0x2
+80002b6c: 6807a623 sw zero,1676(a5) # 800051f4 <freelist_nodes+0x1f4>
+80002b70: cecff0ef jal ra,8000205c <memset>
+80002b74: 800007b7 lui a5,0x80000
+80002b78: 00f40433 add s0,s0,a5
+80002b7c: 00010513 mv a0,sp
+80002b80: 08812223 sw s0,132(sp)
+80002b84: cb8fd0ef jal ra,8000003c <pop_tf>
+80002b88: 09c12083 lw ra,156(sp)
+80002b8c: 09812403 lw s0,152(sp)
+80002b90: 0a010113 addi sp,sp,160
+80002b94: 00008067 ret
+80002b98: 06cb57b7 lui a5,0x6cb5
+80002b9c: 00080637 lui a2,0x80
+80002ba0: 32878793 addi a5,a5,808 # 6cb5328 <_start-0x7934acd8>
+80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004>
+80002ba8: 800005b7 lui a1,0x80000
+80002bac: 00c7f733 and a4,a5,a2
+80002bb0: 0017f693 andi a3,a5,1
+80002bb4: 00b70733 add a4,a4,a1
+80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194>
+80002bbc: 0007202f amoadd.w zero,zero,(a4)
+80002bc0: 0017d793 srli a5,a5,0x1
+80002bc4: 00c7f733 and a4,a5,a2
+80002bc8: 0017f693 andi a3,a5,1
+80002bcc: 00b70733 add a4,a4,a1
+80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c>
+80002bd4: 00072003 lw zero,0(a4)
+80002bd8: 0017d793 srli a5,a5,0x1
+80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184>
+
+80002be0 <userstart>:
+80002be0: 00301073 fssr zero
+
+80002be4 <test_2>:
+80002be4: ff800537 lui a0,0xff800
+80002be8: f0050553 fmv.w.x fa0,a0
+80002bec: e0051553 fclass.s a0,fa0
+80002bf0: 00100e93 li t4,1
+80002bf4: 00200193 li gp,2
+80002bf8: 0fd51663 bne a0,t4,80002ce4 <fail>
+
+80002bfc <test_3>:
+80002bfc: bf800537 lui a0,0xbf800
+80002c00: f0050553 fmv.w.x fa0,a0
+80002c04: e0051553 fclass.s a0,fa0
+80002c08: 00200e93 li t4,2
+80002c0c: 00300193 li gp,3
+80002c10: 0dd51a63 bne a0,t4,80002ce4 <fail>
+
+80002c14 <test_4>:
+80002c14: 80800537 lui a0,0x80800
+80002c18: fff50513 addi a0,a0,-1 # 807fffff <_end+0x7fac07>
+80002c1c: f0050553 fmv.w.x fa0,a0
+80002c20: e0051553 fclass.s a0,fa0
+80002c24: 00400e93 li t4,4
+80002c28: 00400193 li gp,4
+80002c2c: 0bd51c63 bne a0,t4,80002ce4 <fail>
+
+80002c30 <test_5>:
+80002c30: 80000537 lui a0,0x80000
+80002c34: f0050553 fmv.w.x fa0,a0
+80002c38: e0051553 fclass.s a0,fa0
+80002c3c: 00800e93 li t4,8
+80002c40: 00500193 li gp,5
+80002c44: 0bd51063 bne a0,t4,80002ce4 <fail>
+
+80002c48 <test_6>:
+80002c48: 00000513 li a0,0
+80002c4c: f0050553 fmv.w.x fa0,a0
+80002c50: e0051553 fclass.s a0,fa0
+80002c54: 01000e93 li t4,16
+80002c58: 00600193 li gp,6
+80002c5c: 09d51463 bne a0,t4,80002ce4 <fail>
+
+80002c60 <test_7>:
+80002c60: 00800537 lui a0,0x800
+80002c64: fff50513 addi a0,a0,-1 # 7fffff <_start-0x7f800001>
+80002c68: f0050553 fmv.w.x fa0,a0
+80002c6c: e0051553 fclass.s a0,fa0
+80002c70: 02000e93 li t4,32
+80002c74: 00700193 li gp,7
+80002c78: 07d51663 bne a0,t4,80002ce4 <fail>
+
+80002c7c <test_8>:
+80002c7c: 3f800537 lui a0,0x3f800
+80002c80: f0050553 fmv.w.x fa0,a0
+80002c84: e0051553 fclass.s a0,fa0
+80002c88: 04000e93 li t4,64
+80002c8c: 00800193 li gp,8
+80002c90: 05d51a63 bne a0,t4,80002ce4 <fail>
+
+80002c94 <test_9>:
+80002c94: 7f800537 lui a0,0x7f800
+80002c98: f0050553 fmv.w.x fa0,a0
+80002c9c: e0051553 fclass.s a0,fa0
+80002ca0: 08000e93 li t4,128
+80002ca4: 00900193 li gp,9
+80002ca8: 03d51e63 bne a0,t4,80002ce4 <fail>
+
+80002cac <test_10>:
+80002cac: 7f800537 lui a0,0x7f800
+80002cb0: 00150513 addi a0,a0,1 # 7f800001 <_start-0x7fffff>
+80002cb4: f0050553 fmv.w.x fa0,a0
+80002cb8: e0051553 fclass.s a0,fa0
+80002cbc: 10000e93 li t4,256
+80002cc0: 00a00193 li gp,10
+80002cc4: 03d51063 bne a0,t4,80002ce4 <fail>
+
+80002cc8 <test_11>:
+80002cc8: 7fc00537 lui a0,0x7fc00
+80002ccc: f0050553 fmv.w.x fa0,a0
+80002cd0: e0051553 fclass.s a0,fa0
+80002cd4: 20000e93 li t4,512
+80002cd8: 00b00193 li gp,11
+80002cdc: 01d51463 bne a0,t4,80002ce4 <fail>
+80002ce0: 00301a63 bne zero,gp,80002cf4 <pass>
+
+80002ce4 <fail>:
+80002ce4: 00119513 slli a0,gp,0x1
+80002ce8: 00050063 beqz a0,80002ce8 <fail+0x4>
+80002cec: 00156513 ori a0,a0,1
+80002cf0: 00000073 ecall
+
+80002cf4 <pass>:
+80002cf4: 00100513 li a0,1
+80002cf8: 00000073 ecall
+80002cfc: c0001073 unimp
diff --git a/test/riscv-tests/rv32uf-v-fclass.elf b/test/riscv-tests/rv32uf-v-fclass.elf
new file mode 100644
index 0000000..d65d9d2
--- /dev/null
+++ b/test/riscv-tests/rv32uf-v-fclass.elf
Binary files differ
diff --git a/test/riscv-tests/rv32uf-v-fcmp.dump b/test/riscv-tests/rv32uf-v-fcmp.dump
new file mode 100644
index 0000000..43c9537
--- /dev/null
+++ b/test/riscv-tests/rv32uf-v-fcmp.dump
@@ -0,0 +1,1265 @@
+
+rv32uf-v-fcmp: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 00c0006f j 8000000c <handle_reset>
+
+80000004 <nmi_vector>:
+80000004: 2780206f j 8000227c <wtf>
+
+80000008 <trap_vector>:
+80000008: 2740206f j 8000227c <wtf>
+
+8000000c <handle_reset>:
+8000000c: 00000297 auipc t0,0x0
+80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+80000014: 30529073 csrw mtvec,t0
+80000018: 00008117 auipc sp,0x8
+8000001c: 35010113 addi sp,sp,848 # 80008368 <_end+0xf70>
+80000020: f14022f3 csrr t0,mhartid
+80000024: 00c29293 slli t0,t0,0xc
+80000028: 00510133 add sp,sp,t0
+8000002c: 34011073 csrw mscratch,sp
+80000030: 00003517 auipc a0,0x3
+80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart>
+80000038: 2090206f j 80002a40 <vm_boot>
+
+8000003c <pop_tf>:
+8000003c: 08452283 lw t0,132(a0)
+80000040: 14129073 csrw sepc,t0
+80000044: 00452083 lw ra,4(a0)
+80000048: 00852103 lw sp,8(a0)
+8000004c: 00c52183 lw gp,12(a0)
+80000050: 01052203 lw tp,16(a0)
+80000054: 01452283 lw t0,20(a0)
+80000058: 01852303 lw t1,24(a0)
+8000005c: 01c52383 lw t2,28(a0)
+80000060: 02052403 lw s0,32(a0)
+80000064: 02452483 lw s1,36(a0)
+80000068: 02c52583 lw a1,44(a0)
+8000006c: 03052603 lw a2,48(a0)
+80000070: 03452683 lw a3,52(a0)
+80000074: 03852703 lw a4,56(a0)
+80000078: 03c52783 lw a5,60(a0)
+8000007c: 04052803 lw a6,64(a0)
+80000080: 04452883 lw a7,68(a0)
+80000084: 04852903 lw s2,72(a0)
+80000088: 04c52983 lw s3,76(a0)
+8000008c: 05052a03 lw s4,80(a0)
+80000090: 05452a83 lw s5,84(a0)
+80000094: 05852b03 lw s6,88(a0)
+80000098: 05c52b83 lw s7,92(a0)
+8000009c: 06052c03 lw s8,96(a0)
+800000a0: 06452c83 lw s9,100(a0)
+800000a4: 06852d03 lw s10,104(a0)
+800000a8: 06c52d83 lw s11,108(a0)
+800000ac: 07052e03 lw t3,112(a0)
+800000b0: 07452e83 lw t4,116(a0)
+800000b4: 07852f03 lw t5,120(a0)
+800000b8: 07c52f83 lw t6,124(a0)
+800000bc: 02852503 lw a0,40(a0)
+800000c0: 10200073 sret
+
+800000c4 <trap_entry>:
+800000c4: 14011173 csrrw sp,sscratch,sp
+800000c8: 00112223 sw ra,4(sp)
+800000cc: 00312623 sw gp,12(sp)
+800000d0: 00412823 sw tp,16(sp)
+800000d4: 00512a23 sw t0,20(sp)
+800000d8: 00612c23 sw t1,24(sp)
+800000dc: 00712e23 sw t2,28(sp)
+800000e0: 02812023 sw s0,32(sp)
+800000e4: 02912223 sw s1,36(sp)
+800000e8: 02a12423 sw a0,40(sp)
+800000ec: 02b12623 sw a1,44(sp)
+800000f0: 02c12823 sw a2,48(sp)
+800000f4: 02d12a23 sw a3,52(sp)
+800000f8: 02e12c23 sw a4,56(sp)
+800000fc: 02f12e23 sw a5,60(sp)
+80000100: 05012023 sw a6,64(sp)
+80000104: 05112223 sw a7,68(sp)
+80000108: 05212423 sw s2,72(sp)
+8000010c: 05312623 sw s3,76(sp)
+80000110: 05412823 sw s4,80(sp)
+80000114: 05512a23 sw s5,84(sp)
+80000118: 05612c23 sw s6,88(sp)
+8000011c: 05712e23 sw s7,92(sp)
+80000120: 07812023 sw s8,96(sp)
+80000124: 07912223 sw s9,100(sp)
+80000128: 07a12423 sw s10,104(sp)
+8000012c: 07b12623 sw s11,108(sp)
+80000130: 07c12823 sw t3,112(sp)
+80000134: 07d12a23 sw t4,116(sp)
+80000138: 07e12c23 sw t5,120(sp)
+8000013c: 07f12e23 sw t6,124(sp)
+80000140: 140112f3 csrrw t0,sscratch,sp
+80000144: 00512423 sw t0,8(sp)
+80000148: 100022f3 csrr t0,sstatus
+8000014c: 08512023 sw t0,128(sp)
+80000150: 141022f3 csrr t0,sepc
+80000154: 08512223 sw t0,132(sp)
+80000158: 143022f3 csrr t0,stval
+8000015c: 08512423 sw t0,136(sp)
+80000160: 142022f3 csrr t0,scause
+80000164: 08512623 sw t0,140(sp)
+80000168: 00010513 mv a0,sp
+8000016c: 50c0206f j 80002678 <handle_trap>
+
+Disassembly of section .text:
+
+80002000 <memcpy>:
+80002000: 00c5e7b3 or a5,a1,a2
+80002004: 00f567b3 or a5,a0,a5
+80002008: 0037f793 andi a5,a5,3
+8000200c: 00c506b3 add a3,a0,a2
+80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+80002014: 00c58633 add a2,a1,a2
+80002018: 00050793 mv a5,a0
+8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+80002020: 00158593 addi a1,a1,1
+80002024: fff5c703 lbu a4,-1(a1)
+80002028: 00178793 addi a5,a5,1
+8000202c: fee78fa3 sb a4,-1(a5)
+80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+80002034: 00008067 ret
+80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+8000203c: 00050793 mv a5,a0
+80002040: 00458593 addi a1,a1,4
+80002044: ffc5a703 lw a4,-4(a1)
+80002048: 00478793 addi a5,a5,4
+8000204c: fee7ae23 sw a4,-4(a5)
+80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+80002054: 00008067 ret
+80002058: 00008067 ret
+
+8000205c <memset>:
+8000205c: 00c567b3 or a5,a0,a2
+80002060: 0037f793 andi a5,a5,3
+80002064: 00c50633 add a2,a0,a2
+80002068: 02078063 beqz a5,80002088 <memset+0x2c>
+8000206c: 0ff5f593 andi a1,a1,255
+80002070: 00050793 mv a5,a0
+80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58>
+80002078: 00178793 addi a5,a5,1
+8000207c: feb78fa3 sb a1,-1(a5)
+80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+80002084: 00008067 ret
+80002088: 0ff5f593 andi a1,a1,255
+8000208c: 00859793 slli a5,a1,0x8
+80002090: 00b7e7b3 or a5,a5,a1
+80002094: 01079593 slli a1,a5,0x10
+80002098: 00f5e5b3 or a1,a1,a5
+8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28>
+800020a0: 00050793 mv a5,a0
+800020a4: 00478793 addi a5,a5,4
+800020a8: feb7ae23 sw a1,-4(a5)
+800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48>
+800020b0: 00008067 ret
+800020b4: 00008067 ret
+
+800020b8 <strlen>:
+800020b8: 00054783 lbu a5,0(a0)
+800020bc: 00050713 mv a4,a0
+800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20>
+800020c4: 00150513 addi a0,a0,1
+800020c8: 00054783 lbu a5,0(a0)
+800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc>
+800020d0: 40e50533 sub a0,a0,a4
+800020d4: 00008067 ret
+800020d8: 00000513 li a0,0
+800020dc: 00008067 ret
+
+800020e0 <strcmp>:
+800020e0: 00150513 addi a0,a0,1
+800020e4: fff54783 lbu a5,-1(a0)
+800020e8: 00158593 addi a1,a1,1
+800020ec: fff5c703 lbu a4,-1(a1)
+800020f0: 00078863 beqz a5,80002100 <strcmp+0x20>
+800020f4: fee786e3 beq a5,a4,800020e0 <strcmp>
+800020f8: 40e78533 sub a0,a5,a4
+800020fc: 00008067 ret
+80002100: 00000793 li a5,0
+80002104: ff5ff06f j 800020f8 <strcmp+0x18>
+
+80002108 <memcmp>:
+80002108: 00b567b3 or a5,a0,a1
+8000210c: 0037f793 andi a5,a5,3
+80002110: 04079263 bnez a5,80002154 <memcmp+0x4c>
+80002114: ffc67693 andi a3,a2,-4
+80002118: 00d506b3 add a3,a0,a3
+8000211c: 00050813 mv a6,a0
+80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c>
+80002124: 00052703 lw a4,0(a0)
+80002128: 0005a783 lw a5,0(a1)
+8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38>
+80002130: 0240006f j 80002154 <memcmp+0x4c>
+80002134: 00052703 lw a4,0(a0)
+80002138: 0005a783 lw a5,0(a1)
+8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44>
+80002140: 00450513 addi a0,a0,4
+80002144: 00458593 addi a1,a1,4
+80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c>
+8000214c: 41050833 sub a6,a0,a6
+80002150: 41060633 sub a2,a2,a6
+80002154: 00c58633 add a2,a1,a2
+80002158: 0140006f j 8000216c <memcmp+0x64>
+8000215c: 00158593 addi a1,a1,1
+80002160: fff54783 lbu a5,-1(a0)
+80002164: fff5c703 lbu a4,-1(a1)
+80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74>
+8000216c: 00150513 addi a0,a0,1
+80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54>
+80002174: 00000513 li a0,0
+80002178: 00008067 ret
+8000217c: 40e78533 sub a0,a5,a4
+80002180: 00008067 ret
+
+80002184 <strcpy>:
+80002184: 00050793 mv a5,a0
+80002188: 00158593 addi a1,a1,1
+8000218c: fff5c703 lbu a4,-1(a1)
+80002190: 00178793 addi a5,a5,1
+80002194: fee78fa3 sb a4,-1(a5)
+80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4>
+8000219c: 00008067 ret
+
+800021a0 <atol>:
+800021a0: 00054783 lbu a5,0(a0)
+800021a4: 02000713 li a4,32
+800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18>
+800021ac: 00150513 addi a0,a0,1
+800021b0: 00054783 lbu a5,0(a0)
+800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc>
+800021b8: fd578713 addi a4,a5,-43
+800021bc: 0fd77713 andi a4,a4,253
+800021c0: 04070263 beqz a4,80002204 <atol+0x64>
+800021c4: 00054683 lbu a3,0(a0)
+800021c8: 00050793 mv a5,a0
+800021cc: 00000613 li a2,0
+800021d0: 04068863 beqz a3,80002220 <atol+0x80>
+800021d4: 00000513 li a0,0
+800021d8: 00178793 addi a5,a5,1
+800021dc: fd068593 addi a1,a3,-48
+800021e0: 00251713 slli a4,a0,0x2
+800021e4: 0007c683 lbu a3,0(a5)
+800021e8: 00a70533 add a0,a4,a0
+800021ec: 00151513 slli a0,a0,0x1
+800021f0: 00a58533 add a0,a1,a0
+800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38>
+800021f8: 00060463 beqz a2,80002200 <atol+0x60>
+800021fc: 40a00533 neg a0,a0
+80002200: 00008067 ret
+80002204: 00154683 lbu a3,1(a0)
+80002208: fd378793 addi a5,a5,-45
+8000220c: 0017b613 seqz a2,a5
+80002210: 00150793 addi a5,a0,1
+80002214: fc0690e3 bnez a3,800021d4 <atol+0x34>
+80002218: 00000513 li a0,0
+8000221c: fddff06f j 800021f8 <atol+0x58>
+80002220: 00000513 li a0,0
+80002224: 00008067 ret
+
+80002228 <terminate>:
+80002228: fffff697 auipc a3,0xfffff
+8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost>
+80002230: 0006a703 lw a4,0(a3)
+80002234: 0046a783 lw a5,4(a3)
+80002238: 00050813 mv a6,a0
+8000223c: 41f55893 srai a7,a0,0x1f
+80002240: 00f76733 or a4,a4,a5
+80002244: 02070663 beqz a4,80002270 <terminate+0x48>
+80002248: fffff617 auipc a2,0xfffff
+8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost>
+80002250: 00000713 li a4,0
+80002254: 00e62023 sw a4,0(a2)
+80002258: 00000793 li a5,0
+8000225c: 00f62223 sw a5,4(a2)
+80002260: 0006a703 lw a4,0(a3)
+80002264: 0046a783 lw a5,4(a3)
+80002268: 00f76733 or a4,a4,a5
+8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28>
+80002270: 0106a023 sw a6,0(a3)
+80002274: 0116a223 sw a7,4(a3)
+80002278: 0000006f j 80002278 <terminate+0x50>
+
+8000227c <wtf>:
+8000227c: ff010113 addi sp,sp,-16
+80002280: 34900513 li a0,841
+80002284: 00112623 sw ra,12(sp)
+80002288: fa1ff0ef jal ra,80002228 <terminate>
+
+8000228c <printhex>:
+8000228c: fe010113 addi sp,sp,-32
+80002290: 01b10793 addi a5,sp,27
+80002294: 00b10e93 addi t4,sp,11
+80002298: 00900e13 li t3,9
+8000229c: 00f57693 andi a3,a0,15
+800022a0: 01c59313 slli t1,a1,0x1c
+800022a4: 00455513 srli a0,a0,0x4
+800022a8: 05700613 li a2,87
+800022ac: 0ff6f713 andi a4,a3,255
+800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c>
+800022b4: 03000613 li a2,48
+800022b8: 00c70733 add a4,a4,a2
+800022bc: 00e78023 sb a4,0(a5)
+800022c0: fff78793 addi a5,a5,-1
+800022c4: 00a36533 or a0,t1,a0
+800022c8: 0045d593 srli a1,a1,0x4
+800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10>
+800022d0: 00c14583 lbu a1,12(sp)
+800022d4: 00010e23 sb zero,28(sp)
+800022d8: 06058263 beqz a1,8000233c <printhex+0xb0>
+800022dc: 00c10513 addi a0,sp,12
+800022e0: fffff697 auipc a3,0xfffff
+800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost>
+800022e8: fffff617 auipc a2,0xfffff
+800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost>
+800022f0: 0006a703 lw a4,0(a3)
+800022f4: 0046a783 lw a5,4(a3)
+800022f8: 00058813 mv a6,a1
+800022fc: 00150513 addi a0,a0,1
+80002300: 00f76733 or a4,a4,a5
+80002304: 010108b7 lui a7,0x1010
+80002308: 02070263 beqz a4,8000232c <printhex+0xa0>
+8000230c: 00000713 li a4,0
+80002310: 00e62023 sw a4,0(a2)
+80002314: 00000793 li a5,0
+80002318: 00f62223 sw a5,4(a2)
+8000231c: 0006a703 lw a4,0(a3)
+80002320: 0046a783 lw a5,4(a3)
+80002324: 00f76733 or a4,a4,a5
+80002328: fe0712e3 bnez a4,8000230c <printhex+0x80>
+8000232c: 00054583 lbu a1,0(a0)
+80002330: 0106a023 sw a6,0(a3)
+80002334: 0116a223 sw a7,4(a3)
+80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64>
+8000233c: 02010113 addi sp,sp,32
+80002340: 00008067 ret
+
+80002344 <handle_fault>:
+80002344: ff010113 addi sp,sp,-16
+80002348: fffff6b7 lui a3,0xfffff
+8000234c: 00112623 sw ra,12(sp)
+80002350: 00812423 sw s0,8(sp)
+80002354: 00912223 sw s1,4(sp)
+80002358: 00d50733 add a4,a0,a3
+8000235c: 0003e7b7 lui a5,0x3e
+80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180>
+80002364: 00c55613 srli a2,a0,0xc
+80002368: 40060e13 addi t3,a2,1024
+8000236c: 00003317 auipc t1,0x3
+80002370: c9430313 addi t1,t1,-876 # 80005000 <pt>
+80002374: 002e1793 slli a5,t3,0x2
+80002378: 00f307b3 add a5,t1,a5
+8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000>
+80002380: 00d57533 and a0,a0,a3
+80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130>
+80002388: 00005797 auipc a5,0x5
+8000238c: 06c78793 addi a5,a5,108 # 800073f4 <freelist_head>
+80002390: 0007a583 lw a1,0(a5)
+80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0>
+80002398: 0045a783 lw a5,4(a1)
+8000239c: 00005717 auipc a4,0x5
+800023a0: 05470713 addi a4,a4,84 # 800073f0 <freelist_tail>
+800023a4: 00072703 lw a4,0(a4)
+800023a8: 00005697 auipc a3,0x5
+800023ac: 04f6a623 sw a5,76(a3) # 800073f4 <freelist_head>
+800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174>
+800023b4: 0005a703 lw a4,0(a1)
+800023b8: 002e1793 slli a5,t3,0x2
+800023bc: 00f307b3 add a5,t1,a5
+800023c0: 00c75713 srli a4,a4,0xc
+800023c4: 00a71713 slli a4,a4,0xa
+800023c8: 0df76e93 ori t4,a4,223
+800023cc: 01f76693 ori a3,a4,31
+800023d0: 01d7a023 sw t4,0(a5)
+800023d4: 12050073 sfence.vma a0
+800023d8: 00005717 auipc a4,0x5
+800023dc: e2070713 addi a4,a4,-480 # 800071f8 <user_mapping>
+800023e0: 00361793 slli a5,a2,0x3
+800023e4: 00f707b3 add a5,a4,a5
+800023e8: 0007a703 lw a4,0(a5)
+800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c>
+800023f0: 0005a703 lw a4,0(a1)
+800023f4: 00e7a023 sw a4,0(a5)
+800023f8: 0045a703 lw a4,4(a1)
+800023fc: 00e7a223 sw a4,4(a5)
+80002400: 000407b7 lui a5,0x40
+80002404: 1007a5f3 csrrs a1,sstatus,a5
+80002408: ffc007b7 lui a5,0xffc00
+8000240c: 00f507b3 add a5,a0,a5
+80002410: 00001637 lui a2,0x1
+80002414: 00050713 mv a4,a0
+80002418: 00c78633 add a2,a5,a2
+8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf8c08>
+80002420: 0047ae83 lw t4,4(a5)
+80002424: 0087a883 lw a7,8(a5)
+80002428: 00c7a803 lw a6,12(a5)
+8000242c: 01e72023 sw t5,0(a4)
+80002430: 01d72223 sw t4,4(a4)
+80002434: 01172423 sw a7,8(a4)
+80002438: 01072623 sw a6,12(a4)
+8000243c: 01078793 addi a5,a5,16
+80002440: 01070713 addi a4,a4,16
+80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8>
+80002448: 10059073 csrw sstatus,a1
+8000244c: 002e1e13 slli t3,t3,0x2
+80002450: 01c30333 add t1,t1,t3
+80002454: 00d32023 sw a3,0(t1)
+80002458: 12050073 sfence.vma a0
+8000245c: 0000100f fence.i
+80002460: 00c12083 lw ra,12(sp)
+80002464: 00812403 lw s0,8(sp)
+80002468: 00412483 lw s1,4(sp)
+8000246c: 01010113 addi sp,sp,16
+80002470: 00008067 ret
+80002474: 04077693 andi a3,a4,64
+80002478: 02069263 bnez a3,8000249c <handle_fault+0x158>
+8000247c: 04076713 ori a4,a4,64
+80002480: 00e7a023 sw a4,0(a5)
+80002484: 12050073 sfence.vma a0
+80002488: 00c12083 lw ra,12(sp)
+8000248c: 00812403 lw s0,8(sp)
+80002490: 00412483 lw s1,4(sp)
+80002494: 01010113 addi sp,sp,16
+80002498: 00008067 ret
+8000249c: 08077693 andi a3,a4,128
+800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8>
+800024a4: 00f00693 li a3,15
+800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8>
+800024ac: 08076713 ori a4,a4,128
+800024b0: 00e7a023 sw a4,0(a5)
+800024b4: fd1ff06f j 80002484 <handle_fault+0x140>
+800024b8: 00005797 auipc a5,0x5
+800024bc: f207ac23 sw zero,-200(a5) # 800073f0 <freelist_tail>
+800024c0: ef5ff06f j 800023b4 <handle_fault+0x70>
+800024c4: 04100513 li a0,65
+800024c8: 00001597 auipc a1,0x1
+800024cc: a0c58593 addi a1,a1,-1524 # 80002ed4 <pass+0xc>
+800024d0: fffff697 auipc a3,0xfffff
+800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost>
+800024d8: fffff617 auipc a2,0xfffff
+800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost>
+800024e0: 0006a703 lw a4,0(a3)
+800024e4: 0046a783 lw a5,4(a3)
+800024e8: 00050313 mv t1,a0
+800024ec: 00158593 addi a1,a1,1
+800024f0: 00f76733 or a4,a4,a5
+800024f4: 010103b7 lui t2,0x1010
+800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8>
+800024fc: 00000793 li a5,0
+80002500: 00f62023 sw a5,0(a2)
+80002504: 00000813 li a6,0
+80002508: 01062223 sw a6,4(a2)
+8000250c: 0006a703 lw a4,0(a3)
+80002510: 0046a783 lw a5,4(a3)
+80002514: 00f76733 or a4,a4,a5
+80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8>
+8000251c: 0005c503 lbu a0,0(a1)
+80002520: 0066a023 sw t1,0(a3)
+80002524: 0076a223 sw t2,4(a3)
+80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c>
+8000252c: 00300513 li a0,3
+80002530: cf9ff0ef jal ra,80002228 <terminate>
+80002534: 04100513 li a0,65
+80002538: 00001597 auipc a1,0x1
+8000253c: a2858593 addi a1,a1,-1496 # 80002f60 <pass+0x98>
+80002540: fffff697 auipc a3,0xfffff
+80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost>
+80002548: fffff617 auipc a2,0xfffff
+8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost>
+80002550: 0006a703 lw a4,0(a3)
+80002554: 0046a783 lw a5,4(a3)
+80002558: 00050f13 mv t5,a0
+8000255c: 00158593 addi a1,a1,1
+80002560: 00f76733 or a4,a4,a5
+80002564: 01010fb7 lui t6,0x1010
+80002568: 02070263 beqz a4,8000258c <handle_fault+0x248>
+8000256c: 00000793 li a5,0
+80002570: 00f62023 sw a5,0(a2)
+80002574: 00000813 li a6,0
+80002578: 01062223 sw a6,4(a2)
+8000257c: 0006a703 lw a4,0(a3)
+80002580: 0046a783 lw a5,4(a3)
+80002584: 00f76733 or a4,a4,a5
+80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228>
+8000258c: 0005c503 lbu a0,0(a1)
+80002590: 01e6a023 sw t5,0(a3)
+80002594: 01f6a223 sw t6,4(a3)
+80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c>
+8000259c: f91ff06f j 8000252c <handle_fault+0x1e8>
+800025a0: 04100513 li a0,65
+800025a4: 00001597 auipc a1,0x1
+800025a8: 9d458593 addi a1,a1,-1580 # 80002f78 <pass+0xb0>
+800025ac: fffff697 auipc a3,0xfffff
+800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost>
+800025b4: fffff617 auipc a2,0xfffff
+800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost>
+800025bc: 0006a703 lw a4,0(a3)
+800025c0: 0046a783 lw a5,4(a3)
+800025c4: 00050813 mv a6,a0
+800025c8: 00158593 addi a1,a1,1
+800025cc: 00f76733 or a4,a4,a5
+800025d0: 010108b7 lui a7,0x1010
+800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4>
+800025d8: 00000713 li a4,0
+800025dc: 00e62023 sw a4,0(a2)
+800025e0: 00000793 li a5,0
+800025e4: 00f62223 sw a5,4(a2)
+800025e8: 0006a703 lw a4,0(a3)
+800025ec: 0046a783 lw a5,4(a3)
+800025f0: 00f76733 or a4,a4,a5
+800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294>
+800025f8: 0005c503 lbu a0,0(a1)
+800025fc: 0106a023 sw a6,0(a3)
+80002600: 0116a223 sw a7,4(a3)
+80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278>
+80002608: f25ff06f j 8000252c <handle_fault+0x1e8>
+8000260c: 04100793 li a5,65
+80002610: 00001597 auipc a1,0x1
+80002614: 90858593 addi a1,a1,-1784 # 80002f18 <pass+0x50>
+80002618: fffff697 auipc a3,0xfffff
+8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost>
+80002620: fffff617 auipc a2,0xfffff
+80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost>
+80002628: 0006a803 lw a6,0(a3)
+8000262c: 0046a883 lw a7,4(a3)
+80002630: 00078413 mv s0,a5
+80002634: 00158593 addi a1,a1,1
+80002638: 01186833 or a6,a6,a7
+8000263c: 010104b7 lui s1,0x1010
+80002640: 02080263 beqz a6,80002664 <handle_fault+0x320>
+80002644: 00000793 li a5,0
+80002648: 00f62023 sw a5,0(a2)
+8000264c: 00000813 li a6,0
+80002650: 01062223 sw a6,4(a2)
+80002654: 0006a703 lw a4,0(a3)
+80002658: 0046a783 lw a5,4(a3)
+8000265c: 00f76733 or a4,a4,a5
+80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300>
+80002664: 0005c783 lbu a5,0(a1)
+80002668: 0086a023 sw s0,0(a3)
+8000266c: 0096a223 sw s1,4(a3)
+80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4>
+80002674: eb9ff06f j 8000252c <handle_fault+0x1e8>
+
+80002678 <handle_trap>:
+80002678: 08c52583 lw a1,140(a0)
+8000267c: fb010113 addi sp,sp,-80
+80002680: 03412c23 sw s4,56(sp)
+80002684: 04112623 sw ra,76(sp)
+80002688: 04812423 sw s0,72(sp)
+8000268c: 04912223 sw s1,68(sp)
+80002690: 05212023 sw s2,64(sp)
+80002694: 03312e23 sw s3,60(sp)
+80002698: 03512a23 sw s5,52(sp)
+8000269c: 03612823 sw s6,48(sp)
+800026a0: 03712623 sw s7,44(sp)
+800026a4: 03812423 sw s8,40(sp)
+800026a8: 03912223 sw s9,36(sp)
+800026ac: 03a12023 sw s10,32(sp)
+800026b0: 01b12e23 sw s11,28(sp)
+800026b4: 00800793 li a5,8
+800026b8: 00050a13 mv s4,a0
+800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0>
+800026c0: 00200793 li a5,2
+800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac>
+800026c8: ff458793 addi a5,a1,-12
+800026cc: 00100713 li a4,1
+800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64>
+800026d4: 00f00793 li a5,15
+800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294>
+800026dc: 088a2503 lw a0,136(s4)
+800026e0: c65ff0ef jal ra,80002344 <handle_fault>
+800026e4: 04812403 lw s0,72(sp)
+800026e8: 04c12083 lw ra,76(sp)
+800026ec: 04412483 lw s1,68(sp)
+800026f0: 04012903 lw s2,64(sp)
+800026f4: 03c12983 lw s3,60(sp)
+800026f8: 03412a83 lw s5,52(sp)
+800026fc: 03012b03 lw s6,48(sp)
+80002700: 02c12b83 lw s7,44(sp)
+80002704: 02812c03 lw s8,40(sp)
+80002708: 02412c83 lw s9,36(sp)
+8000270c: 02012d03 lw s10,32(sp)
+80002710: 01c12d83 lw s11,28(sp)
+80002714: 000a0513 mv a0,s4
+80002718: 03812a03 lw s4,56(sp)
+8000271c: 05010113 addi sp,sp,80
+80002720: 91dfd06f j 8000003c <pop_tf>
+80002724: 08452703 lw a4,132(a0)
+80002728: 00377793 andi a5,a4,3
+8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144>
+80002730: 008007ef jal a5,80002738 <handle_trap+0xc0>
+80002734: 00301073 fssr zero
+80002738: 00072703 lw a4,0(a4)
+8000273c: 0007a783 lw a5,0(a5)
+80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c>
+80002744: 04100513 li a0,65
+80002748: 00001597 auipc a1,0x1
+8000274c: 8f858593 addi a1,a1,-1800 # 80003040 <pass+0x178>
+80002750: fffff697 auipc a3,0xfffff
+80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost>
+80002758: fffff617 auipc a2,0xfffff
+8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost>
+80002760: 0006a703 lw a4,0(a3)
+80002764: 0046a783 lw a5,4(a3)
+80002768: 00050813 mv a6,a0
+8000276c: 00158593 addi a1,a1,1
+80002770: 00f76733 or a4,a4,a5
+80002774: 010108b7 lui a7,0x1010
+80002778: 02070263 beqz a4,8000279c <handle_trap+0x124>
+8000277c: 00000713 li a4,0
+80002780: 00e62023 sw a4,0(a2)
+80002784: 00000793 li a5,0
+80002788: 00f62223 sw a5,4(a2)
+8000278c: 0006a703 lw a4,0(a3)
+80002790: 0046a783 lw a5,4(a3)
+80002794: 00f76733 or a4,a4,a5
+80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104>
+8000279c: 0005c503 lbu a0,0(a1)
+800027a0: 0106a023 sw a6,0(a3)
+800027a4: 0116a223 sw a7,4(a3)
+800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8>
+800027ac: 00300513 li a0,3
+800027b0: a79ff0ef jal ra,80002228 <terminate>
+800027b4: 00100513 li a0,1
+800027b8: a71ff0ef jal ra,80002228 <terminate>
+800027bc: 00001597 auipc a1,0x1
+800027c0: 86058593 addi a1,a1,-1952 # 8000301c <pass+0x154>
+800027c4: 04100613 li a2,65
+800027c8: fffff697 auipc a3,0xfffff
+800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost>
+800027d0: fffff517 auipc a0,0xfffff
+800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost>
+800027d8: 0006a703 lw a4,0(a3)
+800027dc: 0046a783 lw a5,4(a3)
+800027e0: 00060e13 mv t3,a2
+800027e4: 00158593 addi a1,a1,1
+800027e8: 00f76733 or a4,a4,a5
+800027ec: 01010eb7 lui t4,0x1010
+800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c>
+800027f4: 00000793 li a5,0
+800027f8: 00f52023 sw a5,0(a0)
+800027fc: 00000813 li a6,0
+80002800: 01052223 sw a6,4(a0)
+80002804: 0006a703 lw a4,0(a3)
+80002808: 0046a783 lw a5,4(a3)
+8000280c: 00f76733 or a4,a4,a5
+80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c>
+80002814: 0005c603 lbu a2,0(a1)
+80002818: 01c6a023 sw t3,0(a3)
+8000281c: 01d6a223 sw t4,4(a3)
+80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160>
+80002824: f89ff06f j 800027ac <handle_trap+0x134>
+80002828: 02852783 lw a5,40(a0)
+8000282c: 00001a37 lui s4,0x1
+80002830: 00005b17 auipc s6,0x5
+80002834: 9c8b0b13 addi s6,s6,-1592 # 800071f8 <user_mapping>
+80002838: 00f12223 sw a5,4(sp)
+8000283c: 00002d17 auipc s10,0x2
+80002840: 7c4d0d13 addi s10,s10,1988 # 80005000 <pt>
+80002844: 00040cb7 lui s9,0x40
+80002848: ffc00c37 lui s8,0xffc00
+8000284c: 0003fab7 lui s5,0x3f
+80002850: 01c0006f j 8000286c <handle_trap+0x1f4>
+80002854: 00f72223 sw a5,4(a4)
+80002858: 00005717 auipc a4,0x5
+8000285c: b8f72c23 sw a5,-1128(a4) # 800073f0 <freelist_tail>
+80002860: 000017b7 lui a5,0x1
+80002864: 00fa0a33 add s4,s4,a5
+80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398>
+8000286c: 00ca5713 srli a4,s4,0xc
+80002870: 00371b93 slli s7,a4,0x3
+80002874: 017b0633 add a2,s6,s7
+80002878: 00062603 lw a2,0(a2)
+8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8>
+80002880: 40070713 addi a4,a4,1024
+80002884: 00271713 slli a4,a4,0x2
+80002888: 00ed0733 add a4,s10,a4
+8000288c: 00072703 lw a4,0(a4)
+80002890: 04077613 andi a2,a4,64
+80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c>
+80002898: 00e12623 sw a4,12(sp)
+8000289c: 100cadf3 csrrs s11,sstatus,s9
+800028a0: 018a0833 add a6,s4,s8
+800028a4: 00001637 lui a2,0x1
+800028a8: 00080593 mv a1,a6
+800028ac: 000a0513 mv a0,s4
+800028b0: 01012423 sw a6,8(sp)
+800028b4: 855ff0ef jal ra,80002108 <memcmp>
+800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264>
+800028bc: 00c12703 lw a4,12(sp)
+800028c0: 00812803 lw a6,8(sp)
+800028c4: 08077713 andi a4,a4,128
+800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300>
+800028cc: 00001637 lui a2,0x1
+800028d0: 00080593 mv a1,a6
+800028d4: 000a0513 mv a0,s4
+800028d8: f28ff0ef jal ra,80002000 <memcpy>
+800028dc: 017b07b3 add a5,s6,s7
+800028e0: 100d9073 csrw sstatus,s11
+800028e4: 00005717 auipc a4,0x5
+800028e8: b0c70713 addi a4,a4,-1268 # 800073f0 <freelist_tail>
+800028ec: 00072703 lw a4,0(a4)
+800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000>
+800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc>
+800028f8: 00005717 auipc a4,0x5
+800028fc: aef72c23 sw a5,-1288(a4) # 800073f0 <freelist_tail>
+80002900: 00005717 auipc a4,0x5
+80002904: aef72a23 sw a5,-1292(a4) # 800073f4 <freelist_head>
+80002908: f59ff06f j 80002860 <handle_trap+0x1e8>
+8000290c: 04100593 li a1,65
+80002910: 00000617 auipc a2,0x0
+80002914: 75c60613 addi a2,a2,1884 # 8000306c <pass+0x1a4>
+80002918: ffffe697 auipc a3,0xffffe
+8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost>
+80002920: ffffe517 auipc a0,0xffffe
+80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost>
+80002928: 0006a703 lw a4,0(a3)
+8000292c: 0046a783 lw a5,4(a3)
+80002930: 00058313 mv t1,a1
+80002934: 00160613 addi a2,a2,1
+80002938: 00f76733 or a4,a4,a5
+8000293c: 010103b7 lui t2,0x1010
+80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec>
+80002944: 00000793 li a5,0
+80002948: 00f52023 sw a5,0(a0)
+8000294c: 00000813 li a6,0
+80002950: 01052223 sw a6,4(a0)
+80002954: 0006a703 lw a4,0(a3)
+80002958: 0046a783 lw a5,4(a3)
+8000295c: 00f76733 or a4,a4,a5
+80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc>
+80002964: 00064583 lbu a1,0(a2)
+80002968: 0066a023 sw t1,0(a3)
+8000296c: 0076a223 sw t2,4(a3)
+80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0>
+80002974: e39ff06f j 800027ac <handle_trap+0x134>
+80002978: 04100793 li a5,65
+8000297c: 00000617 auipc a2,0x0
+80002980: 66c60613 addi a2,a2,1644 # 80002fe8 <pass+0x120>
+80002984: ffffe697 auipc a3,0xffffe
+80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost>
+8000298c: ffffe597 auipc a1,0xffffe
+80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost>
+80002994: 00078413 mv s0,a5
+80002998: 00160613 addi a2,a2,1
+8000299c: 010104b7 lui s1,0x1010
+800029a0: 0006a703 lw a4,0(a3)
+800029a4: 0046a783 lw a5,4(a3)
+800029a8: 00f76733 or a4,a4,a5
+800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0>
+800029b0: 00000793 li a5,0
+800029b4: 00000813 li a6,0
+800029b8: 00f5a023 sw a5,0(a1)
+800029bc: 0105a223 sw a6,4(a1)
+800029c0: fe1ff06f j 800029a0 <handle_trap+0x328>
+800029c4: 04100793 li a5,65
+800029c8: 00000617 auipc a2,0x0
+800029cc: 5ec60613 addi a2,a2,1516 # 80002fb4 <pass+0xec>
+800029d0: ffffe697 auipc a3,0xffffe
+800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost>
+800029d8: ffffe597 auipc a1,0xffffe
+800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost>
+800029e0: 00078913 mv s2,a5
+800029e4: 00160613 addi a2,a2,1
+800029e8: 010109b7 lui s3,0x1010
+800029ec: 0006a703 lw a4,0(a3)
+800029f0: 0046a783 lw a5,4(a3)
+800029f4: 00f76733 or a4,a4,a5
+800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4>
+800029fc: 00000793 li a5,0
+80002a00: 00000813 li a6,0
+80002a04: 00f5a023 sw a5,0(a1)
+80002a08: 0105a223 sw a6,4(a1)
+80002a0c: fe1ff06f j 800029ec <handle_trap+0x374>
+80002a10: 00412503 lw a0,4(sp)
+80002a14: 815ff0ef jal ra,80002228 <terminate>
+80002a18: 00064783 lbu a5,0(a2)
+80002a1c: 0086a023 sw s0,0(a3)
+80002a20: 0096a223 sw s1,4(a3)
+80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c>
+80002a28: d85ff06f j 800027ac <handle_trap+0x134>
+80002a2c: 00064783 lbu a5,0(a2)
+80002a30: 0126a023 sw s2,0(a3)
+80002a34: 0136a223 sw s3,4(a3)
+80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368>
+80002a3c: d71ff06f j 800027ac <handle_trap+0x134>
+
+80002a40 <vm_boot>:
+80002a40: f14027f3 csrr a5,mhartid
+80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158>
+80002a48: 00003797 auipc a5,0x3
+80002a4c: 5b878793 addi a5,a5,1464 # 80006000 <pt+0x1000>
+80002a50: 00c7d793 srli a5,a5,0xc
+80002a54: 00a79793 slli a5,a5,0xa
+80002a58: 0017e793 ori a5,a5,1
+80002a5c: 00002697 auipc a3,0x2
+80002a60: 5af6a223 sw a5,1444(a3) # 80005000 <pt>
+80002a64: 200007b7 lui a5,0x20000
+80002a68: 00002717 auipc a4,0x2
+80002a6c: 59870713 addi a4,a4,1432 # 80005000 <pt>
+80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31>
+80002a74: f6010113 addi sp,sp,-160
+80002a78: 00003697 auipc a3,0x3
+80002a7c: 58f6a223 sw a5,1412(a3) # 80005ffc <pt+0xffc>
+80002a80: 00c75793 srli a5,a4,0xc
+80002a84: 80000737 lui a4,0x80000
+80002a88: 08112e23 sw ra,156(sp)
+80002a8c: 08812c23 sw s0,152(sp)
+80002a90: 00e7e7b3 or a5,a5,a4
+80002a94: 18079073 csrw satp,a5
+80002a98: 01f00793 li a5,31
+80002a9c: fff00713 li a4,-1
+80002aa0: 00000297 auipc t0,0x0
+80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74>
+80002aa8: 305292f3 csrrw t0,mtvec,t0
+80002aac: 3b071073 csrw pmpaddr0,a4
+80002ab0: 3a079073 csrw pmpcfg0,a5
+80002ab4: 7fbfd797 auipc a5,0x7fbfd
+80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf8ccc>
+80002abc: 10579073 csrw stvec,a5
+80002ac0: 340027f3 csrr a5,mscratch
+80002ac4: 7fc00837 lui a6,0x7fc00
+80002ac8: 010787b3 add a5,a5,a6
+80002acc: 14079073 csrw sscratch,a5
+80002ad0: 0000b7b7 lui a5,0xb
+80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00>
+80002ad8: 30279073 csrw medeleg,a5
+80002adc: 0001e7b7 lui a5,0x1e
+80002ae0: 30079073 csrw mstatus,a5
+80002ae4: 30405073 csrwi mie,0
+80002ae8: 7fc04797 auipc a5,0x7fc04
+80002aec: 51878793 addi a5,a5,1304 # ffc07000 <_end+0x7fbffc08>
+80002af0: 00005717 auipc a4,0x5
+80002af4: 90f72223 sw a5,-1788(a4) # 800073f4 <freelist_head>
+80002af8: 7fc04797 auipc a5,0x7fc04
+80002afc: 6f878793 addi a5,a5,1784 # ffc071f0 <_end+0x7fbffdf8>
+80002b00: 00005717 auipc a4,0x5
+80002b04: 8ef72823 sw a5,-1808(a4) # 800073f0 <freelist_tail>
+80002b08: 000808b7 lui a7,0x80
+80002b0c: 00004717 auipc a4,0x4
+80002b10: 4f470713 addi a4,a4,1268 # 80007000 <freelist_nodes>
+80002b14: 00004317 auipc t1,0x4
+80002b18: 6e430313 addi t1,t1,1764 # 800071f8 <user_mapping>
+80002b1c: 01200793 li a5,18
+80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1>
+80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8>
+80002b28: 0017d613 srli a2,a5,0x1
+80002b2c: 011786b3 add a3,a5,a7
+80002b30: 00f647b3 xor a5,a2,a5
+80002b34: 010705b3 add a1,a4,a6
+80002b38: 00c69693 slli a3,a3,0xc
+80002b3c: 00579793 slli a5,a5,0x5
+80002b40: 00d72023 sw a3,0(a4)
+80002b44: 00b72223 sw a1,4(a4)
+80002b48: 0207f793 andi a5,a5,32
+80002b4c: 00870713 addi a4,a4,8
+80002b50: 00f667b3 or a5,a2,a5
+80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8>
+80002b58: 00050413 mv s0,a0
+80002b5c: 09000613 li a2,144
+80002b60: 00000593 li a1,0
+80002b64: 00010513 mv a0,sp
+80002b68: 00004797 auipc a5,0x4
+80002b6c: 6807a623 sw zero,1676(a5) # 800071f4 <freelist_nodes+0x1f4>
+80002b70: cecff0ef jal ra,8000205c <memset>
+80002b74: 800007b7 lui a5,0x80000
+80002b78: 00f40433 add s0,s0,a5
+80002b7c: 00010513 mv a0,sp
+80002b80: 08812223 sw s0,132(sp)
+80002b84: cb8fd0ef jal ra,8000003c <pop_tf>
+80002b88: 09c12083 lw ra,156(sp)
+80002b8c: 09812403 lw s0,152(sp)
+80002b90: 0a010113 addi sp,sp,160
+80002b94: 00008067 ret
+80002b98: 0760b7b7 lui a5,0x760b
+80002b9c: 00080637 lui a2,0x80
+80002ba0: 68c78793 addi a5,a5,1676 # 760b68c <_start-0x789f4974>
+80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004>
+80002ba8: 800005b7 lui a1,0x80000
+80002bac: 00c7f733 and a4,a5,a2
+80002bb0: 0017f693 andi a3,a5,1
+80002bb4: 00b70733 add a4,a4,a1
+80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194>
+80002bbc: 0007202f amoadd.w zero,zero,(a4)
+80002bc0: 0017d793 srli a5,a5,0x1
+80002bc4: 00c7f733 and a4,a5,a2
+80002bc8: 0017f693 andi a3,a5,1
+80002bcc: 00b70733 add a4,a4,a1
+80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c>
+80002bd4: 00072003 lw zero,0(a4)
+80002bd8: 0017d793 srli a5,a5,0x1
+80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184>
+
+80002be0 <userstart>:
+80002be0: 00301073 fssr zero
+
+80002be4 <test_2>:
+80002be4: 00200193 li gp,2
+80002be8: 00001517 auipc a0,0x1
+80002bec: 41850513 addi a0,a0,1048 # 80004000 <test_2_data>
+80002bf0: 00052007 flw ft0,0(a0)
+80002bf4: 00452087 flw ft1,4(a0)
+80002bf8: 00852107 flw ft2,8(a0)
+80002bfc: 00c52683 lw a3,12(a0)
+80002c00: a0102553 feq.s a0,ft0,ft1
+80002c04: 001015f3 fsflags a1,zero
+80002c08: 00000613 li a2,0
+80002c0c: 2ad51663 bne a0,a3,80002eb8 <fail>
+80002c10: 2ac59463 bne a1,a2,80002eb8 <fail>
+
+80002c14 <test_3>:
+80002c14: 00300193 li gp,3
+80002c18: 00001517 auipc a0,0x1
+80002c1c: 3f850513 addi a0,a0,1016 # 80004010 <test_3_data>
+80002c20: 00052007 flw ft0,0(a0)
+80002c24: 00452087 flw ft1,4(a0)
+80002c28: 00852107 flw ft2,8(a0)
+80002c2c: 00c52683 lw a3,12(a0)
+80002c30: a0100553 fle.s a0,ft0,ft1
+80002c34: 001015f3 fsflags a1,zero
+80002c38: 00000613 li a2,0
+80002c3c: 26d51e63 bne a0,a3,80002eb8 <fail>
+80002c40: 26c59c63 bne a1,a2,80002eb8 <fail>
+
+80002c44 <test_4>:
+80002c44: 00400193 li gp,4
+80002c48: 00001517 auipc a0,0x1
+80002c4c: 3d850513 addi a0,a0,984 # 80004020 <test_4_data>
+80002c50: 00052007 flw ft0,0(a0)
+80002c54: 00452087 flw ft1,4(a0)
+80002c58: 00852107 flw ft2,8(a0)
+80002c5c: 00c52683 lw a3,12(a0)
+80002c60: a0101553 flt.s a0,ft0,ft1
+80002c64: 001015f3 fsflags a1,zero
+80002c68: 00000613 li a2,0
+80002c6c: 24d51663 bne a0,a3,80002eb8 <fail>
+80002c70: 24c59463 bne a1,a2,80002eb8 <fail>
+
+80002c74 <test_5>:
+80002c74: 00500193 li gp,5
+80002c78: 00001517 auipc a0,0x1
+80002c7c: 3b850513 addi a0,a0,952 # 80004030 <test_5_data>
+80002c80: 00052007 flw ft0,0(a0)
+80002c84: 00452087 flw ft1,4(a0)
+80002c88: 00852107 flw ft2,8(a0)
+80002c8c: 00c52683 lw a3,12(a0)
+80002c90: a0102553 feq.s a0,ft0,ft1
+80002c94: 001015f3 fsflags a1,zero
+80002c98: 00000613 li a2,0
+80002c9c: 20d51e63 bne a0,a3,80002eb8 <fail>
+80002ca0: 20c59c63 bne a1,a2,80002eb8 <fail>
+
+80002ca4 <test_6>:
+80002ca4: 00600193 li gp,6
+80002ca8: 00001517 auipc a0,0x1
+80002cac: 39850513 addi a0,a0,920 # 80004040 <test_6_data>
+80002cb0: 00052007 flw ft0,0(a0)
+80002cb4: 00452087 flw ft1,4(a0)
+80002cb8: 00852107 flw ft2,8(a0)
+80002cbc: 00c52683 lw a3,12(a0)
+80002cc0: a0100553 fle.s a0,ft0,ft1
+80002cc4: 001015f3 fsflags a1,zero
+80002cc8: 00000613 li a2,0
+80002ccc: 1ed51663 bne a0,a3,80002eb8 <fail>
+80002cd0: 1ec59463 bne a1,a2,80002eb8 <fail>
+
+80002cd4 <test_7>:
+80002cd4: 00700193 li gp,7
+80002cd8: 00001517 auipc a0,0x1
+80002cdc: 37850513 addi a0,a0,888 # 80004050 <test_7_data>
+80002ce0: 00052007 flw ft0,0(a0)
+80002ce4: 00452087 flw ft1,4(a0)
+80002ce8: 00852107 flw ft2,8(a0)
+80002cec: 00c52683 lw a3,12(a0)
+80002cf0: a0101553 flt.s a0,ft0,ft1
+80002cf4: 001015f3 fsflags a1,zero
+80002cf8: 00000613 li a2,0
+80002cfc: 1ad51e63 bne a0,a3,80002eb8 <fail>
+80002d00: 1ac59c63 bne a1,a2,80002eb8 <fail>
+
+80002d04 <test_8>:
+80002d04: 00800193 li gp,8
+80002d08: 00001517 auipc a0,0x1
+80002d0c: 35850513 addi a0,a0,856 # 80004060 <test_8_data>
+80002d10: 00052007 flw ft0,0(a0)
+80002d14: 00452087 flw ft1,4(a0)
+80002d18: 00852107 flw ft2,8(a0)
+80002d1c: 00c52683 lw a3,12(a0)
+80002d20: a0102553 feq.s a0,ft0,ft1
+80002d24: 001015f3 fsflags a1,zero
+80002d28: 00000613 li a2,0
+80002d2c: 18d51663 bne a0,a3,80002eb8 <fail>
+80002d30: 18c59463 bne a1,a2,80002eb8 <fail>
+
+80002d34 <test_9>:
+80002d34: 00900193 li gp,9
+80002d38: 00001517 auipc a0,0x1
+80002d3c: 33850513 addi a0,a0,824 # 80004070 <test_9_data>
+80002d40: 00052007 flw ft0,0(a0)
+80002d44: 00452087 flw ft1,4(a0)
+80002d48: 00852107 flw ft2,8(a0)
+80002d4c: 00c52683 lw a3,12(a0)
+80002d50: a0102553 feq.s a0,ft0,ft1
+80002d54: 001015f3 fsflags a1,zero
+80002d58: 00000613 li a2,0
+80002d5c: 14d51e63 bne a0,a3,80002eb8 <fail>
+80002d60: 14c59c63 bne a1,a2,80002eb8 <fail>
+
+80002d64 <test_10>:
+80002d64: 00a00193 li gp,10
+80002d68: 00001517 auipc a0,0x1
+80002d6c: 31850513 addi a0,a0,792 # 80004080 <test_10_data>
+80002d70: 00052007 flw ft0,0(a0)
+80002d74: 00452087 flw ft1,4(a0)
+80002d78: 00852107 flw ft2,8(a0)
+80002d7c: 00c52683 lw a3,12(a0)
+80002d80: a0102553 feq.s a0,ft0,ft1
+80002d84: 001015f3 fsflags a1,zero
+80002d88: 01000613 li a2,16
+80002d8c: 12d51663 bne a0,a3,80002eb8 <fail>
+80002d90: 12c59463 bne a1,a2,80002eb8 <fail>
+
+80002d94 <test_11>:
+80002d94: 00b00193 li gp,11
+80002d98: 00001517 auipc a0,0x1
+80002d9c: 2f850513 addi a0,a0,760 # 80004090 <test_11_data>
+80002da0: 00052007 flw ft0,0(a0)
+80002da4: 00452087 flw ft1,4(a0)
+80002da8: 00852107 flw ft2,8(a0)
+80002dac: 00c52683 lw a3,12(a0)
+80002db0: a0101553 flt.s a0,ft0,ft1
+80002db4: 001015f3 fsflags a1,zero
+80002db8: 01000613 li a2,16
+80002dbc: 0ed51e63 bne a0,a3,80002eb8 <fail>
+80002dc0: 0ec59c63 bne a1,a2,80002eb8 <fail>
+
+80002dc4 <test_12>:
+80002dc4: 00c00193 li gp,12
+80002dc8: 00001517 auipc a0,0x1
+80002dcc: 2d850513 addi a0,a0,728 # 800040a0 <test_12_data>
+80002dd0: 00052007 flw ft0,0(a0)
+80002dd4: 00452087 flw ft1,4(a0)
+80002dd8: 00852107 flw ft2,8(a0)
+80002ddc: 00c52683 lw a3,12(a0)
+80002de0: a0101553 flt.s a0,ft0,ft1
+80002de4: 001015f3 fsflags a1,zero
+80002de8: 01000613 li a2,16
+80002dec: 0cd51663 bne a0,a3,80002eb8 <fail>
+80002df0: 0cc59463 bne a1,a2,80002eb8 <fail>
+
+80002df4 <test_13>:
+80002df4: 00d00193 li gp,13
+80002df8: 00001517 auipc a0,0x1
+80002dfc: 2b850513 addi a0,a0,696 # 800040b0 <test_13_data>
+80002e00: 00052007 flw ft0,0(a0)
+80002e04: 00452087 flw ft1,4(a0)
+80002e08: 00852107 flw ft2,8(a0)
+80002e0c: 00c52683 lw a3,12(a0)
+80002e10: a0101553 flt.s a0,ft0,ft1
+80002e14: 001015f3 fsflags a1,zero
+80002e18: 01000613 li a2,16
+80002e1c: 08d51e63 bne a0,a3,80002eb8 <fail>
+80002e20: 08c59c63 bne a1,a2,80002eb8 <fail>
+
+80002e24 <test_14>:
+80002e24: 00e00193 li gp,14
+80002e28: 00001517 auipc a0,0x1
+80002e2c: 29850513 addi a0,a0,664 # 800040c0 <test_14_data>
+80002e30: 00052007 flw ft0,0(a0)
+80002e34: 00452087 flw ft1,4(a0)
+80002e38: 00852107 flw ft2,8(a0)
+80002e3c: 00c52683 lw a3,12(a0)
+80002e40: a0100553 fle.s a0,ft0,ft1
+80002e44: 001015f3 fsflags a1,zero
+80002e48: 01000613 li a2,16
+80002e4c: 06d51663 bne a0,a3,80002eb8 <fail>
+80002e50: 06c59463 bne a1,a2,80002eb8 <fail>
+
+80002e54 <test_15>:
+80002e54: 00f00193 li gp,15
+80002e58: 00001517 auipc a0,0x1
+80002e5c: 27850513 addi a0,a0,632 # 800040d0 <test_15_data>
+80002e60: 00052007 flw ft0,0(a0)
+80002e64: 00452087 flw ft1,4(a0)
+80002e68: 00852107 flw ft2,8(a0)
+80002e6c: 00c52683 lw a3,12(a0)
+80002e70: a0100553 fle.s a0,ft0,ft1
+80002e74: 001015f3 fsflags a1,zero
+80002e78: 01000613 li a2,16
+80002e7c: 02d51e63 bne a0,a3,80002eb8 <fail>
+80002e80: 02c59c63 bne a1,a2,80002eb8 <fail>
+
+80002e84 <test_16>:
+80002e84: 01000193 li gp,16
+80002e88: 00001517 auipc a0,0x1
+80002e8c: 25850513 addi a0,a0,600 # 800040e0 <test_16_data>
+80002e90: 00052007 flw ft0,0(a0)
+80002e94: 00452087 flw ft1,4(a0)
+80002e98: 00852107 flw ft2,8(a0)
+80002e9c: 00c52683 lw a3,12(a0)
+80002ea0: a0100553 fle.s a0,ft0,ft1
+80002ea4: 001015f3 fsflags a1,zero
+80002ea8: 01000613 li a2,16
+80002eac: 00d51663 bne a0,a3,80002eb8 <fail>
+80002eb0: 00c59463 bne a1,a2,80002eb8 <fail>
+80002eb4: 00301a63 bne zero,gp,80002ec8 <pass>
+
+80002eb8 <fail>:
+80002eb8: 00119513 slli a0,gp,0x1
+80002ebc: 00050063 beqz a0,80002ebc <fail+0x4>
+80002ec0: 00156513 ori a0,a0,1
+80002ec4: 00000073 ecall
+
+80002ec8 <pass>:
+80002ec8: 00100513 li a0,1
+80002ecc: 00000073 ecall
+80002ed0: c0001073 unimp
+
+Disassembly of section .data:
+
+80004000 <test_2_data>:
+80004000: bfae147b 0xbfae147b
+80004004: bfae147b 0xbfae147b
+80004008: 0000 unimp
+8000400a: 0000 unimp
+8000400c: 0001 nop
+8000400e: 0000 unimp
+
+80004010 <test_3_data>:
+80004010: bfae147b 0xbfae147b
+80004014: bfae147b 0xbfae147b
+80004018: 0000 unimp
+8000401a: 0000 unimp
+8000401c: 0001 nop
+8000401e: 0000 unimp
+
+80004020 <test_4_data>:
+80004020: bfae147b 0xbfae147b
+80004024: bfae147b 0xbfae147b
+80004028: 0000 unimp
+8000402a: 0000 unimp
+8000402c: 0000 unimp
+8000402e: 0000 unimp
+
+80004030 <test_5_data>:
+80004030: 5c29 li s8,-22
+80004032: 147bbfaf 0x147bbfaf
+80004036: bfae fsd fa1,504(sp)
+80004038: 0000 unimp
+8000403a: 0000 unimp
+8000403c: 0000 unimp
+8000403e: 0000 unimp
+
+80004040 <test_6_data>:
+80004040: 5c29 li s8,-22
+80004042: 147bbfaf 0x147bbfaf
+80004046: bfae fsd fa1,504(sp)
+80004048: 0000 unimp
+8000404a: 0000 unimp
+8000404c: 0001 nop
+8000404e: 0000 unimp
+
+80004050 <test_7_data>:
+80004050: 5c29 li s8,-22
+80004052: 147bbfaf 0x147bbfaf
+80004056: bfae fsd fa1,504(sp)
+80004058: 0000 unimp
+8000405a: 0000 unimp
+8000405c: 0001 nop
+8000405e: 0000 unimp
+
+80004060 <test_8_data>:
+80004060: ffff 0xffff
+80004062: 7fff 0x7fff
+80004064: 0000 unimp
+80004066: 0000 unimp
+80004068: 0000 unimp
+8000406a: 0000 unimp
+8000406c: 0000 unimp
+8000406e: 0000 unimp
+
+80004070 <test_9_data>:
+80004070: ffff 0xffff
+80004072: 7fff 0x7fff
+80004074: ffff 0xffff
+80004076: 7fff 0x7fff
+80004078: 0000 unimp
+8000407a: 0000 unimp
+8000407c: 0000 unimp
+8000407e: 0000 unimp
+
+80004080 <test_10_data>:
+80004080: 0001 nop
+80004082: 7f80 flw fs0,56(a5)
+80004084: 0000 unimp
+80004086: 0000 unimp
+80004088: 0000 unimp
+8000408a: 0000 unimp
+8000408c: 0000 unimp
+8000408e: 0000 unimp
+
+80004090 <test_11_data>:
+80004090: ffff 0xffff
+80004092: 7fff 0x7fff
+80004094: 0000 unimp
+80004096: 0000 unimp
+80004098: 0000 unimp
+8000409a: 0000 unimp
+8000409c: 0000 unimp
+8000409e: 0000 unimp
+
+800040a0 <test_12_data>:
+800040a0: ffff 0xffff
+800040a2: 7fff 0x7fff
+800040a4: ffff 0xffff
+800040a6: 7fff 0x7fff
+800040a8: 0000 unimp
+800040aa: 0000 unimp
+800040ac: 0000 unimp
+800040ae: 0000 unimp
+
+800040b0 <test_13_data>:
+800040b0: 0001 nop
+800040b2: 7f80 flw fs0,56(a5)
+800040b4: 0000 unimp
+800040b6: 0000 unimp
+800040b8: 0000 unimp
+800040ba: 0000 unimp
+800040bc: 0000 unimp
+800040be: 0000 unimp
+
+800040c0 <test_14_data>:
+800040c0: ffff 0xffff
+800040c2: 7fff 0x7fff
+800040c4: 0000 unimp
+800040c6: 0000 unimp
+800040c8: 0000 unimp
+800040ca: 0000 unimp
+800040cc: 0000 unimp
+800040ce: 0000 unimp
+
+800040d0 <test_15_data>:
+800040d0: ffff 0xffff
+800040d2: 7fff 0x7fff
+800040d4: ffff 0xffff
+800040d6: 7fff 0x7fff
+800040d8: 0000 unimp
+800040da: 0000 unimp
+800040dc: 0000 unimp
+800040de: 0000 unimp
+
+800040e0 <test_16_data>:
+800040e0: 0001 nop
+800040e2: 7f80 flw fs0,56(a5)
+800040e4: 0000 unimp
+800040e6: 0000 unimp
+800040e8: 0000 unimp
+800040ea: 0000 unimp
+800040ec: 0000 unimp
+800040ee: 0000 unimp
diff --git a/test/riscv-tests/rv32uf-v-fcmp.elf b/test/riscv-tests/rv32uf-v-fcmp.elf
new file mode 100644
index 0000000..e39a0cb
--- /dev/null
+++ b/test/riscv-tests/rv32uf-v-fcmp.elf
Binary files differ
diff --git a/test/riscv-tests/rv32uf-v-fcvt.dump b/test/riscv-tests/rv32uf-v-fcvt.dump
new file mode 100644
index 0000000..0ca4fd8
--- /dev/null
+++ b/test/riscv-tests/rv32uf-v-fcvt.dump
@@ -0,0 +1,974 @@
+
+rv32uf-v-fcvt: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 00c0006f j 8000000c <handle_reset>
+
+80000004 <nmi_vector>:
+80000004: 2780206f j 8000227c <wtf>
+
+80000008 <trap_vector>:
+80000008: 2740206f j 8000227c <wtf>
+
+8000000c <handle_reset>:
+8000000c: 00000297 auipc t0,0x0
+80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+80000014: 30529073 csrw mtvec,t0
+80000018: 00007117 auipc sp,0x7
+8000001c: 35010113 addi sp,sp,848 # 80007368 <_end+0xf70>
+80000020: f14022f3 csrr t0,mhartid
+80000024: 00c29293 slli t0,t0,0xc
+80000028: 00510133 add sp,sp,t0
+8000002c: 34011073 csrw mscratch,sp
+80000030: 00003517 auipc a0,0x3
+80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart>
+80000038: 2090206f j 80002a40 <vm_boot>
+
+8000003c <pop_tf>:
+8000003c: 08452283 lw t0,132(a0)
+80000040: 14129073 csrw sepc,t0
+80000044: 00452083 lw ra,4(a0)
+80000048: 00852103 lw sp,8(a0)
+8000004c: 00c52183 lw gp,12(a0)
+80000050: 01052203 lw tp,16(a0)
+80000054: 01452283 lw t0,20(a0)
+80000058: 01852303 lw t1,24(a0)
+8000005c: 01c52383 lw t2,28(a0)
+80000060: 02052403 lw s0,32(a0)
+80000064: 02452483 lw s1,36(a0)
+80000068: 02c52583 lw a1,44(a0)
+8000006c: 03052603 lw a2,48(a0)
+80000070: 03452683 lw a3,52(a0)
+80000074: 03852703 lw a4,56(a0)
+80000078: 03c52783 lw a5,60(a0)
+8000007c: 04052803 lw a6,64(a0)
+80000080: 04452883 lw a7,68(a0)
+80000084: 04852903 lw s2,72(a0)
+80000088: 04c52983 lw s3,76(a0)
+8000008c: 05052a03 lw s4,80(a0)
+80000090: 05452a83 lw s5,84(a0)
+80000094: 05852b03 lw s6,88(a0)
+80000098: 05c52b83 lw s7,92(a0)
+8000009c: 06052c03 lw s8,96(a0)
+800000a0: 06452c83 lw s9,100(a0)
+800000a4: 06852d03 lw s10,104(a0)
+800000a8: 06c52d83 lw s11,108(a0)
+800000ac: 07052e03 lw t3,112(a0)
+800000b0: 07452e83 lw t4,116(a0)
+800000b4: 07852f03 lw t5,120(a0)
+800000b8: 07c52f83 lw t6,124(a0)
+800000bc: 02852503 lw a0,40(a0)
+800000c0: 10200073 sret
+
+800000c4 <trap_entry>:
+800000c4: 14011173 csrrw sp,sscratch,sp
+800000c8: 00112223 sw ra,4(sp)
+800000cc: 00312623 sw gp,12(sp)
+800000d0: 00412823 sw tp,16(sp)
+800000d4: 00512a23 sw t0,20(sp)
+800000d8: 00612c23 sw t1,24(sp)
+800000dc: 00712e23 sw t2,28(sp)
+800000e0: 02812023 sw s0,32(sp)
+800000e4: 02912223 sw s1,36(sp)
+800000e8: 02a12423 sw a0,40(sp)
+800000ec: 02b12623 sw a1,44(sp)
+800000f0: 02c12823 sw a2,48(sp)
+800000f4: 02d12a23 sw a3,52(sp)
+800000f8: 02e12c23 sw a4,56(sp)
+800000fc: 02f12e23 sw a5,60(sp)
+80000100: 05012023 sw a6,64(sp)
+80000104: 05112223 sw a7,68(sp)
+80000108: 05212423 sw s2,72(sp)
+8000010c: 05312623 sw s3,76(sp)
+80000110: 05412823 sw s4,80(sp)
+80000114: 05512a23 sw s5,84(sp)
+80000118: 05612c23 sw s6,88(sp)
+8000011c: 05712e23 sw s7,92(sp)
+80000120: 07812023 sw s8,96(sp)
+80000124: 07912223 sw s9,100(sp)
+80000128: 07a12423 sw s10,104(sp)
+8000012c: 07b12623 sw s11,108(sp)
+80000130: 07c12823 sw t3,112(sp)
+80000134: 07d12a23 sw t4,116(sp)
+80000138: 07e12c23 sw t5,120(sp)
+8000013c: 07f12e23 sw t6,124(sp)
+80000140: 140112f3 csrrw t0,sscratch,sp
+80000144: 00512423 sw t0,8(sp)
+80000148: 100022f3 csrr t0,sstatus
+8000014c: 08512023 sw t0,128(sp)
+80000150: 141022f3 csrr t0,sepc
+80000154: 08512223 sw t0,132(sp)
+80000158: 143022f3 csrr t0,stval
+8000015c: 08512423 sw t0,136(sp)
+80000160: 142022f3 csrr t0,scause
+80000164: 08512623 sw t0,140(sp)
+80000168: 00010513 mv a0,sp
+8000016c: 50c0206f j 80002678 <handle_trap>
+
+Disassembly of section .text:
+
+80002000 <memcpy>:
+80002000: 00c5e7b3 or a5,a1,a2
+80002004: 00f567b3 or a5,a0,a5
+80002008: 0037f793 andi a5,a5,3
+8000200c: 00c506b3 add a3,a0,a2
+80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+80002014: 00c58633 add a2,a1,a2
+80002018: 00050793 mv a5,a0
+8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+80002020: 00158593 addi a1,a1,1
+80002024: fff5c703 lbu a4,-1(a1)
+80002028: 00178793 addi a5,a5,1
+8000202c: fee78fa3 sb a4,-1(a5)
+80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+80002034: 00008067 ret
+80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+8000203c: 00050793 mv a5,a0
+80002040: 00458593 addi a1,a1,4
+80002044: ffc5a703 lw a4,-4(a1)
+80002048: 00478793 addi a5,a5,4
+8000204c: fee7ae23 sw a4,-4(a5)
+80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+80002054: 00008067 ret
+80002058: 00008067 ret
+
+8000205c <memset>:
+8000205c: 00c567b3 or a5,a0,a2
+80002060: 0037f793 andi a5,a5,3
+80002064: 00c50633 add a2,a0,a2
+80002068: 02078063 beqz a5,80002088 <memset+0x2c>
+8000206c: 0ff5f593 andi a1,a1,255
+80002070: 00050793 mv a5,a0
+80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58>
+80002078: 00178793 addi a5,a5,1
+8000207c: feb78fa3 sb a1,-1(a5)
+80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+80002084: 00008067 ret
+80002088: 0ff5f593 andi a1,a1,255
+8000208c: 00859793 slli a5,a1,0x8
+80002090: 00b7e7b3 or a5,a5,a1
+80002094: 01079593 slli a1,a5,0x10
+80002098: 00f5e5b3 or a1,a1,a5
+8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28>
+800020a0: 00050793 mv a5,a0
+800020a4: 00478793 addi a5,a5,4
+800020a8: feb7ae23 sw a1,-4(a5)
+800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48>
+800020b0: 00008067 ret
+800020b4: 00008067 ret
+
+800020b8 <strlen>:
+800020b8: 00054783 lbu a5,0(a0)
+800020bc: 00050713 mv a4,a0
+800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20>
+800020c4: 00150513 addi a0,a0,1
+800020c8: 00054783 lbu a5,0(a0)
+800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc>
+800020d0: 40e50533 sub a0,a0,a4
+800020d4: 00008067 ret
+800020d8: 00000513 li a0,0
+800020dc: 00008067 ret
+
+800020e0 <strcmp>:
+800020e0: 00150513 addi a0,a0,1
+800020e4: fff54783 lbu a5,-1(a0)
+800020e8: 00158593 addi a1,a1,1
+800020ec: fff5c703 lbu a4,-1(a1)
+800020f0: 00078863 beqz a5,80002100 <strcmp+0x20>
+800020f4: fee786e3 beq a5,a4,800020e0 <strcmp>
+800020f8: 40e78533 sub a0,a5,a4
+800020fc: 00008067 ret
+80002100: 00000793 li a5,0
+80002104: ff5ff06f j 800020f8 <strcmp+0x18>
+
+80002108 <memcmp>:
+80002108: 00b567b3 or a5,a0,a1
+8000210c: 0037f793 andi a5,a5,3
+80002110: 04079263 bnez a5,80002154 <memcmp+0x4c>
+80002114: ffc67693 andi a3,a2,-4
+80002118: 00d506b3 add a3,a0,a3
+8000211c: 00050813 mv a6,a0
+80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c>
+80002124: 00052703 lw a4,0(a0)
+80002128: 0005a783 lw a5,0(a1)
+8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38>
+80002130: 0240006f j 80002154 <memcmp+0x4c>
+80002134: 00052703 lw a4,0(a0)
+80002138: 0005a783 lw a5,0(a1)
+8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44>
+80002140: 00450513 addi a0,a0,4
+80002144: 00458593 addi a1,a1,4
+80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c>
+8000214c: 41050833 sub a6,a0,a6
+80002150: 41060633 sub a2,a2,a6
+80002154: 00c58633 add a2,a1,a2
+80002158: 0140006f j 8000216c <memcmp+0x64>
+8000215c: 00158593 addi a1,a1,1
+80002160: fff54783 lbu a5,-1(a0)
+80002164: fff5c703 lbu a4,-1(a1)
+80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74>
+8000216c: 00150513 addi a0,a0,1
+80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54>
+80002174: 00000513 li a0,0
+80002178: 00008067 ret
+8000217c: 40e78533 sub a0,a5,a4
+80002180: 00008067 ret
+
+80002184 <strcpy>:
+80002184: 00050793 mv a5,a0
+80002188: 00158593 addi a1,a1,1
+8000218c: fff5c703 lbu a4,-1(a1)
+80002190: 00178793 addi a5,a5,1
+80002194: fee78fa3 sb a4,-1(a5)
+80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4>
+8000219c: 00008067 ret
+
+800021a0 <atol>:
+800021a0: 00054783 lbu a5,0(a0)
+800021a4: 02000713 li a4,32
+800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18>
+800021ac: 00150513 addi a0,a0,1
+800021b0: 00054783 lbu a5,0(a0)
+800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc>
+800021b8: fd578713 addi a4,a5,-43
+800021bc: 0fd77713 andi a4,a4,253
+800021c0: 04070263 beqz a4,80002204 <atol+0x64>
+800021c4: 00054683 lbu a3,0(a0)
+800021c8: 00050793 mv a5,a0
+800021cc: 00000613 li a2,0
+800021d0: 04068863 beqz a3,80002220 <atol+0x80>
+800021d4: 00000513 li a0,0
+800021d8: 00178793 addi a5,a5,1
+800021dc: fd068593 addi a1,a3,-48
+800021e0: 00251713 slli a4,a0,0x2
+800021e4: 0007c683 lbu a3,0(a5)
+800021e8: 00a70533 add a0,a4,a0
+800021ec: 00151513 slli a0,a0,0x1
+800021f0: 00a58533 add a0,a1,a0
+800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38>
+800021f8: 00060463 beqz a2,80002200 <atol+0x60>
+800021fc: 40a00533 neg a0,a0
+80002200: 00008067 ret
+80002204: 00154683 lbu a3,1(a0)
+80002208: fd378793 addi a5,a5,-45
+8000220c: 0017b613 seqz a2,a5
+80002210: 00150793 addi a5,a0,1
+80002214: fc0690e3 bnez a3,800021d4 <atol+0x34>
+80002218: 00000513 li a0,0
+8000221c: fddff06f j 800021f8 <atol+0x58>
+80002220: 00000513 li a0,0
+80002224: 00008067 ret
+
+80002228 <terminate>:
+80002228: fffff697 auipc a3,0xfffff
+8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost>
+80002230: 0006a703 lw a4,0(a3)
+80002234: 0046a783 lw a5,4(a3)
+80002238: 00050813 mv a6,a0
+8000223c: 41f55893 srai a7,a0,0x1f
+80002240: 00f76733 or a4,a4,a5
+80002244: 02070663 beqz a4,80002270 <terminate+0x48>
+80002248: fffff617 auipc a2,0xfffff
+8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost>
+80002250: 00000713 li a4,0
+80002254: 00e62023 sw a4,0(a2)
+80002258: 00000793 li a5,0
+8000225c: 00f62223 sw a5,4(a2)
+80002260: 0006a703 lw a4,0(a3)
+80002264: 0046a783 lw a5,4(a3)
+80002268: 00f76733 or a4,a4,a5
+8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28>
+80002270: 0106a023 sw a6,0(a3)
+80002274: 0116a223 sw a7,4(a3)
+80002278: 0000006f j 80002278 <terminate+0x50>
+
+8000227c <wtf>:
+8000227c: ff010113 addi sp,sp,-16
+80002280: 34900513 li a0,841
+80002284: 00112623 sw ra,12(sp)
+80002288: fa1ff0ef jal ra,80002228 <terminate>
+
+8000228c <printhex>:
+8000228c: fe010113 addi sp,sp,-32
+80002290: 01b10793 addi a5,sp,27
+80002294: 00b10e93 addi t4,sp,11
+80002298: 00900e13 li t3,9
+8000229c: 00f57693 andi a3,a0,15
+800022a0: 01c59313 slli t1,a1,0x1c
+800022a4: 00455513 srli a0,a0,0x4
+800022a8: 05700613 li a2,87
+800022ac: 0ff6f713 andi a4,a3,255
+800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c>
+800022b4: 03000613 li a2,48
+800022b8: 00c70733 add a4,a4,a2
+800022bc: 00e78023 sb a4,0(a5)
+800022c0: fff78793 addi a5,a5,-1
+800022c4: 00a36533 or a0,t1,a0
+800022c8: 0045d593 srli a1,a1,0x4
+800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10>
+800022d0: 00c14583 lbu a1,12(sp)
+800022d4: 00010e23 sb zero,28(sp)
+800022d8: 06058263 beqz a1,8000233c <printhex+0xb0>
+800022dc: 00c10513 addi a0,sp,12
+800022e0: fffff697 auipc a3,0xfffff
+800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost>
+800022e8: fffff617 auipc a2,0xfffff
+800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost>
+800022f0: 0006a703 lw a4,0(a3)
+800022f4: 0046a783 lw a5,4(a3)
+800022f8: 00058813 mv a6,a1
+800022fc: 00150513 addi a0,a0,1
+80002300: 00f76733 or a4,a4,a5
+80002304: 010108b7 lui a7,0x1010
+80002308: 02070263 beqz a4,8000232c <printhex+0xa0>
+8000230c: 00000713 li a4,0
+80002310: 00e62023 sw a4,0(a2)
+80002314: 00000793 li a5,0
+80002318: 00f62223 sw a5,4(a2)
+8000231c: 0006a703 lw a4,0(a3)
+80002320: 0046a783 lw a5,4(a3)
+80002324: 00f76733 or a4,a4,a5
+80002328: fe0712e3 bnez a4,8000230c <printhex+0x80>
+8000232c: 00054583 lbu a1,0(a0)
+80002330: 0106a023 sw a6,0(a3)
+80002334: 0116a223 sw a7,4(a3)
+80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64>
+8000233c: 02010113 addi sp,sp,32
+80002340: 00008067 ret
+
+80002344 <handle_fault>:
+80002344: ff010113 addi sp,sp,-16
+80002348: fffff6b7 lui a3,0xfffff
+8000234c: 00112623 sw ra,12(sp)
+80002350: 00812423 sw s0,8(sp)
+80002354: 00912223 sw s1,4(sp)
+80002358: 00d50733 add a4,a0,a3
+8000235c: 0003e7b7 lui a5,0x3e
+80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180>
+80002364: 00c55613 srli a2,a0,0xc
+80002368: 40060e13 addi t3,a2,1024
+8000236c: 00002317 auipc t1,0x2
+80002370: c9430313 addi t1,t1,-876 # 80004000 <pt>
+80002374: 002e1793 slli a5,t3,0x2
+80002378: 00f307b3 add a5,t1,a5
+8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000>
+80002380: 00d57533 and a0,a0,a3
+80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130>
+80002388: 00004797 auipc a5,0x4
+8000238c: 06c78793 addi a5,a5,108 # 800063f4 <freelist_head>
+80002390: 0007a583 lw a1,0(a5)
+80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0>
+80002398: 0045a783 lw a5,4(a1)
+8000239c: 00004717 auipc a4,0x4
+800023a0: 05470713 addi a4,a4,84 # 800063f0 <freelist_tail>
+800023a4: 00072703 lw a4,0(a4)
+800023a8: 00004697 auipc a3,0x4
+800023ac: 04f6a623 sw a5,76(a3) # 800063f4 <freelist_head>
+800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174>
+800023b4: 0005a703 lw a4,0(a1)
+800023b8: 002e1793 slli a5,t3,0x2
+800023bc: 00f307b3 add a5,t1,a5
+800023c0: 00c75713 srli a4,a4,0xc
+800023c4: 00a71713 slli a4,a4,0xa
+800023c8: 0df76e93 ori t4,a4,223
+800023cc: 01f76693 ori a3,a4,31
+800023d0: 01d7a023 sw t4,0(a5)
+800023d4: 12050073 sfence.vma a0
+800023d8: 00004717 auipc a4,0x4
+800023dc: e2070713 addi a4,a4,-480 # 800061f8 <user_mapping>
+800023e0: 00361793 slli a5,a2,0x3
+800023e4: 00f707b3 add a5,a4,a5
+800023e8: 0007a703 lw a4,0(a5)
+800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c>
+800023f0: 0005a703 lw a4,0(a1)
+800023f4: 00e7a023 sw a4,0(a5)
+800023f8: 0045a703 lw a4,4(a1)
+800023fc: 00e7a223 sw a4,4(a5)
+80002400: 000407b7 lui a5,0x40
+80002404: 1007a5f3 csrrs a1,sstatus,a5
+80002408: ffc007b7 lui a5,0xffc00
+8000240c: 00f507b3 add a5,a0,a5
+80002410: 00001637 lui a2,0x1
+80002414: 00050713 mv a4,a0
+80002418: 00c78633 add a2,a5,a2
+8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf9c08>
+80002420: 0047ae83 lw t4,4(a5)
+80002424: 0087a883 lw a7,8(a5)
+80002428: 00c7a803 lw a6,12(a5)
+8000242c: 01e72023 sw t5,0(a4)
+80002430: 01d72223 sw t4,4(a4)
+80002434: 01172423 sw a7,8(a4)
+80002438: 01072623 sw a6,12(a4)
+8000243c: 01078793 addi a5,a5,16
+80002440: 01070713 addi a4,a4,16
+80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8>
+80002448: 10059073 csrw sstatus,a1
+8000244c: 002e1e13 slli t3,t3,0x2
+80002450: 01c30333 add t1,t1,t3
+80002454: 00d32023 sw a3,0(t1)
+80002458: 12050073 sfence.vma a0
+8000245c: 0000100f fence.i
+80002460: 00c12083 lw ra,12(sp)
+80002464: 00812403 lw s0,8(sp)
+80002468: 00412483 lw s1,4(sp)
+8000246c: 01010113 addi sp,sp,16
+80002470: 00008067 ret
+80002474: 04077693 andi a3,a4,64
+80002478: 02069263 bnez a3,8000249c <handle_fault+0x158>
+8000247c: 04076713 ori a4,a4,64
+80002480: 00e7a023 sw a4,0(a5)
+80002484: 12050073 sfence.vma a0
+80002488: 00c12083 lw ra,12(sp)
+8000248c: 00812403 lw s0,8(sp)
+80002490: 00412483 lw s1,4(sp)
+80002494: 01010113 addi sp,sp,16
+80002498: 00008067 ret
+8000249c: 08077693 andi a3,a4,128
+800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8>
+800024a4: 00f00693 li a3,15
+800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8>
+800024ac: 08076713 ori a4,a4,128
+800024b0: 00e7a023 sw a4,0(a5)
+800024b4: fd1ff06f j 80002484 <handle_fault+0x140>
+800024b8: 00004797 auipc a5,0x4
+800024bc: f207ac23 sw zero,-200(a5) # 800063f0 <freelist_tail>
+800024c0: ef5ff06f j 800023b4 <handle_fault+0x70>
+800024c4: 04100513 li a0,65
+800024c8: 00000597 auipc a1,0x0
+800024cc: 7cc58593 addi a1,a1,1996 # 80002c94 <pass+0xc>
+800024d0: fffff697 auipc a3,0xfffff
+800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost>
+800024d8: fffff617 auipc a2,0xfffff
+800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost>
+800024e0: 0006a703 lw a4,0(a3)
+800024e4: 0046a783 lw a5,4(a3)
+800024e8: 00050313 mv t1,a0
+800024ec: 00158593 addi a1,a1,1
+800024f0: 00f76733 or a4,a4,a5
+800024f4: 010103b7 lui t2,0x1010
+800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8>
+800024fc: 00000793 li a5,0
+80002500: 00f62023 sw a5,0(a2)
+80002504: 00000813 li a6,0
+80002508: 01062223 sw a6,4(a2)
+8000250c: 0006a703 lw a4,0(a3)
+80002510: 0046a783 lw a5,4(a3)
+80002514: 00f76733 or a4,a4,a5
+80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8>
+8000251c: 0005c503 lbu a0,0(a1)
+80002520: 0066a023 sw t1,0(a3)
+80002524: 0076a223 sw t2,4(a3)
+80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c>
+8000252c: 00300513 li a0,3
+80002530: cf9ff0ef jal ra,80002228 <terminate>
+80002534: 04100513 li a0,65
+80002538: 00000597 auipc a1,0x0
+8000253c: 7e858593 addi a1,a1,2024 # 80002d20 <pass+0x98>
+80002540: fffff697 auipc a3,0xfffff
+80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost>
+80002548: fffff617 auipc a2,0xfffff
+8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost>
+80002550: 0006a703 lw a4,0(a3)
+80002554: 0046a783 lw a5,4(a3)
+80002558: 00050f13 mv t5,a0
+8000255c: 00158593 addi a1,a1,1
+80002560: 00f76733 or a4,a4,a5
+80002564: 01010fb7 lui t6,0x1010
+80002568: 02070263 beqz a4,8000258c <handle_fault+0x248>
+8000256c: 00000793 li a5,0
+80002570: 00f62023 sw a5,0(a2)
+80002574: 00000813 li a6,0
+80002578: 01062223 sw a6,4(a2)
+8000257c: 0006a703 lw a4,0(a3)
+80002580: 0046a783 lw a5,4(a3)
+80002584: 00f76733 or a4,a4,a5
+80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228>
+8000258c: 0005c503 lbu a0,0(a1)
+80002590: 01e6a023 sw t5,0(a3)
+80002594: 01f6a223 sw t6,4(a3)
+80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c>
+8000259c: f91ff06f j 8000252c <handle_fault+0x1e8>
+800025a0: 04100513 li a0,65
+800025a4: 00000597 auipc a1,0x0
+800025a8: 79458593 addi a1,a1,1940 # 80002d38 <pass+0xb0>
+800025ac: fffff697 auipc a3,0xfffff
+800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost>
+800025b4: fffff617 auipc a2,0xfffff
+800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost>
+800025bc: 0006a703 lw a4,0(a3)
+800025c0: 0046a783 lw a5,4(a3)
+800025c4: 00050813 mv a6,a0
+800025c8: 00158593 addi a1,a1,1
+800025cc: 00f76733 or a4,a4,a5
+800025d0: 010108b7 lui a7,0x1010
+800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4>
+800025d8: 00000713 li a4,0
+800025dc: 00e62023 sw a4,0(a2)
+800025e0: 00000793 li a5,0
+800025e4: 00f62223 sw a5,4(a2)
+800025e8: 0006a703 lw a4,0(a3)
+800025ec: 0046a783 lw a5,4(a3)
+800025f0: 00f76733 or a4,a4,a5
+800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294>
+800025f8: 0005c503 lbu a0,0(a1)
+800025fc: 0106a023 sw a6,0(a3)
+80002600: 0116a223 sw a7,4(a3)
+80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278>
+80002608: f25ff06f j 8000252c <handle_fault+0x1e8>
+8000260c: 04100793 li a5,65
+80002610: 00000597 auipc a1,0x0
+80002614: 6c858593 addi a1,a1,1736 # 80002cd8 <pass+0x50>
+80002618: fffff697 auipc a3,0xfffff
+8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost>
+80002620: fffff617 auipc a2,0xfffff
+80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost>
+80002628: 0006a803 lw a6,0(a3)
+8000262c: 0046a883 lw a7,4(a3)
+80002630: 00078413 mv s0,a5
+80002634: 00158593 addi a1,a1,1
+80002638: 01186833 or a6,a6,a7
+8000263c: 010104b7 lui s1,0x1010
+80002640: 02080263 beqz a6,80002664 <handle_fault+0x320>
+80002644: 00000793 li a5,0
+80002648: 00f62023 sw a5,0(a2)
+8000264c: 00000813 li a6,0
+80002650: 01062223 sw a6,4(a2)
+80002654: 0006a703 lw a4,0(a3)
+80002658: 0046a783 lw a5,4(a3)
+8000265c: 00f76733 or a4,a4,a5
+80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300>
+80002664: 0005c783 lbu a5,0(a1)
+80002668: 0086a023 sw s0,0(a3)
+8000266c: 0096a223 sw s1,4(a3)
+80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4>
+80002674: eb9ff06f j 8000252c <handle_fault+0x1e8>
+
+80002678 <handle_trap>:
+80002678: 08c52583 lw a1,140(a0)
+8000267c: fb010113 addi sp,sp,-80
+80002680: 03412c23 sw s4,56(sp)
+80002684: 04112623 sw ra,76(sp)
+80002688: 04812423 sw s0,72(sp)
+8000268c: 04912223 sw s1,68(sp)
+80002690: 05212023 sw s2,64(sp)
+80002694: 03312e23 sw s3,60(sp)
+80002698: 03512a23 sw s5,52(sp)
+8000269c: 03612823 sw s6,48(sp)
+800026a0: 03712623 sw s7,44(sp)
+800026a4: 03812423 sw s8,40(sp)
+800026a8: 03912223 sw s9,36(sp)
+800026ac: 03a12023 sw s10,32(sp)
+800026b0: 01b12e23 sw s11,28(sp)
+800026b4: 00800793 li a5,8
+800026b8: 00050a13 mv s4,a0
+800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0>
+800026c0: 00200793 li a5,2
+800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac>
+800026c8: ff458793 addi a5,a1,-12
+800026cc: 00100713 li a4,1
+800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64>
+800026d4: 00f00793 li a5,15
+800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294>
+800026dc: 088a2503 lw a0,136(s4)
+800026e0: c65ff0ef jal ra,80002344 <handle_fault>
+800026e4: 04812403 lw s0,72(sp)
+800026e8: 04c12083 lw ra,76(sp)
+800026ec: 04412483 lw s1,68(sp)
+800026f0: 04012903 lw s2,64(sp)
+800026f4: 03c12983 lw s3,60(sp)
+800026f8: 03412a83 lw s5,52(sp)
+800026fc: 03012b03 lw s6,48(sp)
+80002700: 02c12b83 lw s7,44(sp)
+80002704: 02812c03 lw s8,40(sp)
+80002708: 02412c83 lw s9,36(sp)
+8000270c: 02012d03 lw s10,32(sp)
+80002710: 01c12d83 lw s11,28(sp)
+80002714: 000a0513 mv a0,s4
+80002718: 03812a03 lw s4,56(sp)
+8000271c: 05010113 addi sp,sp,80
+80002720: 91dfd06f j 8000003c <pop_tf>
+80002724: 08452703 lw a4,132(a0)
+80002728: 00377793 andi a5,a4,3
+8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144>
+80002730: 008007ef jal a5,80002738 <handle_trap+0xc0>
+80002734: 00301073 fssr zero
+80002738: 00072703 lw a4,0(a4)
+8000273c: 0007a783 lw a5,0(a5)
+80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c>
+80002744: 04100513 li a0,65
+80002748: 00000597 auipc a1,0x0
+8000274c: 6b858593 addi a1,a1,1720 # 80002e00 <pass+0x178>
+80002750: fffff697 auipc a3,0xfffff
+80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost>
+80002758: fffff617 auipc a2,0xfffff
+8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost>
+80002760: 0006a703 lw a4,0(a3)
+80002764: 0046a783 lw a5,4(a3)
+80002768: 00050813 mv a6,a0
+8000276c: 00158593 addi a1,a1,1
+80002770: 00f76733 or a4,a4,a5
+80002774: 010108b7 lui a7,0x1010
+80002778: 02070263 beqz a4,8000279c <handle_trap+0x124>
+8000277c: 00000713 li a4,0
+80002780: 00e62023 sw a4,0(a2)
+80002784: 00000793 li a5,0
+80002788: 00f62223 sw a5,4(a2)
+8000278c: 0006a703 lw a4,0(a3)
+80002790: 0046a783 lw a5,4(a3)
+80002794: 00f76733 or a4,a4,a5
+80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104>
+8000279c: 0005c503 lbu a0,0(a1)
+800027a0: 0106a023 sw a6,0(a3)
+800027a4: 0116a223 sw a7,4(a3)
+800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8>
+800027ac: 00300513 li a0,3
+800027b0: a79ff0ef jal ra,80002228 <terminate>
+800027b4: 00100513 li a0,1
+800027b8: a71ff0ef jal ra,80002228 <terminate>
+800027bc: 00000597 auipc a1,0x0
+800027c0: 62058593 addi a1,a1,1568 # 80002ddc <pass+0x154>
+800027c4: 04100613 li a2,65
+800027c8: fffff697 auipc a3,0xfffff
+800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost>
+800027d0: fffff517 auipc a0,0xfffff
+800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost>
+800027d8: 0006a703 lw a4,0(a3)
+800027dc: 0046a783 lw a5,4(a3)
+800027e0: 00060e13 mv t3,a2
+800027e4: 00158593 addi a1,a1,1
+800027e8: 00f76733 or a4,a4,a5
+800027ec: 01010eb7 lui t4,0x1010
+800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c>
+800027f4: 00000793 li a5,0
+800027f8: 00f52023 sw a5,0(a0)
+800027fc: 00000813 li a6,0
+80002800: 01052223 sw a6,4(a0)
+80002804: 0006a703 lw a4,0(a3)
+80002808: 0046a783 lw a5,4(a3)
+8000280c: 00f76733 or a4,a4,a5
+80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c>
+80002814: 0005c603 lbu a2,0(a1)
+80002818: 01c6a023 sw t3,0(a3)
+8000281c: 01d6a223 sw t4,4(a3)
+80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160>
+80002824: f89ff06f j 800027ac <handle_trap+0x134>
+80002828: 02852783 lw a5,40(a0)
+8000282c: 00001a37 lui s4,0x1
+80002830: 00004b17 auipc s6,0x4
+80002834: 9c8b0b13 addi s6,s6,-1592 # 800061f8 <user_mapping>
+80002838: 00f12223 sw a5,4(sp)
+8000283c: 00001d17 auipc s10,0x1
+80002840: 7c4d0d13 addi s10,s10,1988 # 80004000 <pt>
+80002844: 00040cb7 lui s9,0x40
+80002848: ffc00c37 lui s8,0xffc00
+8000284c: 0003fab7 lui s5,0x3f
+80002850: 01c0006f j 8000286c <handle_trap+0x1f4>
+80002854: 00f72223 sw a5,4(a4)
+80002858: 00004717 auipc a4,0x4
+8000285c: b8f72c23 sw a5,-1128(a4) # 800063f0 <freelist_tail>
+80002860: 000017b7 lui a5,0x1
+80002864: 00fa0a33 add s4,s4,a5
+80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398>
+8000286c: 00ca5713 srli a4,s4,0xc
+80002870: 00371b93 slli s7,a4,0x3
+80002874: 017b0633 add a2,s6,s7
+80002878: 00062603 lw a2,0(a2)
+8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8>
+80002880: 40070713 addi a4,a4,1024
+80002884: 00271713 slli a4,a4,0x2
+80002888: 00ed0733 add a4,s10,a4
+8000288c: 00072703 lw a4,0(a4)
+80002890: 04077613 andi a2,a4,64
+80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c>
+80002898: 00e12623 sw a4,12(sp)
+8000289c: 100cadf3 csrrs s11,sstatus,s9
+800028a0: 018a0833 add a6,s4,s8
+800028a4: 00001637 lui a2,0x1
+800028a8: 00080593 mv a1,a6
+800028ac: 000a0513 mv a0,s4
+800028b0: 01012423 sw a6,8(sp)
+800028b4: 855ff0ef jal ra,80002108 <memcmp>
+800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264>
+800028bc: 00c12703 lw a4,12(sp)
+800028c0: 00812803 lw a6,8(sp)
+800028c4: 08077713 andi a4,a4,128
+800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300>
+800028cc: 00001637 lui a2,0x1
+800028d0: 00080593 mv a1,a6
+800028d4: 000a0513 mv a0,s4
+800028d8: f28ff0ef jal ra,80002000 <memcpy>
+800028dc: 017b07b3 add a5,s6,s7
+800028e0: 100d9073 csrw sstatus,s11
+800028e4: 00004717 auipc a4,0x4
+800028e8: b0c70713 addi a4,a4,-1268 # 800063f0 <freelist_tail>
+800028ec: 00072703 lw a4,0(a4)
+800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000>
+800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc>
+800028f8: 00004717 auipc a4,0x4
+800028fc: aef72c23 sw a5,-1288(a4) # 800063f0 <freelist_tail>
+80002900: 00004717 auipc a4,0x4
+80002904: aef72a23 sw a5,-1292(a4) # 800063f4 <freelist_head>
+80002908: f59ff06f j 80002860 <handle_trap+0x1e8>
+8000290c: 04100593 li a1,65
+80002910: 00000617 auipc a2,0x0
+80002914: 51c60613 addi a2,a2,1308 # 80002e2c <pass+0x1a4>
+80002918: ffffe697 auipc a3,0xffffe
+8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost>
+80002920: ffffe517 auipc a0,0xffffe
+80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost>
+80002928: 0006a703 lw a4,0(a3)
+8000292c: 0046a783 lw a5,4(a3)
+80002930: 00058313 mv t1,a1
+80002934: 00160613 addi a2,a2,1
+80002938: 00f76733 or a4,a4,a5
+8000293c: 010103b7 lui t2,0x1010
+80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec>
+80002944: 00000793 li a5,0
+80002948: 00f52023 sw a5,0(a0)
+8000294c: 00000813 li a6,0
+80002950: 01052223 sw a6,4(a0)
+80002954: 0006a703 lw a4,0(a3)
+80002958: 0046a783 lw a5,4(a3)
+8000295c: 00f76733 or a4,a4,a5
+80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc>
+80002964: 00064583 lbu a1,0(a2)
+80002968: 0066a023 sw t1,0(a3)
+8000296c: 0076a223 sw t2,4(a3)
+80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0>
+80002974: e39ff06f j 800027ac <handle_trap+0x134>
+80002978: 04100793 li a5,65
+8000297c: 00000617 auipc a2,0x0
+80002980: 42c60613 addi a2,a2,1068 # 80002da8 <pass+0x120>
+80002984: ffffe697 auipc a3,0xffffe
+80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost>
+8000298c: ffffe597 auipc a1,0xffffe
+80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost>
+80002994: 00078413 mv s0,a5
+80002998: 00160613 addi a2,a2,1
+8000299c: 010104b7 lui s1,0x1010
+800029a0: 0006a703 lw a4,0(a3)
+800029a4: 0046a783 lw a5,4(a3)
+800029a8: 00f76733 or a4,a4,a5
+800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0>
+800029b0: 00000793 li a5,0
+800029b4: 00000813 li a6,0
+800029b8: 00f5a023 sw a5,0(a1)
+800029bc: 0105a223 sw a6,4(a1)
+800029c0: fe1ff06f j 800029a0 <handle_trap+0x328>
+800029c4: 04100793 li a5,65
+800029c8: 00000617 auipc a2,0x0
+800029cc: 3ac60613 addi a2,a2,940 # 80002d74 <pass+0xec>
+800029d0: ffffe697 auipc a3,0xffffe
+800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost>
+800029d8: ffffe597 auipc a1,0xffffe
+800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost>
+800029e0: 00078913 mv s2,a5
+800029e4: 00160613 addi a2,a2,1
+800029e8: 010109b7 lui s3,0x1010
+800029ec: 0006a703 lw a4,0(a3)
+800029f0: 0046a783 lw a5,4(a3)
+800029f4: 00f76733 or a4,a4,a5
+800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4>
+800029fc: 00000793 li a5,0
+80002a00: 00000813 li a6,0
+80002a04: 00f5a023 sw a5,0(a1)
+80002a08: 0105a223 sw a6,4(a1)
+80002a0c: fe1ff06f j 800029ec <handle_trap+0x374>
+80002a10: 00412503 lw a0,4(sp)
+80002a14: 815ff0ef jal ra,80002228 <terminate>
+80002a18: 00064783 lbu a5,0(a2)
+80002a1c: 0086a023 sw s0,0(a3)
+80002a20: 0096a223 sw s1,4(a3)
+80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c>
+80002a28: d85ff06f j 800027ac <handle_trap+0x134>
+80002a2c: 00064783 lbu a5,0(a2)
+80002a30: 0126a023 sw s2,0(a3)
+80002a34: 0136a223 sw s3,4(a3)
+80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368>
+80002a3c: d71ff06f j 800027ac <handle_trap+0x134>
+
+80002a40 <vm_boot>:
+80002a40: f14027f3 csrr a5,mhartid
+80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158>
+80002a48: 00002797 auipc a5,0x2
+80002a4c: 5b878793 addi a5,a5,1464 # 80005000 <pt+0x1000>
+80002a50: 00c7d793 srli a5,a5,0xc
+80002a54: 00a79793 slli a5,a5,0xa
+80002a58: 0017e793 ori a5,a5,1
+80002a5c: 00001697 auipc a3,0x1
+80002a60: 5af6a223 sw a5,1444(a3) # 80004000 <pt>
+80002a64: 200007b7 lui a5,0x20000
+80002a68: 00001717 auipc a4,0x1
+80002a6c: 59870713 addi a4,a4,1432 # 80004000 <pt>
+80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31>
+80002a74: f6010113 addi sp,sp,-160
+80002a78: 00002697 auipc a3,0x2
+80002a7c: 58f6a223 sw a5,1412(a3) # 80004ffc <pt+0xffc>
+80002a80: 00c75793 srli a5,a4,0xc
+80002a84: 80000737 lui a4,0x80000
+80002a88: 08112e23 sw ra,156(sp)
+80002a8c: 08812c23 sw s0,152(sp)
+80002a90: 00e7e7b3 or a5,a5,a4
+80002a94: 18079073 csrw satp,a5
+80002a98: 01f00793 li a5,31
+80002a9c: fff00713 li a4,-1
+80002aa0: 00000297 auipc t0,0x0
+80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74>
+80002aa8: 305292f3 csrrw t0,mtvec,t0
+80002aac: 3b071073 csrw pmpaddr0,a4
+80002ab0: 3a079073 csrw pmpcfg0,a5
+80002ab4: 7fbfd797 auipc a5,0x7fbfd
+80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf9ccc>
+80002abc: 10579073 csrw stvec,a5
+80002ac0: 340027f3 csrr a5,mscratch
+80002ac4: 7fc00837 lui a6,0x7fc00
+80002ac8: 010787b3 add a5,a5,a6
+80002acc: 14079073 csrw sscratch,a5
+80002ad0: 0000b7b7 lui a5,0xb
+80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00>
+80002ad8: 30279073 csrw medeleg,a5
+80002adc: 0001e7b7 lui a5,0x1e
+80002ae0: 30079073 csrw mstatus,a5
+80002ae4: 30405073 csrwi mie,0
+80002ae8: 7fc03797 auipc a5,0x7fc03
+80002aec: 51878793 addi a5,a5,1304 # ffc06000 <_end+0x7fbffc08>
+80002af0: 00004717 auipc a4,0x4
+80002af4: 90f72223 sw a5,-1788(a4) # 800063f4 <freelist_head>
+80002af8: 7fc03797 auipc a5,0x7fc03
+80002afc: 6f878793 addi a5,a5,1784 # ffc061f0 <_end+0x7fbffdf8>
+80002b00: 00004717 auipc a4,0x4
+80002b04: 8ef72823 sw a5,-1808(a4) # 800063f0 <freelist_tail>
+80002b08: 000808b7 lui a7,0x80
+80002b0c: 00003717 auipc a4,0x3
+80002b10: 4f470713 addi a4,a4,1268 # 80006000 <freelist_nodes>
+80002b14: 00003317 auipc t1,0x3
+80002b18: 6e430313 addi t1,t1,1764 # 800061f8 <user_mapping>
+80002b1c: 03200793 li a5,50
+80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1>
+80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8>
+80002b28: 0017d613 srli a2,a5,0x1
+80002b2c: 011786b3 add a3,a5,a7
+80002b30: 00f647b3 xor a5,a2,a5
+80002b34: 010705b3 add a1,a4,a6
+80002b38: 00c69693 slli a3,a3,0xc
+80002b3c: 00579793 slli a5,a5,0x5
+80002b40: 00d72023 sw a3,0(a4)
+80002b44: 00b72223 sw a1,4(a4)
+80002b48: 0207f793 andi a5,a5,32
+80002b4c: 00870713 addi a4,a4,8
+80002b50: 00f667b3 or a5,a2,a5
+80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8>
+80002b58: 00050413 mv s0,a0
+80002b5c: 09000613 li a2,144
+80002b60: 00000593 li a1,0
+80002b64: 00010513 mv a0,sp
+80002b68: 00003797 auipc a5,0x3
+80002b6c: 6807a623 sw zero,1676(a5) # 800061f4 <freelist_nodes+0x1f4>
+80002b70: cecff0ef jal ra,8000205c <memset>
+80002b74: 800007b7 lui a5,0x80000
+80002b78: 00f40433 add s0,s0,a5
+80002b7c: 00010513 mv a0,sp
+80002b80: 08812223 sw s0,132(sp)
+80002b84: cb8fd0ef jal ra,8000003c <pop_tf>
+80002b88: 09c12083 lw ra,156(sp)
+80002b8c: 09812403 lw s0,152(sp)
+80002b90: 0a010113 addi sp,sp,160
+80002b94: 00008067 ret
+80002b98: 072117b7 lui a5,0x7211
+80002b9c: 00080637 lui a2,0x80
+80002ba0: 20978793 addi a5,a5,521 # 7211209 <_start-0x78deedf7>
+80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004>
+80002ba8: 800005b7 lui a1,0x80000
+80002bac: 00c7f733 and a4,a5,a2
+80002bb0: 0017f693 andi a3,a5,1
+80002bb4: 00b70733 add a4,a4,a1
+80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194>
+80002bbc: 0007202f amoadd.w zero,zero,(a4)
+80002bc0: 0017d793 srli a5,a5,0x1
+80002bc4: 00c7f733 and a4,a5,a2
+80002bc8: 0017f693 andi a3,a5,1
+80002bcc: 00b70733 add a4,a4,a1
+80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c>
+80002bd4: 00072003 lw zero,0(a4)
+80002bd8: 0017d793 srli a5,a5,0x1
+80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184>
+
+80002be0 <userstart>:
+80002be0: 00301073 fssr zero
+
+80002be4 <test_2>:
+80002be4: 00200193 li gp,2
+80002be8: 00000517 auipc a0,0x0
+80002bec: 41850513 addi a0,a0,1048 # 80003000 <test_2_data>
+80002bf0: 00052683 lw a3,0(a0)
+80002bf4: 00200513 li a0,2
+80002bf8: d0057053 fcvt.s.w ft0,a0
+80002bfc: 00101073 fsflags zero
+80002c00: e0000553 fmv.x.w a0,ft0
+80002c04: 06d51a63 bne a0,a3,80002c78 <fail>
+
+80002c08 <test_3>:
+80002c08: 00300193 li gp,3
+80002c0c: 00000517 auipc a0,0x0
+80002c10: 3f850513 addi a0,a0,1016 # 80003004 <test_3_data>
+80002c14: 00052683 lw a3,0(a0)
+80002c18: ffe00513 li a0,-2
+80002c1c: d0057053 fcvt.s.w ft0,a0
+80002c20: 00101073 fsflags zero
+80002c24: e0000553 fmv.x.w a0,ft0
+80002c28: 04d51863 bne a0,a3,80002c78 <fail>
+
+80002c2c <test_4>:
+80002c2c: 00400193 li gp,4
+80002c30: 00000517 auipc a0,0x0
+80002c34: 3d850513 addi a0,a0,984 # 80003008 <test_4_data>
+80002c38: 00052683 lw a3,0(a0)
+80002c3c: 00200513 li a0,2
+80002c40: d0157053 fcvt.s.wu ft0,a0
+80002c44: 00101073 fsflags zero
+80002c48: e0000553 fmv.x.w a0,ft0
+80002c4c: 02d51663 bne a0,a3,80002c78 <fail>
+
+80002c50 <test_5>:
+80002c50: 00500193 li gp,5
+80002c54: 00000517 auipc a0,0x0
+80002c58: 3b850513 addi a0,a0,952 # 8000300c <test_5_data>
+80002c5c: 00052683 lw a3,0(a0)
+80002c60: ffe00513 li a0,-2
+80002c64: d0157053 fcvt.s.wu ft0,a0
+80002c68: 00101073 fsflags zero
+80002c6c: e0000553 fmv.x.w a0,ft0
+80002c70: 00d51463 bne a0,a3,80002c78 <fail>
+80002c74: 00301a63 bne zero,gp,80002c88 <pass>
+
+80002c78 <fail>:
+80002c78: 00119513 slli a0,gp,0x1
+80002c7c: 00050063 beqz a0,80002c7c <fail+0x4>
+80002c80: 00156513 ori a0,a0,1
+80002c84: 00000073 ecall
+
+80002c88 <pass>:
+80002c88: 00100513 li a0,1
+80002c8c: 00000073 ecall
+80002c90: c0001073 unimp
+
+Disassembly of section .data:
+
+80003000 <test_2_data>:
+80003000: 0000 unimp
+80003002: 4000 lw s0,0(s0)
+
+80003004 <test_3_data>:
+80003004: 0000 unimp
+80003006: c000 sw s0,0(s0)
+
+80003008 <test_4_data>:
+80003008: 0000 unimp
+8000300a: 4000 lw s0,0(s0)
+
+8000300c <test_5_data>:
+8000300c: 0000 unimp
+8000300e: 4f80 lw s0,24(a5)
diff --git a/test/riscv-tests/rv32uf-v-fcvt.elf b/test/riscv-tests/rv32uf-v-fcvt.elf
new file mode 100644
index 0000000..949a1df
--- /dev/null
+++ b/test/riscv-tests/rv32uf-v-fcvt.elf
Binary files differ
diff --git a/test/riscv-tests/rv32uf-v-fcvt_w.dump b/test/riscv-tests/rv32uf-v-fcvt_w.dump
new file mode 100644
index 0000000..4a3e864
--- /dev/null
+++ b/test/riscv-tests/rv32uf-v-fcvt_w.dump
@@ -0,0 +1,1401 @@
+
+rv32uf-v-fcvt_w: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 00c0006f j 8000000c <handle_reset>
+
+80000004 <nmi_vector>:
+80000004: 2780206f j 8000227c <wtf>
+
+80000008 <trap_vector>:
+80000008: 2740206f j 8000227c <wtf>
+
+8000000c <handle_reset>:
+8000000c: 00000297 auipc t0,0x0
+80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+80000014: 30529073 csrw mtvec,t0
+80000018: 00008117 auipc sp,0x8
+8000001c: 35010113 addi sp,sp,848 # 80008368 <_end+0xf70>
+80000020: f14022f3 csrr t0,mhartid
+80000024: 00c29293 slli t0,t0,0xc
+80000028: 00510133 add sp,sp,t0
+8000002c: 34011073 csrw mscratch,sp
+80000030: 00003517 auipc a0,0x3
+80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart>
+80000038: 2090206f j 80002a40 <vm_boot>
+
+8000003c <pop_tf>:
+8000003c: 08452283 lw t0,132(a0)
+80000040: 14129073 csrw sepc,t0
+80000044: 00452083 lw ra,4(a0)
+80000048: 00852103 lw sp,8(a0)
+8000004c: 00c52183 lw gp,12(a0)
+80000050: 01052203 lw tp,16(a0)
+80000054: 01452283 lw t0,20(a0)
+80000058: 01852303 lw t1,24(a0)
+8000005c: 01c52383 lw t2,28(a0)
+80000060: 02052403 lw s0,32(a0)
+80000064: 02452483 lw s1,36(a0)
+80000068: 02c52583 lw a1,44(a0)
+8000006c: 03052603 lw a2,48(a0)
+80000070: 03452683 lw a3,52(a0)
+80000074: 03852703 lw a4,56(a0)
+80000078: 03c52783 lw a5,60(a0)
+8000007c: 04052803 lw a6,64(a0)
+80000080: 04452883 lw a7,68(a0)
+80000084: 04852903 lw s2,72(a0)
+80000088: 04c52983 lw s3,76(a0)
+8000008c: 05052a03 lw s4,80(a0)
+80000090: 05452a83 lw s5,84(a0)
+80000094: 05852b03 lw s6,88(a0)
+80000098: 05c52b83 lw s7,92(a0)
+8000009c: 06052c03 lw s8,96(a0)
+800000a0: 06452c83 lw s9,100(a0)
+800000a4: 06852d03 lw s10,104(a0)
+800000a8: 06c52d83 lw s11,108(a0)
+800000ac: 07052e03 lw t3,112(a0)
+800000b0: 07452e83 lw t4,116(a0)
+800000b4: 07852f03 lw t5,120(a0)
+800000b8: 07c52f83 lw t6,124(a0)
+800000bc: 02852503 lw a0,40(a0)
+800000c0: 10200073 sret
+
+800000c4 <trap_entry>:
+800000c4: 14011173 csrrw sp,sscratch,sp
+800000c8: 00112223 sw ra,4(sp)
+800000cc: 00312623 sw gp,12(sp)
+800000d0: 00412823 sw tp,16(sp)
+800000d4: 00512a23 sw t0,20(sp)
+800000d8: 00612c23 sw t1,24(sp)
+800000dc: 00712e23 sw t2,28(sp)
+800000e0: 02812023 sw s0,32(sp)
+800000e4: 02912223 sw s1,36(sp)
+800000e8: 02a12423 sw a0,40(sp)
+800000ec: 02b12623 sw a1,44(sp)
+800000f0: 02c12823 sw a2,48(sp)
+800000f4: 02d12a23 sw a3,52(sp)
+800000f8: 02e12c23 sw a4,56(sp)
+800000fc: 02f12e23 sw a5,60(sp)
+80000100: 05012023 sw a6,64(sp)
+80000104: 05112223 sw a7,68(sp)
+80000108: 05212423 sw s2,72(sp)
+8000010c: 05312623 sw s3,76(sp)
+80000110: 05412823 sw s4,80(sp)
+80000114: 05512a23 sw s5,84(sp)
+80000118: 05612c23 sw s6,88(sp)
+8000011c: 05712e23 sw s7,92(sp)
+80000120: 07812023 sw s8,96(sp)
+80000124: 07912223 sw s9,100(sp)
+80000128: 07a12423 sw s10,104(sp)
+8000012c: 07b12623 sw s11,108(sp)
+80000130: 07c12823 sw t3,112(sp)
+80000134: 07d12a23 sw t4,116(sp)
+80000138: 07e12c23 sw t5,120(sp)
+8000013c: 07f12e23 sw t6,124(sp)
+80000140: 140112f3 csrrw t0,sscratch,sp
+80000144: 00512423 sw t0,8(sp)
+80000148: 100022f3 csrr t0,sstatus
+8000014c: 08512023 sw t0,128(sp)
+80000150: 141022f3 csrr t0,sepc
+80000154: 08512223 sw t0,132(sp)
+80000158: 143022f3 csrr t0,stval
+8000015c: 08512423 sw t0,136(sp)
+80000160: 142022f3 csrr t0,scause
+80000164: 08512623 sw t0,140(sp)
+80000168: 00010513 mv a0,sp
+8000016c: 50c0206f j 80002678 <handle_trap>
+
+Disassembly of section .text:
+
+80002000 <memcpy>:
+80002000: 00c5e7b3 or a5,a1,a2
+80002004: 00f567b3 or a5,a0,a5
+80002008: 0037f793 andi a5,a5,3
+8000200c: 00c506b3 add a3,a0,a2
+80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+80002014: 00c58633 add a2,a1,a2
+80002018: 00050793 mv a5,a0
+8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+80002020: 00158593 addi a1,a1,1
+80002024: fff5c703 lbu a4,-1(a1)
+80002028: 00178793 addi a5,a5,1
+8000202c: fee78fa3 sb a4,-1(a5)
+80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+80002034: 00008067 ret
+80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+8000203c: 00050793 mv a5,a0
+80002040: 00458593 addi a1,a1,4
+80002044: ffc5a703 lw a4,-4(a1)
+80002048: 00478793 addi a5,a5,4
+8000204c: fee7ae23 sw a4,-4(a5)
+80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+80002054: 00008067 ret
+80002058: 00008067 ret
+
+8000205c <memset>:
+8000205c: 00c567b3 or a5,a0,a2
+80002060: 0037f793 andi a5,a5,3
+80002064: 00c50633 add a2,a0,a2
+80002068: 02078063 beqz a5,80002088 <memset+0x2c>
+8000206c: 0ff5f593 andi a1,a1,255
+80002070: 00050793 mv a5,a0
+80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58>
+80002078: 00178793 addi a5,a5,1
+8000207c: feb78fa3 sb a1,-1(a5)
+80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+80002084: 00008067 ret
+80002088: 0ff5f593 andi a1,a1,255
+8000208c: 00859793 slli a5,a1,0x8
+80002090: 00b7e7b3 or a5,a5,a1
+80002094: 01079593 slli a1,a5,0x10
+80002098: 00f5e5b3 or a1,a1,a5
+8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28>
+800020a0: 00050793 mv a5,a0
+800020a4: 00478793 addi a5,a5,4
+800020a8: feb7ae23 sw a1,-4(a5)
+800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48>
+800020b0: 00008067 ret
+800020b4: 00008067 ret
+
+800020b8 <strlen>:
+800020b8: 00054783 lbu a5,0(a0)
+800020bc: 00050713 mv a4,a0
+800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20>
+800020c4: 00150513 addi a0,a0,1
+800020c8: 00054783 lbu a5,0(a0)
+800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc>
+800020d0: 40e50533 sub a0,a0,a4
+800020d4: 00008067 ret
+800020d8: 00000513 li a0,0
+800020dc: 00008067 ret
+
+800020e0 <strcmp>:
+800020e0: 00150513 addi a0,a0,1
+800020e4: fff54783 lbu a5,-1(a0)
+800020e8: 00158593 addi a1,a1,1
+800020ec: fff5c703 lbu a4,-1(a1)
+800020f0: 00078863 beqz a5,80002100 <strcmp+0x20>
+800020f4: fee786e3 beq a5,a4,800020e0 <strcmp>
+800020f8: 40e78533 sub a0,a5,a4
+800020fc: 00008067 ret
+80002100: 00000793 li a5,0
+80002104: ff5ff06f j 800020f8 <strcmp+0x18>
+
+80002108 <memcmp>:
+80002108: 00b567b3 or a5,a0,a1
+8000210c: 0037f793 andi a5,a5,3
+80002110: 04079263 bnez a5,80002154 <memcmp+0x4c>
+80002114: ffc67693 andi a3,a2,-4
+80002118: 00d506b3 add a3,a0,a3
+8000211c: 00050813 mv a6,a0
+80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c>
+80002124: 00052703 lw a4,0(a0)
+80002128: 0005a783 lw a5,0(a1)
+8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38>
+80002130: 0240006f j 80002154 <memcmp+0x4c>
+80002134: 00052703 lw a4,0(a0)
+80002138: 0005a783 lw a5,0(a1)
+8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44>
+80002140: 00450513 addi a0,a0,4
+80002144: 00458593 addi a1,a1,4
+80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c>
+8000214c: 41050833 sub a6,a0,a6
+80002150: 41060633 sub a2,a2,a6
+80002154: 00c58633 add a2,a1,a2
+80002158: 0140006f j 8000216c <memcmp+0x64>
+8000215c: 00158593 addi a1,a1,1
+80002160: fff54783 lbu a5,-1(a0)
+80002164: fff5c703 lbu a4,-1(a1)
+80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74>
+8000216c: 00150513 addi a0,a0,1
+80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54>
+80002174: 00000513 li a0,0
+80002178: 00008067 ret
+8000217c: 40e78533 sub a0,a5,a4
+80002180: 00008067 ret
+
+80002184 <strcpy>:
+80002184: 00050793 mv a5,a0
+80002188: 00158593 addi a1,a1,1
+8000218c: fff5c703 lbu a4,-1(a1)
+80002190: 00178793 addi a5,a5,1
+80002194: fee78fa3 sb a4,-1(a5)
+80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4>
+8000219c: 00008067 ret
+
+800021a0 <atol>:
+800021a0: 00054783 lbu a5,0(a0)
+800021a4: 02000713 li a4,32
+800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18>
+800021ac: 00150513 addi a0,a0,1
+800021b0: 00054783 lbu a5,0(a0)
+800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc>
+800021b8: fd578713 addi a4,a5,-43
+800021bc: 0fd77713 andi a4,a4,253
+800021c0: 04070263 beqz a4,80002204 <atol+0x64>
+800021c4: 00054683 lbu a3,0(a0)
+800021c8: 00050793 mv a5,a0
+800021cc: 00000613 li a2,0
+800021d0: 04068863 beqz a3,80002220 <atol+0x80>
+800021d4: 00000513 li a0,0
+800021d8: 00178793 addi a5,a5,1
+800021dc: fd068593 addi a1,a3,-48
+800021e0: 00251713 slli a4,a0,0x2
+800021e4: 0007c683 lbu a3,0(a5)
+800021e8: 00a70533 add a0,a4,a0
+800021ec: 00151513 slli a0,a0,0x1
+800021f0: 00a58533 add a0,a1,a0
+800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38>
+800021f8: 00060463 beqz a2,80002200 <atol+0x60>
+800021fc: 40a00533 neg a0,a0
+80002200: 00008067 ret
+80002204: 00154683 lbu a3,1(a0)
+80002208: fd378793 addi a5,a5,-45
+8000220c: 0017b613 seqz a2,a5
+80002210: 00150793 addi a5,a0,1
+80002214: fc0690e3 bnez a3,800021d4 <atol+0x34>
+80002218: 00000513 li a0,0
+8000221c: fddff06f j 800021f8 <atol+0x58>
+80002220: 00000513 li a0,0
+80002224: 00008067 ret
+
+80002228 <terminate>:
+80002228: fffff697 auipc a3,0xfffff
+8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost>
+80002230: 0006a703 lw a4,0(a3)
+80002234: 0046a783 lw a5,4(a3)
+80002238: 00050813 mv a6,a0
+8000223c: 41f55893 srai a7,a0,0x1f
+80002240: 00f76733 or a4,a4,a5
+80002244: 02070663 beqz a4,80002270 <terminate+0x48>
+80002248: fffff617 auipc a2,0xfffff
+8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost>
+80002250: 00000713 li a4,0
+80002254: 00e62023 sw a4,0(a2)
+80002258: 00000793 li a5,0
+8000225c: 00f62223 sw a5,4(a2)
+80002260: 0006a703 lw a4,0(a3)
+80002264: 0046a783 lw a5,4(a3)
+80002268: 00f76733 or a4,a4,a5
+8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28>
+80002270: 0106a023 sw a6,0(a3)
+80002274: 0116a223 sw a7,4(a3)
+80002278: 0000006f j 80002278 <terminate+0x50>
+
+8000227c <wtf>:
+8000227c: ff010113 addi sp,sp,-16
+80002280: 34900513 li a0,841
+80002284: 00112623 sw ra,12(sp)
+80002288: fa1ff0ef jal ra,80002228 <terminate>
+
+8000228c <printhex>:
+8000228c: fe010113 addi sp,sp,-32
+80002290: 01b10793 addi a5,sp,27
+80002294: 00b10e93 addi t4,sp,11
+80002298: 00900e13 li t3,9
+8000229c: 00f57693 andi a3,a0,15
+800022a0: 01c59313 slli t1,a1,0x1c
+800022a4: 00455513 srli a0,a0,0x4
+800022a8: 05700613 li a2,87
+800022ac: 0ff6f713 andi a4,a3,255
+800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c>
+800022b4: 03000613 li a2,48
+800022b8: 00c70733 add a4,a4,a2
+800022bc: 00e78023 sb a4,0(a5)
+800022c0: fff78793 addi a5,a5,-1
+800022c4: 00a36533 or a0,t1,a0
+800022c8: 0045d593 srli a1,a1,0x4
+800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10>
+800022d0: 00c14583 lbu a1,12(sp)
+800022d4: 00010e23 sb zero,28(sp)
+800022d8: 06058263 beqz a1,8000233c <printhex+0xb0>
+800022dc: 00c10513 addi a0,sp,12
+800022e0: fffff697 auipc a3,0xfffff
+800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost>
+800022e8: fffff617 auipc a2,0xfffff
+800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost>
+800022f0: 0006a703 lw a4,0(a3)
+800022f4: 0046a783 lw a5,4(a3)
+800022f8: 00058813 mv a6,a1
+800022fc: 00150513 addi a0,a0,1
+80002300: 00f76733 or a4,a4,a5
+80002304: 010108b7 lui a7,0x1010
+80002308: 02070263 beqz a4,8000232c <printhex+0xa0>
+8000230c: 00000713 li a4,0
+80002310: 00e62023 sw a4,0(a2)
+80002314: 00000793 li a5,0
+80002318: 00f62223 sw a5,4(a2)
+8000231c: 0006a703 lw a4,0(a3)
+80002320: 0046a783 lw a5,4(a3)
+80002324: 00f76733 or a4,a4,a5
+80002328: fe0712e3 bnez a4,8000230c <printhex+0x80>
+8000232c: 00054583 lbu a1,0(a0)
+80002330: 0106a023 sw a6,0(a3)
+80002334: 0116a223 sw a7,4(a3)
+80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64>
+8000233c: 02010113 addi sp,sp,32
+80002340: 00008067 ret
+
+80002344 <handle_fault>:
+80002344: ff010113 addi sp,sp,-16
+80002348: fffff6b7 lui a3,0xfffff
+8000234c: 00112623 sw ra,12(sp)
+80002350: 00812423 sw s0,8(sp)
+80002354: 00912223 sw s1,4(sp)
+80002358: 00d50733 add a4,a0,a3
+8000235c: 0003e7b7 lui a5,0x3e
+80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180>
+80002364: 00c55613 srli a2,a0,0xc
+80002368: 40060e13 addi t3,a2,1024
+8000236c: 00003317 auipc t1,0x3
+80002370: c9430313 addi t1,t1,-876 # 80005000 <pt>
+80002374: 002e1793 slli a5,t3,0x2
+80002378: 00f307b3 add a5,t1,a5
+8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000>
+80002380: 00d57533 and a0,a0,a3
+80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130>
+80002388: 00005797 auipc a5,0x5
+8000238c: 06c78793 addi a5,a5,108 # 800073f4 <freelist_head>
+80002390: 0007a583 lw a1,0(a5)
+80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0>
+80002398: 0045a783 lw a5,4(a1)
+8000239c: 00005717 auipc a4,0x5
+800023a0: 05470713 addi a4,a4,84 # 800073f0 <freelist_tail>
+800023a4: 00072703 lw a4,0(a4)
+800023a8: 00005697 auipc a3,0x5
+800023ac: 04f6a623 sw a5,76(a3) # 800073f4 <freelist_head>
+800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174>
+800023b4: 0005a703 lw a4,0(a1)
+800023b8: 002e1793 slli a5,t3,0x2
+800023bc: 00f307b3 add a5,t1,a5
+800023c0: 00c75713 srli a4,a4,0xc
+800023c4: 00a71713 slli a4,a4,0xa
+800023c8: 0df76e93 ori t4,a4,223
+800023cc: 01f76693 ori a3,a4,31
+800023d0: 01d7a023 sw t4,0(a5)
+800023d4: 12050073 sfence.vma a0
+800023d8: 00005717 auipc a4,0x5
+800023dc: e2070713 addi a4,a4,-480 # 800071f8 <user_mapping>
+800023e0: 00361793 slli a5,a2,0x3
+800023e4: 00f707b3 add a5,a4,a5
+800023e8: 0007a703 lw a4,0(a5)
+800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c>
+800023f0: 0005a703 lw a4,0(a1)
+800023f4: 00e7a023 sw a4,0(a5)
+800023f8: 0045a703 lw a4,4(a1)
+800023fc: 00e7a223 sw a4,4(a5)
+80002400: 000407b7 lui a5,0x40
+80002404: 1007a5f3 csrrs a1,sstatus,a5
+80002408: ffc007b7 lui a5,0xffc00
+8000240c: 00f507b3 add a5,a0,a5
+80002410: 00001637 lui a2,0x1
+80002414: 00050713 mv a4,a0
+80002418: 00c78633 add a2,a5,a2
+8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf8c08>
+80002420: 0047ae83 lw t4,4(a5)
+80002424: 0087a883 lw a7,8(a5)
+80002428: 00c7a803 lw a6,12(a5)
+8000242c: 01e72023 sw t5,0(a4)
+80002430: 01d72223 sw t4,4(a4)
+80002434: 01172423 sw a7,8(a4)
+80002438: 01072623 sw a6,12(a4)
+8000243c: 01078793 addi a5,a5,16
+80002440: 01070713 addi a4,a4,16
+80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8>
+80002448: 10059073 csrw sstatus,a1
+8000244c: 002e1e13 slli t3,t3,0x2
+80002450: 01c30333 add t1,t1,t3
+80002454: 00d32023 sw a3,0(t1)
+80002458: 12050073 sfence.vma a0
+8000245c: 0000100f fence.i
+80002460: 00c12083 lw ra,12(sp)
+80002464: 00812403 lw s0,8(sp)
+80002468: 00412483 lw s1,4(sp)
+8000246c: 01010113 addi sp,sp,16
+80002470: 00008067 ret
+80002474: 04077693 andi a3,a4,64
+80002478: 02069263 bnez a3,8000249c <handle_fault+0x158>
+8000247c: 04076713 ori a4,a4,64
+80002480: 00e7a023 sw a4,0(a5)
+80002484: 12050073 sfence.vma a0
+80002488: 00c12083 lw ra,12(sp)
+8000248c: 00812403 lw s0,8(sp)
+80002490: 00412483 lw s1,4(sp)
+80002494: 01010113 addi sp,sp,16
+80002498: 00008067 ret
+8000249c: 08077693 andi a3,a4,128
+800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8>
+800024a4: 00f00693 li a3,15
+800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8>
+800024ac: 08076713 ori a4,a4,128
+800024b0: 00e7a023 sw a4,0(a5)
+800024b4: fd1ff06f j 80002484 <handle_fault+0x140>
+800024b8: 00005797 auipc a5,0x5
+800024bc: f207ac23 sw zero,-200(a5) # 800073f0 <freelist_tail>
+800024c0: ef5ff06f j 800023b4 <handle_fault+0x70>
+800024c4: 04100513 li a0,65
+800024c8: 00001597 auipc a1,0x1
+800024cc: b2858593 addi a1,a1,-1240 # 80002ff0 <pass+0xc>
+800024d0: fffff697 auipc a3,0xfffff
+800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost>
+800024d8: fffff617 auipc a2,0xfffff
+800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost>
+800024e0: 0006a703 lw a4,0(a3)
+800024e4: 0046a783 lw a5,4(a3)
+800024e8: 00050313 mv t1,a0
+800024ec: 00158593 addi a1,a1,1
+800024f0: 00f76733 or a4,a4,a5
+800024f4: 010103b7 lui t2,0x1010
+800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8>
+800024fc: 00000793 li a5,0
+80002500: 00f62023 sw a5,0(a2)
+80002504: 00000813 li a6,0
+80002508: 01062223 sw a6,4(a2)
+8000250c: 0006a703 lw a4,0(a3)
+80002510: 0046a783 lw a5,4(a3)
+80002514: 00f76733 or a4,a4,a5
+80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8>
+8000251c: 0005c503 lbu a0,0(a1)
+80002520: 0066a023 sw t1,0(a3)
+80002524: 0076a223 sw t2,4(a3)
+80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c>
+8000252c: 00300513 li a0,3
+80002530: cf9ff0ef jal ra,80002228 <terminate>
+80002534: 04100513 li a0,65
+80002538: 00001597 auipc a1,0x1
+8000253c: b4458593 addi a1,a1,-1212 # 8000307c <pass+0x98>
+80002540: fffff697 auipc a3,0xfffff
+80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost>
+80002548: fffff617 auipc a2,0xfffff
+8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost>
+80002550: 0006a703 lw a4,0(a3)
+80002554: 0046a783 lw a5,4(a3)
+80002558: 00050f13 mv t5,a0
+8000255c: 00158593 addi a1,a1,1
+80002560: 00f76733 or a4,a4,a5
+80002564: 01010fb7 lui t6,0x1010
+80002568: 02070263 beqz a4,8000258c <handle_fault+0x248>
+8000256c: 00000793 li a5,0
+80002570: 00f62023 sw a5,0(a2)
+80002574: 00000813 li a6,0
+80002578: 01062223 sw a6,4(a2)
+8000257c: 0006a703 lw a4,0(a3)
+80002580: 0046a783 lw a5,4(a3)
+80002584: 00f76733 or a4,a4,a5
+80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228>
+8000258c: 0005c503 lbu a0,0(a1)
+80002590: 01e6a023 sw t5,0(a3)
+80002594: 01f6a223 sw t6,4(a3)
+80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c>
+8000259c: f91ff06f j 8000252c <handle_fault+0x1e8>
+800025a0: 04100513 li a0,65
+800025a4: 00001597 auipc a1,0x1
+800025a8: af058593 addi a1,a1,-1296 # 80003094 <pass+0xb0>
+800025ac: fffff697 auipc a3,0xfffff
+800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost>
+800025b4: fffff617 auipc a2,0xfffff
+800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost>
+800025bc: 0006a703 lw a4,0(a3)
+800025c0: 0046a783 lw a5,4(a3)
+800025c4: 00050813 mv a6,a0
+800025c8: 00158593 addi a1,a1,1
+800025cc: 00f76733 or a4,a4,a5
+800025d0: 010108b7 lui a7,0x1010
+800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4>
+800025d8: 00000713 li a4,0
+800025dc: 00e62023 sw a4,0(a2)
+800025e0: 00000793 li a5,0
+800025e4: 00f62223 sw a5,4(a2)
+800025e8: 0006a703 lw a4,0(a3)
+800025ec: 0046a783 lw a5,4(a3)
+800025f0: 00f76733 or a4,a4,a5
+800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294>
+800025f8: 0005c503 lbu a0,0(a1)
+800025fc: 0106a023 sw a6,0(a3)
+80002600: 0116a223 sw a7,4(a3)
+80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278>
+80002608: f25ff06f j 8000252c <handle_fault+0x1e8>
+8000260c: 04100793 li a5,65
+80002610: 00001597 auipc a1,0x1
+80002614: a2458593 addi a1,a1,-1500 # 80003034 <pass+0x50>
+80002618: fffff697 auipc a3,0xfffff
+8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost>
+80002620: fffff617 auipc a2,0xfffff
+80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost>
+80002628: 0006a803 lw a6,0(a3)
+8000262c: 0046a883 lw a7,4(a3)
+80002630: 00078413 mv s0,a5
+80002634: 00158593 addi a1,a1,1
+80002638: 01186833 or a6,a6,a7
+8000263c: 010104b7 lui s1,0x1010
+80002640: 02080263 beqz a6,80002664 <handle_fault+0x320>
+80002644: 00000793 li a5,0
+80002648: 00f62023 sw a5,0(a2)
+8000264c: 00000813 li a6,0
+80002650: 01062223 sw a6,4(a2)
+80002654: 0006a703 lw a4,0(a3)
+80002658: 0046a783 lw a5,4(a3)
+8000265c: 00f76733 or a4,a4,a5
+80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300>
+80002664: 0005c783 lbu a5,0(a1)
+80002668: 0086a023 sw s0,0(a3)
+8000266c: 0096a223 sw s1,4(a3)
+80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4>
+80002674: eb9ff06f j 8000252c <handle_fault+0x1e8>
+
+80002678 <handle_trap>:
+80002678: 08c52583 lw a1,140(a0)
+8000267c: fb010113 addi sp,sp,-80
+80002680: 03412c23 sw s4,56(sp)
+80002684: 04112623 sw ra,76(sp)
+80002688: 04812423 sw s0,72(sp)
+8000268c: 04912223 sw s1,68(sp)
+80002690: 05212023 sw s2,64(sp)
+80002694: 03312e23 sw s3,60(sp)
+80002698: 03512a23 sw s5,52(sp)
+8000269c: 03612823 sw s6,48(sp)
+800026a0: 03712623 sw s7,44(sp)
+800026a4: 03812423 sw s8,40(sp)
+800026a8: 03912223 sw s9,36(sp)
+800026ac: 03a12023 sw s10,32(sp)
+800026b0: 01b12e23 sw s11,28(sp)
+800026b4: 00800793 li a5,8
+800026b8: 00050a13 mv s4,a0
+800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0>
+800026c0: 00200793 li a5,2
+800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac>
+800026c8: ff458793 addi a5,a1,-12
+800026cc: 00100713 li a4,1
+800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64>
+800026d4: 00f00793 li a5,15
+800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294>
+800026dc: 088a2503 lw a0,136(s4)
+800026e0: c65ff0ef jal ra,80002344 <handle_fault>
+800026e4: 04812403 lw s0,72(sp)
+800026e8: 04c12083 lw ra,76(sp)
+800026ec: 04412483 lw s1,68(sp)
+800026f0: 04012903 lw s2,64(sp)
+800026f4: 03c12983 lw s3,60(sp)
+800026f8: 03412a83 lw s5,52(sp)
+800026fc: 03012b03 lw s6,48(sp)
+80002700: 02c12b83 lw s7,44(sp)
+80002704: 02812c03 lw s8,40(sp)
+80002708: 02412c83 lw s9,36(sp)
+8000270c: 02012d03 lw s10,32(sp)
+80002710: 01c12d83 lw s11,28(sp)
+80002714: 000a0513 mv a0,s4
+80002718: 03812a03 lw s4,56(sp)
+8000271c: 05010113 addi sp,sp,80
+80002720: 91dfd06f j 8000003c <pop_tf>
+80002724: 08452703 lw a4,132(a0)
+80002728: 00377793 andi a5,a4,3
+8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144>
+80002730: 008007ef jal a5,80002738 <handle_trap+0xc0>
+80002734: 00301073 fssr zero
+80002738: 00072703 lw a4,0(a4)
+8000273c: 0007a783 lw a5,0(a5)
+80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c>
+80002744: 04100513 li a0,65
+80002748: 00001597 auipc a1,0x1
+8000274c: a1458593 addi a1,a1,-1516 # 8000315c <pass+0x178>
+80002750: fffff697 auipc a3,0xfffff
+80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost>
+80002758: fffff617 auipc a2,0xfffff
+8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost>
+80002760: 0006a703 lw a4,0(a3)
+80002764: 0046a783 lw a5,4(a3)
+80002768: 00050813 mv a6,a0
+8000276c: 00158593 addi a1,a1,1
+80002770: 00f76733 or a4,a4,a5
+80002774: 010108b7 lui a7,0x1010
+80002778: 02070263 beqz a4,8000279c <handle_trap+0x124>
+8000277c: 00000713 li a4,0
+80002780: 00e62023 sw a4,0(a2)
+80002784: 00000793 li a5,0
+80002788: 00f62223 sw a5,4(a2)
+8000278c: 0006a703 lw a4,0(a3)
+80002790: 0046a783 lw a5,4(a3)
+80002794: 00f76733 or a4,a4,a5
+80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104>
+8000279c: 0005c503 lbu a0,0(a1)
+800027a0: 0106a023 sw a6,0(a3)
+800027a4: 0116a223 sw a7,4(a3)
+800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8>
+800027ac: 00300513 li a0,3
+800027b0: a79ff0ef jal ra,80002228 <terminate>
+800027b4: 00100513 li a0,1
+800027b8: a71ff0ef jal ra,80002228 <terminate>
+800027bc: 00001597 auipc a1,0x1
+800027c0: 97c58593 addi a1,a1,-1668 # 80003138 <pass+0x154>
+800027c4: 04100613 li a2,65
+800027c8: fffff697 auipc a3,0xfffff
+800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost>
+800027d0: fffff517 auipc a0,0xfffff
+800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost>
+800027d8: 0006a703 lw a4,0(a3)
+800027dc: 0046a783 lw a5,4(a3)
+800027e0: 00060e13 mv t3,a2
+800027e4: 00158593 addi a1,a1,1
+800027e8: 00f76733 or a4,a4,a5
+800027ec: 01010eb7 lui t4,0x1010
+800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c>
+800027f4: 00000793 li a5,0
+800027f8: 00f52023 sw a5,0(a0)
+800027fc: 00000813 li a6,0
+80002800: 01052223 sw a6,4(a0)
+80002804: 0006a703 lw a4,0(a3)
+80002808: 0046a783 lw a5,4(a3)
+8000280c: 00f76733 or a4,a4,a5
+80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c>
+80002814: 0005c603 lbu a2,0(a1)
+80002818: 01c6a023 sw t3,0(a3)
+8000281c: 01d6a223 sw t4,4(a3)
+80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160>
+80002824: f89ff06f j 800027ac <handle_trap+0x134>
+80002828: 02852783 lw a5,40(a0)
+8000282c: 00001a37 lui s4,0x1
+80002830: 00005b17 auipc s6,0x5
+80002834: 9c8b0b13 addi s6,s6,-1592 # 800071f8 <user_mapping>
+80002838: 00f12223 sw a5,4(sp)
+8000283c: 00002d17 auipc s10,0x2
+80002840: 7c4d0d13 addi s10,s10,1988 # 80005000 <pt>
+80002844: 00040cb7 lui s9,0x40
+80002848: ffc00c37 lui s8,0xffc00
+8000284c: 0003fab7 lui s5,0x3f
+80002850: 01c0006f j 8000286c <handle_trap+0x1f4>
+80002854: 00f72223 sw a5,4(a4)
+80002858: 00005717 auipc a4,0x5
+8000285c: b8f72c23 sw a5,-1128(a4) # 800073f0 <freelist_tail>
+80002860: 000017b7 lui a5,0x1
+80002864: 00fa0a33 add s4,s4,a5
+80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398>
+8000286c: 00ca5713 srli a4,s4,0xc
+80002870: 00371b93 slli s7,a4,0x3
+80002874: 017b0633 add a2,s6,s7
+80002878: 00062603 lw a2,0(a2)
+8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8>
+80002880: 40070713 addi a4,a4,1024
+80002884: 00271713 slli a4,a4,0x2
+80002888: 00ed0733 add a4,s10,a4
+8000288c: 00072703 lw a4,0(a4)
+80002890: 04077613 andi a2,a4,64
+80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c>
+80002898: 00e12623 sw a4,12(sp)
+8000289c: 100cadf3 csrrs s11,sstatus,s9
+800028a0: 018a0833 add a6,s4,s8
+800028a4: 00001637 lui a2,0x1
+800028a8: 00080593 mv a1,a6
+800028ac: 000a0513 mv a0,s4
+800028b0: 01012423 sw a6,8(sp)
+800028b4: 855ff0ef jal ra,80002108 <memcmp>
+800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264>
+800028bc: 00c12703 lw a4,12(sp)
+800028c0: 00812803 lw a6,8(sp)
+800028c4: 08077713 andi a4,a4,128
+800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300>
+800028cc: 00001637 lui a2,0x1
+800028d0: 00080593 mv a1,a6
+800028d4: 000a0513 mv a0,s4
+800028d8: f28ff0ef jal ra,80002000 <memcpy>
+800028dc: 017b07b3 add a5,s6,s7
+800028e0: 100d9073 csrw sstatus,s11
+800028e4: 00005717 auipc a4,0x5
+800028e8: b0c70713 addi a4,a4,-1268 # 800073f0 <freelist_tail>
+800028ec: 00072703 lw a4,0(a4)
+800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000>
+800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc>
+800028f8: 00005717 auipc a4,0x5
+800028fc: aef72c23 sw a5,-1288(a4) # 800073f0 <freelist_tail>
+80002900: 00005717 auipc a4,0x5
+80002904: aef72a23 sw a5,-1292(a4) # 800073f4 <freelist_head>
+80002908: f59ff06f j 80002860 <handle_trap+0x1e8>
+8000290c: 04100593 li a1,65
+80002910: 00001617 auipc a2,0x1
+80002914: 87860613 addi a2,a2,-1928 # 80003188 <pass+0x1a4>
+80002918: ffffe697 auipc a3,0xffffe
+8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost>
+80002920: ffffe517 auipc a0,0xffffe
+80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost>
+80002928: 0006a703 lw a4,0(a3)
+8000292c: 0046a783 lw a5,4(a3)
+80002930: 00058313 mv t1,a1
+80002934: 00160613 addi a2,a2,1
+80002938: 00f76733 or a4,a4,a5
+8000293c: 010103b7 lui t2,0x1010
+80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec>
+80002944: 00000793 li a5,0
+80002948: 00f52023 sw a5,0(a0)
+8000294c: 00000813 li a6,0
+80002950: 01052223 sw a6,4(a0)
+80002954: 0006a703 lw a4,0(a3)
+80002958: 0046a783 lw a5,4(a3)
+8000295c: 00f76733 or a4,a4,a5
+80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc>
+80002964: 00064583 lbu a1,0(a2)
+80002968: 0066a023 sw t1,0(a3)
+8000296c: 0076a223 sw t2,4(a3)
+80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0>
+80002974: e39ff06f j 800027ac <handle_trap+0x134>
+80002978: 04100793 li a5,65
+8000297c: 00000617 auipc a2,0x0
+80002980: 78860613 addi a2,a2,1928 # 80003104 <pass+0x120>
+80002984: ffffe697 auipc a3,0xffffe
+80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost>
+8000298c: ffffe597 auipc a1,0xffffe
+80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost>
+80002994: 00078413 mv s0,a5
+80002998: 00160613 addi a2,a2,1
+8000299c: 010104b7 lui s1,0x1010
+800029a0: 0006a703 lw a4,0(a3)
+800029a4: 0046a783 lw a5,4(a3)
+800029a8: 00f76733 or a4,a4,a5
+800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0>
+800029b0: 00000793 li a5,0
+800029b4: 00000813 li a6,0
+800029b8: 00f5a023 sw a5,0(a1)
+800029bc: 0105a223 sw a6,4(a1)
+800029c0: fe1ff06f j 800029a0 <handle_trap+0x328>
+800029c4: 04100793 li a5,65
+800029c8: 00000617 auipc a2,0x0
+800029cc: 70860613 addi a2,a2,1800 # 800030d0 <pass+0xec>
+800029d0: ffffe697 auipc a3,0xffffe
+800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost>
+800029d8: ffffe597 auipc a1,0xffffe
+800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost>
+800029e0: 00078913 mv s2,a5
+800029e4: 00160613 addi a2,a2,1
+800029e8: 010109b7 lui s3,0x1010
+800029ec: 0006a703 lw a4,0(a3)
+800029f0: 0046a783 lw a5,4(a3)
+800029f4: 00f76733 or a4,a4,a5
+800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4>
+800029fc: 00000793 li a5,0
+80002a00: 00000813 li a6,0
+80002a04: 00f5a023 sw a5,0(a1)
+80002a08: 0105a223 sw a6,4(a1)
+80002a0c: fe1ff06f j 800029ec <handle_trap+0x374>
+80002a10: 00412503 lw a0,4(sp)
+80002a14: 815ff0ef jal ra,80002228 <terminate>
+80002a18: 00064783 lbu a5,0(a2)
+80002a1c: 0086a023 sw s0,0(a3)
+80002a20: 0096a223 sw s1,4(a3)
+80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c>
+80002a28: d85ff06f j 800027ac <handle_trap+0x134>
+80002a2c: 00064783 lbu a5,0(a2)
+80002a30: 0126a023 sw s2,0(a3)
+80002a34: 0136a223 sw s3,4(a3)
+80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368>
+80002a3c: d71ff06f j 800027ac <handle_trap+0x134>
+
+80002a40 <vm_boot>:
+80002a40: f14027f3 csrr a5,mhartid
+80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158>
+80002a48: 00003797 auipc a5,0x3
+80002a4c: 5b878793 addi a5,a5,1464 # 80006000 <pt+0x1000>
+80002a50: 00c7d793 srli a5,a5,0xc
+80002a54: 00a79793 slli a5,a5,0xa
+80002a58: 0017e793 ori a5,a5,1
+80002a5c: 00002697 auipc a3,0x2
+80002a60: 5af6a223 sw a5,1444(a3) # 80005000 <pt>
+80002a64: 200007b7 lui a5,0x20000
+80002a68: 00002717 auipc a4,0x2
+80002a6c: 59870713 addi a4,a4,1432 # 80005000 <pt>
+80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31>
+80002a74: f6010113 addi sp,sp,-160
+80002a78: 00003697 auipc a3,0x3
+80002a7c: 58f6a223 sw a5,1412(a3) # 80005ffc <pt+0xffc>
+80002a80: 00c75793 srli a5,a4,0xc
+80002a84: 80000737 lui a4,0x80000
+80002a88: 08112e23 sw ra,156(sp)
+80002a8c: 08812c23 sw s0,152(sp)
+80002a90: 00e7e7b3 or a5,a5,a4
+80002a94: 18079073 csrw satp,a5
+80002a98: 01f00793 li a5,31
+80002a9c: fff00713 li a4,-1
+80002aa0: 00000297 auipc t0,0x0
+80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74>
+80002aa8: 305292f3 csrrw t0,mtvec,t0
+80002aac: 3b071073 csrw pmpaddr0,a4
+80002ab0: 3a079073 csrw pmpcfg0,a5
+80002ab4: 7fbfd797 auipc a5,0x7fbfd
+80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf8ccc>
+80002abc: 10579073 csrw stvec,a5
+80002ac0: 340027f3 csrr a5,mscratch
+80002ac4: 7fc00837 lui a6,0x7fc00
+80002ac8: 010787b3 add a5,a5,a6
+80002acc: 14079073 csrw sscratch,a5
+80002ad0: 0000b7b7 lui a5,0xb
+80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00>
+80002ad8: 30279073 csrw medeleg,a5
+80002adc: 0001e7b7 lui a5,0x1e
+80002ae0: 30079073 csrw mstatus,a5
+80002ae4: 30405073 csrwi mie,0
+80002ae8: 7fc04797 auipc a5,0x7fc04
+80002aec: 51878793 addi a5,a5,1304 # ffc07000 <_end+0x7fbffc08>
+80002af0: 00005717 auipc a4,0x5
+80002af4: 90f72223 sw a5,-1788(a4) # 800073f4 <freelist_head>
+80002af8: 7fc04797 auipc a5,0x7fc04
+80002afc: 6f878793 addi a5,a5,1784 # ffc071f0 <_end+0x7fbffdf8>
+80002b00: 00005717 auipc a4,0x5
+80002b04: 8ef72823 sw a5,-1808(a4) # 800073f0 <freelist_tail>
+80002b08: 000808b7 lui a7,0x80
+80002b0c: 00004717 auipc a4,0x4
+80002b10: 4f470713 addi a4,a4,1268 # 80007000 <freelist_nodes>
+80002b14: 00004317 auipc t1,0x4
+80002b18: 6e430313 addi t1,t1,1764 # 800071f8 <user_mapping>
+80002b1c: 03200793 li a5,50
+80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1>
+80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8>
+80002b28: 0017d613 srli a2,a5,0x1
+80002b2c: 011786b3 add a3,a5,a7
+80002b30: 00f647b3 xor a5,a2,a5
+80002b34: 010705b3 add a1,a4,a6
+80002b38: 00c69693 slli a3,a3,0xc
+80002b3c: 00579793 slli a5,a5,0x5
+80002b40: 00d72023 sw a3,0(a4)
+80002b44: 00b72223 sw a1,4(a4)
+80002b48: 0207f793 andi a5,a5,32
+80002b4c: 00870713 addi a4,a4,8
+80002b50: 00f667b3 or a5,a2,a5
+80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8>
+80002b58: 00050413 mv s0,a0
+80002b5c: 09000613 li a2,144
+80002b60: 00000593 li a1,0
+80002b64: 00010513 mv a0,sp
+80002b68: 00004797 auipc a5,0x4
+80002b6c: 6807a623 sw zero,1676(a5) # 800071f4 <freelist_nodes+0x1f4>
+80002b70: cecff0ef jal ra,8000205c <memset>
+80002b74: 800007b7 lui a5,0x80000
+80002b78: 00f40433 add s0,s0,a5
+80002b7c: 00010513 mv a0,sp
+80002b80: 08812223 sw s0,132(sp)
+80002b84: cb8fd0ef jal ra,8000003c <pop_tf>
+80002b88: 09c12083 lw ra,156(sp)
+80002b8c: 09812403 lw s0,152(sp)
+80002b90: 0a010113 addi sp,sp,160
+80002b94: 00008067 ret
+80002b98: 020b57b7 lui a5,0x20b5
+80002b9c: 00080637 lui a2,0x80
+80002ba0: 26e78793 addi a5,a5,622 # 20b526e <_start-0x7df4ad92>
+80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004>
+80002ba8: 800005b7 lui a1,0x80000
+80002bac: 00c7f733 and a4,a5,a2
+80002bb0: 0017f693 andi a3,a5,1
+80002bb4: 00b70733 add a4,a4,a1
+80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194>
+80002bbc: 0007202f amoadd.w zero,zero,(a4)
+80002bc0: 0017d793 srli a5,a5,0x1
+80002bc4: 00c7f733 and a4,a5,a2
+80002bc8: 0017f693 andi a3,a5,1
+80002bcc: 00b70733 add a4,a4,a1
+80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c>
+80002bd4: 00072003 lw zero,0(a4)
+80002bd8: 0017d793 srli a5,a5,0x1
+80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184>
+
+80002be0 <userstart>:
+80002be0: 00301073 fssr zero
+
+80002be4 <test_2>:
+80002be4: 00200193 li gp,2
+80002be8: 00001517 auipc a0,0x1
+80002bec: 41850513 addi a0,a0,1048 # 80004000 <test_2_data>
+80002bf0: 00052007 flw ft0,0(a0)
+80002bf4: 00452087 flw ft1,4(a0)
+80002bf8: 00852107 flw ft2,8(a0)
+80002bfc: 00c52683 lw a3,12(a0)
+80002c00: c0001553 fcvt.w.s a0,ft0,rtz
+80002c04: 001015f3 fsflags a1,zero
+80002c08: 00100613 li a2,1
+80002c0c: 3cd51463 bne a0,a3,80002fd4 <fail>
+80002c10: 3cc59263 bne a1,a2,80002fd4 <fail>
+
+80002c14 <test_3>:
+80002c14: 00300193 li gp,3
+80002c18: 00001517 auipc a0,0x1
+80002c1c: 3f850513 addi a0,a0,1016 # 80004010 <test_3_data>
+80002c20: 00052007 flw ft0,0(a0)
+80002c24: 00452087 flw ft1,4(a0)
+80002c28: 00852107 flw ft2,8(a0)
+80002c2c: 00c52683 lw a3,12(a0)
+80002c30: c0001553 fcvt.w.s a0,ft0,rtz
+80002c34: 001015f3 fsflags a1,zero
+80002c38: 00000613 li a2,0
+80002c3c: 38d51c63 bne a0,a3,80002fd4 <fail>
+80002c40: 38c59a63 bne a1,a2,80002fd4 <fail>
+
+80002c44 <test_4>:
+80002c44: 00400193 li gp,4
+80002c48: 00001517 auipc a0,0x1
+80002c4c: 3d850513 addi a0,a0,984 # 80004020 <test_4_data>
+80002c50: 00052007 flw ft0,0(a0)
+80002c54: 00452087 flw ft1,4(a0)
+80002c58: 00852107 flw ft2,8(a0)
+80002c5c: 00c52683 lw a3,12(a0)
+80002c60: c0001553 fcvt.w.s a0,ft0,rtz
+80002c64: 001015f3 fsflags a1,zero
+80002c68: 00100613 li a2,1
+80002c6c: 36d51463 bne a0,a3,80002fd4 <fail>
+80002c70: 36c59263 bne a1,a2,80002fd4 <fail>
+
+80002c74 <test_5>:
+80002c74: 00500193 li gp,5
+80002c78: 00001517 auipc a0,0x1
+80002c7c: 3b850513 addi a0,a0,952 # 80004030 <test_5_data>
+80002c80: 00052007 flw ft0,0(a0)
+80002c84: 00452087 flw ft1,4(a0)
+80002c88: 00852107 flw ft2,8(a0)
+80002c8c: 00c52683 lw a3,12(a0)
+80002c90: c0001553 fcvt.w.s a0,ft0,rtz
+80002c94: 001015f3 fsflags a1,zero
+80002c98: 00100613 li a2,1
+80002c9c: 32d51c63 bne a0,a3,80002fd4 <fail>
+80002ca0: 32c59a63 bne a1,a2,80002fd4 <fail>
+
+80002ca4 <test_6>:
+80002ca4: 00600193 li gp,6
+80002ca8: 00001517 auipc a0,0x1
+80002cac: 39850513 addi a0,a0,920 # 80004040 <test_6_data>
+80002cb0: 00052007 flw ft0,0(a0)
+80002cb4: 00452087 flw ft1,4(a0)
+80002cb8: 00852107 flw ft2,8(a0)
+80002cbc: 00c52683 lw a3,12(a0)
+80002cc0: c0001553 fcvt.w.s a0,ft0,rtz
+80002cc4: 001015f3 fsflags a1,zero
+80002cc8: 00000613 li a2,0
+80002ccc: 30d51463 bne a0,a3,80002fd4 <fail>
+80002cd0: 30c59263 bne a1,a2,80002fd4 <fail>
+
+80002cd4 <test_7>:
+80002cd4: 00700193 li gp,7
+80002cd8: 00001517 auipc a0,0x1
+80002cdc: 37850513 addi a0,a0,888 # 80004050 <test_7_data>
+80002ce0: 00052007 flw ft0,0(a0)
+80002ce4: 00452087 flw ft1,4(a0)
+80002ce8: 00852107 flw ft2,8(a0)
+80002cec: 00c52683 lw a3,12(a0)
+80002cf0: c0001553 fcvt.w.s a0,ft0,rtz
+80002cf4: 001015f3 fsflags a1,zero
+80002cf8: 00100613 li a2,1
+80002cfc: 2cd51c63 bne a0,a3,80002fd4 <fail>
+80002d00: 2cc59a63 bne a1,a2,80002fd4 <fail>
+
+80002d04 <test_8>:
+80002d04: 00800193 li gp,8
+80002d08: 00001517 auipc a0,0x1
+80002d0c: 35850513 addi a0,a0,856 # 80004060 <test_8_data>
+80002d10: 00052007 flw ft0,0(a0)
+80002d14: 00452087 flw ft1,4(a0)
+80002d18: 00852107 flw ft2,8(a0)
+80002d1c: 00c52683 lw a3,12(a0)
+80002d20: c0001553 fcvt.w.s a0,ft0,rtz
+80002d24: 001015f3 fsflags a1,zero
+80002d28: 01000613 li a2,16
+80002d2c: 2ad51463 bne a0,a3,80002fd4 <fail>
+80002d30: 2ac59263 bne a1,a2,80002fd4 <fail>
+
+80002d34 <test_9>:
+80002d34: 00900193 li gp,9
+80002d38: 00001517 auipc a0,0x1
+80002d3c: 33850513 addi a0,a0,824 # 80004070 <test_9_data>
+80002d40: 00052007 flw ft0,0(a0)
+80002d44: 00452087 flw ft1,4(a0)
+80002d48: 00852107 flw ft2,8(a0)
+80002d4c: 00c52683 lw a3,12(a0)
+80002d50: c0001553 fcvt.w.s a0,ft0,rtz
+80002d54: 001015f3 fsflags a1,zero
+80002d58: 01000613 li a2,16
+80002d5c: 26d51c63 bne a0,a3,80002fd4 <fail>
+80002d60: 26c59a63 bne a1,a2,80002fd4 <fail>
+
+80002d64 <test_12>:
+80002d64: 00c00193 li gp,12
+80002d68: 00001517 auipc a0,0x1
+80002d6c: 31850513 addi a0,a0,792 # 80004080 <test_12_data>
+80002d70: 00052007 flw ft0,0(a0)
+80002d74: 00452087 flw ft1,4(a0)
+80002d78: 00852107 flw ft2,8(a0)
+80002d7c: 00c52683 lw a3,12(a0)
+80002d80: c0101553 fcvt.wu.s a0,ft0,rtz
+80002d84: 001015f3 fsflags a1,zero
+80002d88: 01000613 li a2,16
+80002d8c: 24d51463 bne a0,a3,80002fd4 <fail>
+80002d90: 24c59263 bne a1,a2,80002fd4 <fail>
+
+80002d94 <test_13>:
+80002d94: 00d00193 li gp,13
+80002d98: 00001517 auipc a0,0x1
+80002d9c: 2f850513 addi a0,a0,760 # 80004090 <test_13_data>
+80002da0: 00052007 flw ft0,0(a0)
+80002da4: 00452087 flw ft1,4(a0)
+80002da8: 00852107 flw ft2,8(a0)
+80002dac: 00c52683 lw a3,12(a0)
+80002db0: c0101553 fcvt.wu.s a0,ft0,rtz
+80002db4: 001015f3 fsflags a1,zero
+80002db8: 01000613 li a2,16
+80002dbc: 20d51c63 bne a0,a3,80002fd4 <fail>
+80002dc0: 20c59a63 bne a1,a2,80002fd4 <fail>
+
+80002dc4 <test_14>:
+80002dc4: 00e00193 li gp,14
+80002dc8: 00001517 auipc a0,0x1
+80002dcc: 2d850513 addi a0,a0,728 # 800040a0 <test_14_data>
+80002dd0: 00052007 flw ft0,0(a0)
+80002dd4: 00452087 flw ft1,4(a0)
+80002dd8: 00852107 flw ft2,8(a0)
+80002ddc: 00c52683 lw a3,12(a0)
+80002de0: c0101553 fcvt.wu.s a0,ft0,rtz
+80002de4: 001015f3 fsflags a1,zero
+80002de8: 00100613 li a2,1
+80002dec: 1ed51463 bne a0,a3,80002fd4 <fail>
+80002df0: 1ec59263 bne a1,a2,80002fd4 <fail>
+
+80002df4 <test_15>:
+80002df4: 00f00193 li gp,15
+80002df8: 00001517 auipc a0,0x1
+80002dfc: 2b850513 addi a0,a0,696 # 800040b0 <test_15_data>
+80002e00: 00052007 flw ft0,0(a0)
+80002e04: 00452087 flw ft1,4(a0)
+80002e08: 00852107 flw ft2,8(a0)
+80002e0c: 00c52683 lw a3,12(a0)
+80002e10: c0101553 fcvt.wu.s a0,ft0,rtz
+80002e14: 001015f3 fsflags a1,zero
+80002e18: 00100613 li a2,1
+80002e1c: 1ad51c63 bne a0,a3,80002fd4 <fail>
+80002e20: 1ac59a63 bne a1,a2,80002fd4 <fail>
+
+80002e24 <test_16>:
+80002e24: 01000193 li gp,16
+80002e28: 00001517 auipc a0,0x1
+80002e2c: 29850513 addi a0,a0,664 # 800040c0 <test_16_data>
+80002e30: 00052007 flw ft0,0(a0)
+80002e34: 00452087 flw ft1,4(a0)
+80002e38: 00852107 flw ft2,8(a0)
+80002e3c: 00c52683 lw a3,12(a0)
+80002e40: c0101553 fcvt.wu.s a0,ft0,rtz
+80002e44: 001015f3 fsflags a1,zero
+80002e48: 00000613 li a2,0
+80002e4c: 18d51463 bne a0,a3,80002fd4 <fail>
+80002e50: 18c59263 bne a1,a2,80002fd4 <fail>
+
+80002e54 <test_17>:
+80002e54: 01100193 li gp,17
+80002e58: 00001517 auipc a0,0x1
+80002e5c: 27850513 addi a0,a0,632 # 800040d0 <test_17_data>
+80002e60: 00052007 flw ft0,0(a0)
+80002e64: 00452087 flw ft1,4(a0)
+80002e68: 00852107 flw ft2,8(a0)
+80002e6c: 00c52683 lw a3,12(a0)
+80002e70: c0101553 fcvt.wu.s a0,ft0,rtz
+80002e74: 001015f3 fsflags a1,zero
+80002e78: 00100613 li a2,1
+80002e7c: 14d51c63 bne a0,a3,80002fd4 <fail>
+80002e80: 14c59a63 bne a1,a2,80002fd4 <fail>
+
+80002e84 <test_18>:
+80002e84: 01200193 li gp,18
+80002e88: 00001517 auipc a0,0x1
+80002e8c: 25850513 addi a0,a0,600 # 800040e0 <test_18_data>
+80002e90: 00052007 flw ft0,0(a0)
+80002e94: 00452087 flw ft1,4(a0)
+80002e98: 00852107 flw ft2,8(a0)
+80002e9c: 00c52683 lw a3,12(a0)
+80002ea0: c0101553 fcvt.wu.s a0,ft0,rtz
+80002ea4: 001015f3 fsflags a1,zero
+80002ea8: 01000613 li a2,16
+80002eac: 12d51463 bne a0,a3,80002fd4 <fail>
+80002eb0: 12c59263 bne a1,a2,80002fd4 <fail>
+
+80002eb4 <test_19>:
+80002eb4: 01300193 li gp,19
+80002eb8: 00001517 auipc a0,0x1
+80002ebc: 23850513 addi a0,a0,568 # 800040f0 <test_19_data>
+80002ec0: 00052007 flw ft0,0(a0)
+80002ec4: 00452087 flw ft1,4(a0)
+80002ec8: 00852107 flw ft2,8(a0)
+80002ecc: 00c52683 lw a3,12(a0)
+80002ed0: c0101553 fcvt.wu.s a0,ft0,rtz
+80002ed4: 001015f3 fsflags a1,zero
+80002ed8: 00000613 li a2,0
+80002edc: 0ed51c63 bne a0,a3,80002fd4 <fail>
+80002ee0: 0ec59a63 bne a1,a2,80002fd4 <fail>
+
+80002ee4 <test_42>:
+80002ee4: 00001097 auipc ra,0x1
+80002ee8: 21c08093 addi ra,ra,540 # 80004100 <begin_signature>
+80002eec: 0000a087 flw ft1,0(ra)
+80002ef0: c000f0d3 fcvt.w.s ra,ft1
+80002ef4: 80000eb7 lui t4,0x80000
+80002ef8: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffff8c07>
+80002efc: 02a00193 li gp,42
+80002f00: 0dd09a63 bne ra,t4,80002fd4 <fail>
+
+80002f04 <test_44>:
+80002f04: 00001097 auipc ra,0x1
+80002f08: 1fc08093 addi ra,ra,508 # 80004100 <begin_signature>
+80002f0c: 0080a087 flw ft1,8(ra)
+80002f10: c000f0d3 fcvt.w.s ra,ft1
+80002f14: 80000eb7 lui t4,0x80000
+80002f18: 02c00193 li gp,44
+80002f1c: 0bd09c63 bne ra,t4,80002fd4 <fail>
+
+80002f20 <test_52>:
+80002f20: 00001097 auipc ra,0x1
+80002f24: 1e008093 addi ra,ra,480 # 80004100 <begin_signature>
+80002f28: 0040a087 flw ft1,4(ra)
+80002f2c: c000f0d3 fcvt.w.s ra,ft1
+80002f30: 80000eb7 lui t4,0x80000
+80002f34: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffff8c07>
+80002f38: 03400193 li gp,52
+80002f3c: 09d09c63 bne ra,t4,80002fd4 <fail>
+
+80002f40 <test_54>:
+80002f40: 00001097 auipc ra,0x1
+80002f44: 1c008093 addi ra,ra,448 # 80004100 <begin_signature>
+80002f48: 00c0a087 flw ft1,12(ra)
+80002f4c: c000f0d3 fcvt.w.s ra,ft1
+80002f50: 80000eb7 lui t4,0x80000
+80002f54: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffff8c07>
+80002f58: 03600193 li gp,54
+80002f5c: 07d09c63 bne ra,t4,80002fd4 <fail>
+
+80002f60 <test_62>:
+80002f60: 00001097 auipc ra,0x1
+80002f64: 1a008093 addi ra,ra,416 # 80004100 <begin_signature>
+80002f68: 0000a087 flw ft1,0(ra)
+80002f6c: c010f0d3 fcvt.wu.s ra,ft1
+80002f70: fff00e93 li t4,-1
+80002f74: 03e00193 li gp,62
+80002f78: 05d09e63 bne ra,t4,80002fd4 <fail>
+
+80002f7c <test_63>:
+80002f7c: 00001097 auipc ra,0x1
+80002f80: 18408093 addi ra,ra,388 # 80004100 <begin_signature>
+80002f84: 0040a087 flw ft1,4(ra)
+80002f88: c010f0d3 fcvt.wu.s ra,ft1
+80002f8c: fff00e93 li t4,-1
+80002f90: 03f00193 li gp,63
+80002f94: 05d09063 bne ra,t4,80002fd4 <fail>
+
+80002f98 <test_64>:
+80002f98: 00001097 auipc ra,0x1
+80002f9c: 16808093 addi ra,ra,360 # 80004100 <begin_signature>
+80002fa0: 0080a087 flw ft1,8(ra)
+80002fa4: c010f0d3 fcvt.wu.s ra,ft1
+80002fa8: 00000e93 li t4,0
+80002fac: 04000193 li gp,64
+80002fb0: 03d09263 bne ra,t4,80002fd4 <fail>
+
+80002fb4 <test_65>:
+80002fb4: 00001097 auipc ra,0x1
+80002fb8: 14c08093 addi ra,ra,332 # 80004100 <begin_signature>
+80002fbc: 00c0a087 flw ft1,12(ra)
+80002fc0: c010f0d3 fcvt.wu.s ra,ft1
+80002fc4: fff00e93 li t4,-1
+80002fc8: 04100193 li gp,65
+80002fcc: 01d09463 bne ra,t4,80002fd4 <fail>
+80002fd0: 00301a63 bne zero,gp,80002fe4 <pass>
+
+80002fd4 <fail>:
+80002fd4: 00119513 slli a0,gp,0x1
+80002fd8: 00050063 beqz a0,80002fd8 <fail+0x4>
+80002fdc: 00156513 ori a0,a0,1
+80002fe0: 00000073 ecall
+
+80002fe4 <pass>:
+80002fe4: 00100513 li a0,1
+80002fe8: 00000073 ecall
+80002fec: c0001073 unimp
+
+Disassembly of section .data:
+
+80004000 <test_2_data>:
+80004000: cccd beqz s1,800040ba <test_15_data+0xa>
+80004002: bf8c fsd fa1,56(a5)
+80004004: 0000 unimp
+80004006: 0000 unimp
+80004008: 0000 unimp
+8000400a: 0000 unimp
+8000400c: ffff 0xffff
+8000400e: ffff 0xffff
+
+80004010 <test_3_data>:
+80004010: 0000 unimp
+80004012: bf80 fsd fs0,56(a5)
+80004014: 0000 unimp
+80004016: 0000 unimp
+80004018: 0000 unimp
+8000401a: 0000 unimp
+8000401c: ffff 0xffff
+8000401e: ffff 0xffff
+
+80004020 <test_4_data>:
+80004020: 6666 flw fa2,88(sp)
+80004022: bf66 fsd fs9,440(sp)
+80004024: 0000 unimp
+80004026: 0000 unimp
+80004028: 0000 unimp
+8000402a: 0000 unimp
+8000402c: 0000 unimp
+8000402e: 0000 unimp
+
+80004030 <test_5_data>:
+80004030: 6666 flw fa2,88(sp)
+80004032: 3f66 fld ft10,120(sp)
+80004034: 0000 unimp
+80004036: 0000 unimp
+80004038: 0000 unimp
+8000403a: 0000 unimp
+8000403c: 0000 unimp
+8000403e: 0000 unimp
+
+80004040 <test_6_data>:
+80004040: 0000 unimp
+80004042: 3f80 fld fs0,56(a5)
+80004044: 0000 unimp
+80004046: 0000 unimp
+80004048: 0000 unimp
+8000404a: 0000 unimp
+8000404c: 0001 nop
+8000404e: 0000 unimp
+
+80004050 <test_7_data>:
+80004050: cccd beqz s1,8000410a <begin_signature+0xa>
+80004052: 3f8c fld fa1,56(a5)
+80004054: 0000 unimp
+80004056: 0000 unimp
+80004058: 0000 unimp
+8000405a: 0000 unimp
+8000405c: 0001 nop
+8000405e: 0000 unimp
+
+80004060 <test_8_data>:
+80004060: d05e sw s7,32(sp)
+80004062: cf32 sw a2,156(sp)
+80004064: 0000 unimp
+80004066: 0000 unimp
+80004068: 0000 unimp
+8000406a: 0000 unimp
+8000406c: 0000 unimp
+8000406e: 8000 0x8000
+
+80004070 <test_9_data>:
+80004070: d05e sw s7,32(sp)
+80004072: 4f32 lw t5,12(sp)
+80004074: 0000 unimp
+80004076: 0000 unimp
+80004078: 0000 unimp
+8000407a: 0000 unimp
+8000407c: ffff 0xffff
+8000407e: 7fff 0x7fff
+
+80004080 <test_12_data>:
+80004080: 0000 unimp
+80004082: c040 sw s0,4(s0)
+80004084: 0000 unimp
+80004086: 0000 unimp
+80004088: 0000 unimp
+8000408a: 0000 unimp
+8000408c: 0000 unimp
+8000408e: 0000 unimp
+
+80004090 <test_13_data>:
+80004090: 0000 unimp
+80004092: bf80 fsd fs0,56(a5)
+80004094: 0000 unimp
+80004096: 0000 unimp
+80004098: 0000 unimp
+8000409a: 0000 unimp
+8000409c: 0000 unimp
+8000409e: 0000 unimp
+
+800040a0 <test_14_data>:
+800040a0: 6666 flw fa2,88(sp)
+800040a2: bf66 fsd fs9,440(sp)
+800040a4: 0000 unimp
+800040a6: 0000 unimp
+800040a8: 0000 unimp
+800040aa: 0000 unimp
+800040ac: 0000 unimp
+800040ae: 0000 unimp
+
+800040b0 <test_15_data>:
+800040b0: 6666 flw fa2,88(sp)
+800040b2: 3f66 fld ft10,120(sp)
+800040b4: 0000 unimp
+800040b6: 0000 unimp
+800040b8: 0000 unimp
+800040ba: 0000 unimp
+800040bc: 0000 unimp
+800040be: 0000 unimp
+
+800040c0 <test_16_data>:
+800040c0: 0000 unimp
+800040c2: 3f80 fld fs0,56(a5)
+800040c4: 0000 unimp
+800040c6: 0000 unimp
+800040c8: 0000 unimp
+800040ca: 0000 unimp
+800040cc: 0001 nop
+800040ce: 0000 unimp
+
+800040d0 <test_17_data>:
+800040d0: cccd beqz s1,8000418a <tdat_d+0x7a>
+800040d2: 3f8c fld fa1,56(a5)
+800040d4: 0000 unimp
+800040d6: 0000 unimp
+800040d8: 0000 unimp
+800040da: 0000 unimp
+800040dc: 0001 nop
+800040de: 0000 unimp
+
+800040e0 <test_18_data>:
+800040e0: d05e sw s7,32(sp)
+800040e2: cf32 sw a2,156(sp)
+800040e4: 0000 unimp
+800040e6: 0000 unimp
+800040e8: 0000 unimp
+800040ea: 0000 unimp
+800040ec: 0000 unimp
+800040ee: 0000 unimp
+
+800040f0 <test_19_data>:
+800040f0: d05e sw s7,32(sp)
+800040f2: 4f32 lw t5,12(sp)
+800040f4: 0000 unimp
+800040f6: 0000 unimp
+800040f8: 0000 unimp
+800040fa: 0000 unimp
+800040fc: 5e00 lw s0,56(a2)
+800040fe: b2d0 fsd fa2,160(a3)
+
+80004100 <begin_signature>:
+80004100: ffff 0xffff
+80004102: ffff 0xffff
+80004104: ffff 0xffff
+80004106: 7fff 0x7fff
+80004108: 0000 unimp
+8000410a: ff80 fsw fs0,56(a5)
+8000410c: 0000 unimp
+8000410e: 7f80 flw fs0,56(a5)
+
+80004110 <tdat_d>:
+80004110: ffff 0xffff
+80004112: ffff 0xffff
+80004114: ffff 0xffff
+80004116: ffff 0xffff
+80004118: ffff 0xffff
+8000411a: ffff 0xffff
+8000411c: ffff 0xffff
+8000411e: 7fff 0x7fff
+80004120: 0000 unimp
+80004122: 0000 unimp
+80004124: 0000 unimp
+80004126: fff0 fsw fa2,124(a5)
+80004128: 0000 unimp
+8000412a: 0000 unimp
+8000412c: 0000 unimp
+8000412e: 7ff0 flw fa2,124(a5)
diff --git a/test/riscv-tests/rv32uf-v-fcvt_w.elf b/test/riscv-tests/rv32uf-v-fcvt_w.elf
new file mode 100644
index 0000000..f034d02
--- /dev/null
+++ b/test/riscv-tests/rv32uf-v-fcvt_w.elf
Binary files differ
diff --git a/test/riscv-tests/rv32uf-v-fdiv.dump b/test/riscv-tests/rv32uf-v-fdiv.dump
new file mode 100644
index 0000000..cfdccc0
--- /dev/null
+++ b/test/riscv-tests/rv32uf-v-fdiv.dump
@@ -0,0 +1,1091 @@
+
+rv32uf-v-fdiv: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 00c0006f j 8000000c <handle_reset>
+
+80000004 <nmi_vector>:
+80000004: 2780206f j 8000227c <wtf>
+
+80000008 <trap_vector>:
+80000008: 2740206f j 8000227c <wtf>
+
+8000000c <handle_reset>:
+8000000c: 00000297 auipc t0,0x0
+80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+80000014: 30529073 csrw mtvec,t0
+80000018: 00007117 auipc sp,0x7
+8000001c: 35010113 addi sp,sp,848 # 80007368 <_end+0xf70>
+80000020: f14022f3 csrr t0,mhartid
+80000024: 00c29293 slli t0,t0,0xc
+80000028: 00510133 add sp,sp,t0
+8000002c: 34011073 csrw mscratch,sp
+80000030: 00003517 auipc a0,0x3
+80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart>
+80000038: 2090206f j 80002a40 <vm_boot>
+
+8000003c <pop_tf>:
+8000003c: 08452283 lw t0,132(a0)
+80000040: 14129073 csrw sepc,t0
+80000044: 00452083 lw ra,4(a0)
+80000048: 00852103 lw sp,8(a0)
+8000004c: 00c52183 lw gp,12(a0)
+80000050: 01052203 lw tp,16(a0)
+80000054: 01452283 lw t0,20(a0)
+80000058: 01852303 lw t1,24(a0)
+8000005c: 01c52383 lw t2,28(a0)
+80000060: 02052403 lw s0,32(a0)
+80000064: 02452483 lw s1,36(a0)
+80000068: 02c52583 lw a1,44(a0)
+8000006c: 03052603 lw a2,48(a0)
+80000070: 03452683 lw a3,52(a0)
+80000074: 03852703 lw a4,56(a0)
+80000078: 03c52783 lw a5,60(a0)
+8000007c: 04052803 lw a6,64(a0)
+80000080: 04452883 lw a7,68(a0)
+80000084: 04852903 lw s2,72(a0)
+80000088: 04c52983 lw s3,76(a0)
+8000008c: 05052a03 lw s4,80(a0)
+80000090: 05452a83 lw s5,84(a0)
+80000094: 05852b03 lw s6,88(a0)
+80000098: 05c52b83 lw s7,92(a0)
+8000009c: 06052c03 lw s8,96(a0)
+800000a0: 06452c83 lw s9,100(a0)
+800000a4: 06852d03 lw s10,104(a0)
+800000a8: 06c52d83 lw s11,108(a0)
+800000ac: 07052e03 lw t3,112(a0)
+800000b0: 07452e83 lw t4,116(a0)
+800000b4: 07852f03 lw t5,120(a0)
+800000b8: 07c52f83 lw t6,124(a0)
+800000bc: 02852503 lw a0,40(a0)
+800000c0: 10200073 sret
+
+800000c4 <trap_entry>:
+800000c4: 14011173 csrrw sp,sscratch,sp
+800000c8: 00112223 sw ra,4(sp)
+800000cc: 00312623 sw gp,12(sp)
+800000d0: 00412823 sw tp,16(sp)
+800000d4: 00512a23 sw t0,20(sp)
+800000d8: 00612c23 sw t1,24(sp)
+800000dc: 00712e23 sw t2,28(sp)
+800000e0: 02812023 sw s0,32(sp)
+800000e4: 02912223 sw s1,36(sp)
+800000e8: 02a12423 sw a0,40(sp)
+800000ec: 02b12623 sw a1,44(sp)
+800000f0: 02c12823 sw a2,48(sp)
+800000f4: 02d12a23 sw a3,52(sp)
+800000f8: 02e12c23 sw a4,56(sp)
+800000fc: 02f12e23 sw a5,60(sp)
+80000100: 05012023 sw a6,64(sp)
+80000104: 05112223 sw a7,68(sp)
+80000108: 05212423 sw s2,72(sp)
+8000010c: 05312623 sw s3,76(sp)
+80000110: 05412823 sw s4,80(sp)
+80000114: 05512a23 sw s5,84(sp)
+80000118: 05612c23 sw s6,88(sp)
+8000011c: 05712e23 sw s7,92(sp)
+80000120: 07812023 sw s8,96(sp)
+80000124: 07912223 sw s9,100(sp)
+80000128: 07a12423 sw s10,104(sp)
+8000012c: 07b12623 sw s11,108(sp)
+80000130: 07c12823 sw t3,112(sp)
+80000134: 07d12a23 sw t4,116(sp)
+80000138: 07e12c23 sw t5,120(sp)
+8000013c: 07f12e23 sw t6,124(sp)
+80000140: 140112f3 csrrw t0,sscratch,sp
+80000144: 00512423 sw t0,8(sp)
+80000148: 100022f3 csrr t0,sstatus
+8000014c: 08512023 sw t0,128(sp)
+80000150: 141022f3 csrr t0,sepc
+80000154: 08512223 sw t0,132(sp)
+80000158: 143022f3 csrr t0,stval
+8000015c: 08512423 sw t0,136(sp)
+80000160: 142022f3 csrr t0,scause
+80000164: 08512623 sw t0,140(sp)
+80000168: 00010513 mv a0,sp
+8000016c: 50c0206f j 80002678 <handle_trap>
+
+Disassembly of section .text:
+
+80002000 <memcpy>:
+80002000: 00c5e7b3 or a5,a1,a2
+80002004: 00f567b3 or a5,a0,a5
+80002008: 0037f793 andi a5,a5,3
+8000200c: 00c506b3 add a3,a0,a2
+80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+80002014: 00c58633 add a2,a1,a2
+80002018: 00050793 mv a5,a0
+8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+80002020: 00158593 addi a1,a1,1
+80002024: fff5c703 lbu a4,-1(a1)
+80002028: 00178793 addi a5,a5,1
+8000202c: fee78fa3 sb a4,-1(a5)
+80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+80002034: 00008067 ret
+80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+8000203c: 00050793 mv a5,a0
+80002040: 00458593 addi a1,a1,4
+80002044: ffc5a703 lw a4,-4(a1)
+80002048: 00478793 addi a5,a5,4
+8000204c: fee7ae23 sw a4,-4(a5)
+80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+80002054: 00008067 ret
+80002058: 00008067 ret
+
+8000205c <memset>:
+8000205c: 00c567b3 or a5,a0,a2
+80002060: 0037f793 andi a5,a5,3
+80002064: 00c50633 add a2,a0,a2
+80002068: 02078063 beqz a5,80002088 <memset+0x2c>
+8000206c: 0ff5f593 andi a1,a1,255
+80002070: 00050793 mv a5,a0
+80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58>
+80002078: 00178793 addi a5,a5,1
+8000207c: feb78fa3 sb a1,-1(a5)
+80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+80002084: 00008067 ret
+80002088: 0ff5f593 andi a1,a1,255
+8000208c: 00859793 slli a5,a1,0x8
+80002090: 00b7e7b3 or a5,a5,a1
+80002094: 01079593 slli a1,a5,0x10
+80002098: 00f5e5b3 or a1,a1,a5
+8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28>
+800020a0: 00050793 mv a5,a0
+800020a4: 00478793 addi a5,a5,4
+800020a8: feb7ae23 sw a1,-4(a5)
+800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48>
+800020b0: 00008067 ret
+800020b4: 00008067 ret
+
+800020b8 <strlen>:
+800020b8: 00054783 lbu a5,0(a0)
+800020bc: 00050713 mv a4,a0
+800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20>
+800020c4: 00150513 addi a0,a0,1
+800020c8: 00054783 lbu a5,0(a0)
+800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc>
+800020d0: 40e50533 sub a0,a0,a4
+800020d4: 00008067 ret
+800020d8: 00000513 li a0,0
+800020dc: 00008067 ret
+
+800020e0 <strcmp>:
+800020e0: 00150513 addi a0,a0,1
+800020e4: fff54783 lbu a5,-1(a0)
+800020e8: 00158593 addi a1,a1,1
+800020ec: fff5c703 lbu a4,-1(a1)
+800020f0: 00078863 beqz a5,80002100 <strcmp+0x20>
+800020f4: fee786e3 beq a5,a4,800020e0 <strcmp>
+800020f8: 40e78533 sub a0,a5,a4
+800020fc: 00008067 ret
+80002100: 00000793 li a5,0
+80002104: ff5ff06f j 800020f8 <strcmp+0x18>
+
+80002108 <memcmp>:
+80002108: 00b567b3 or a5,a0,a1
+8000210c: 0037f793 andi a5,a5,3
+80002110: 04079263 bnez a5,80002154 <memcmp+0x4c>
+80002114: ffc67693 andi a3,a2,-4
+80002118: 00d506b3 add a3,a0,a3
+8000211c: 00050813 mv a6,a0
+80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c>
+80002124: 00052703 lw a4,0(a0)
+80002128: 0005a783 lw a5,0(a1)
+8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38>
+80002130: 0240006f j 80002154 <memcmp+0x4c>
+80002134: 00052703 lw a4,0(a0)
+80002138: 0005a783 lw a5,0(a1)
+8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44>
+80002140: 00450513 addi a0,a0,4
+80002144: 00458593 addi a1,a1,4
+80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c>
+8000214c: 41050833 sub a6,a0,a6
+80002150: 41060633 sub a2,a2,a6
+80002154: 00c58633 add a2,a1,a2
+80002158: 0140006f j 8000216c <memcmp+0x64>
+8000215c: 00158593 addi a1,a1,1
+80002160: fff54783 lbu a5,-1(a0)
+80002164: fff5c703 lbu a4,-1(a1)
+80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74>
+8000216c: 00150513 addi a0,a0,1
+80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54>
+80002174: 00000513 li a0,0
+80002178: 00008067 ret
+8000217c: 40e78533 sub a0,a5,a4
+80002180: 00008067 ret
+
+80002184 <strcpy>:
+80002184: 00050793 mv a5,a0
+80002188: 00158593 addi a1,a1,1
+8000218c: fff5c703 lbu a4,-1(a1)
+80002190: 00178793 addi a5,a5,1
+80002194: fee78fa3 sb a4,-1(a5)
+80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4>
+8000219c: 00008067 ret
+
+800021a0 <atol>:
+800021a0: 00054783 lbu a5,0(a0)
+800021a4: 02000713 li a4,32
+800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18>
+800021ac: 00150513 addi a0,a0,1
+800021b0: 00054783 lbu a5,0(a0)
+800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc>
+800021b8: fd578713 addi a4,a5,-43
+800021bc: 0fd77713 andi a4,a4,253
+800021c0: 04070263 beqz a4,80002204 <atol+0x64>
+800021c4: 00054683 lbu a3,0(a0)
+800021c8: 00050793 mv a5,a0
+800021cc: 00000613 li a2,0
+800021d0: 04068863 beqz a3,80002220 <atol+0x80>
+800021d4: 00000513 li a0,0
+800021d8: 00178793 addi a5,a5,1
+800021dc: fd068593 addi a1,a3,-48
+800021e0: 00251713 slli a4,a0,0x2
+800021e4: 0007c683 lbu a3,0(a5)
+800021e8: 00a70533 add a0,a4,a0
+800021ec: 00151513 slli a0,a0,0x1
+800021f0: 00a58533 add a0,a1,a0
+800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38>
+800021f8: 00060463 beqz a2,80002200 <atol+0x60>
+800021fc: 40a00533 neg a0,a0
+80002200: 00008067 ret
+80002204: 00154683 lbu a3,1(a0)
+80002208: fd378793 addi a5,a5,-45
+8000220c: 0017b613 seqz a2,a5
+80002210: 00150793 addi a5,a0,1
+80002214: fc0690e3 bnez a3,800021d4 <atol+0x34>
+80002218: 00000513 li a0,0
+8000221c: fddff06f j 800021f8 <atol+0x58>
+80002220: 00000513 li a0,0
+80002224: 00008067 ret
+
+80002228 <terminate>:
+80002228: fffff697 auipc a3,0xfffff
+8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost>
+80002230: 0006a703 lw a4,0(a3)
+80002234: 0046a783 lw a5,4(a3)
+80002238: 00050813 mv a6,a0
+8000223c: 41f55893 srai a7,a0,0x1f
+80002240: 00f76733 or a4,a4,a5
+80002244: 02070663 beqz a4,80002270 <terminate+0x48>
+80002248: fffff617 auipc a2,0xfffff
+8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost>
+80002250: 00000713 li a4,0
+80002254: 00e62023 sw a4,0(a2)
+80002258: 00000793 li a5,0
+8000225c: 00f62223 sw a5,4(a2)
+80002260: 0006a703 lw a4,0(a3)
+80002264: 0046a783 lw a5,4(a3)
+80002268: 00f76733 or a4,a4,a5
+8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28>
+80002270: 0106a023 sw a6,0(a3)
+80002274: 0116a223 sw a7,4(a3)
+80002278: 0000006f j 80002278 <terminate+0x50>
+
+8000227c <wtf>:
+8000227c: ff010113 addi sp,sp,-16
+80002280: 34900513 li a0,841
+80002284: 00112623 sw ra,12(sp)
+80002288: fa1ff0ef jal ra,80002228 <terminate>
+
+8000228c <printhex>:
+8000228c: fe010113 addi sp,sp,-32
+80002290: 01b10793 addi a5,sp,27
+80002294: 00b10e93 addi t4,sp,11
+80002298: 00900e13 li t3,9
+8000229c: 00f57693 andi a3,a0,15
+800022a0: 01c59313 slli t1,a1,0x1c
+800022a4: 00455513 srli a0,a0,0x4
+800022a8: 05700613 li a2,87
+800022ac: 0ff6f713 andi a4,a3,255
+800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c>
+800022b4: 03000613 li a2,48
+800022b8: 00c70733 add a4,a4,a2
+800022bc: 00e78023 sb a4,0(a5)
+800022c0: fff78793 addi a5,a5,-1
+800022c4: 00a36533 or a0,t1,a0
+800022c8: 0045d593 srli a1,a1,0x4
+800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10>
+800022d0: 00c14583 lbu a1,12(sp)
+800022d4: 00010e23 sb zero,28(sp)
+800022d8: 06058263 beqz a1,8000233c <printhex+0xb0>
+800022dc: 00c10513 addi a0,sp,12
+800022e0: fffff697 auipc a3,0xfffff
+800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost>
+800022e8: fffff617 auipc a2,0xfffff
+800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost>
+800022f0: 0006a703 lw a4,0(a3)
+800022f4: 0046a783 lw a5,4(a3)
+800022f8: 00058813 mv a6,a1
+800022fc: 00150513 addi a0,a0,1
+80002300: 00f76733 or a4,a4,a5
+80002304: 010108b7 lui a7,0x1010
+80002308: 02070263 beqz a4,8000232c <printhex+0xa0>
+8000230c: 00000713 li a4,0
+80002310: 00e62023 sw a4,0(a2)
+80002314: 00000793 li a5,0
+80002318: 00f62223 sw a5,4(a2)
+8000231c: 0006a703 lw a4,0(a3)
+80002320: 0046a783 lw a5,4(a3)
+80002324: 00f76733 or a4,a4,a5
+80002328: fe0712e3 bnez a4,8000230c <printhex+0x80>
+8000232c: 00054583 lbu a1,0(a0)
+80002330: 0106a023 sw a6,0(a3)
+80002334: 0116a223 sw a7,4(a3)
+80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64>
+8000233c: 02010113 addi sp,sp,32
+80002340: 00008067 ret
+
+80002344 <handle_fault>:
+80002344: ff010113 addi sp,sp,-16
+80002348: fffff6b7 lui a3,0xfffff
+8000234c: 00112623 sw ra,12(sp)
+80002350: 00812423 sw s0,8(sp)
+80002354: 00912223 sw s1,4(sp)
+80002358: 00d50733 add a4,a0,a3
+8000235c: 0003e7b7 lui a5,0x3e
+80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180>
+80002364: 00c55613 srli a2,a0,0xc
+80002368: 40060e13 addi t3,a2,1024
+8000236c: 00002317 auipc t1,0x2
+80002370: c9430313 addi t1,t1,-876 # 80004000 <pt>
+80002374: 002e1793 slli a5,t3,0x2
+80002378: 00f307b3 add a5,t1,a5
+8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000>
+80002380: 00d57533 and a0,a0,a3
+80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130>
+80002388: 00004797 auipc a5,0x4
+8000238c: 06c78793 addi a5,a5,108 # 800063f4 <freelist_head>
+80002390: 0007a583 lw a1,0(a5)
+80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0>
+80002398: 0045a783 lw a5,4(a1)
+8000239c: 00004717 auipc a4,0x4
+800023a0: 05470713 addi a4,a4,84 # 800063f0 <freelist_tail>
+800023a4: 00072703 lw a4,0(a4)
+800023a8: 00004697 auipc a3,0x4
+800023ac: 04f6a623 sw a5,76(a3) # 800063f4 <freelist_head>
+800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174>
+800023b4: 0005a703 lw a4,0(a1)
+800023b8: 002e1793 slli a5,t3,0x2
+800023bc: 00f307b3 add a5,t1,a5
+800023c0: 00c75713 srli a4,a4,0xc
+800023c4: 00a71713 slli a4,a4,0xa
+800023c8: 0df76e93 ori t4,a4,223
+800023cc: 01f76693 ori a3,a4,31
+800023d0: 01d7a023 sw t4,0(a5)
+800023d4: 12050073 sfence.vma a0
+800023d8: 00004717 auipc a4,0x4
+800023dc: e2070713 addi a4,a4,-480 # 800061f8 <user_mapping>
+800023e0: 00361793 slli a5,a2,0x3
+800023e4: 00f707b3 add a5,a4,a5
+800023e8: 0007a703 lw a4,0(a5)
+800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c>
+800023f0: 0005a703 lw a4,0(a1)
+800023f4: 00e7a023 sw a4,0(a5)
+800023f8: 0045a703 lw a4,4(a1)
+800023fc: 00e7a223 sw a4,4(a5)
+80002400: 000407b7 lui a5,0x40
+80002404: 1007a5f3 csrrs a1,sstatus,a5
+80002408: ffc007b7 lui a5,0xffc00
+8000240c: 00f507b3 add a5,a0,a5
+80002410: 00001637 lui a2,0x1
+80002414: 00050713 mv a4,a0
+80002418: 00c78633 add a2,a5,a2
+8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf9c08>
+80002420: 0047ae83 lw t4,4(a5)
+80002424: 0087a883 lw a7,8(a5)
+80002428: 00c7a803 lw a6,12(a5)
+8000242c: 01e72023 sw t5,0(a4)
+80002430: 01d72223 sw t4,4(a4)
+80002434: 01172423 sw a7,8(a4)
+80002438: 01072623 sw a6,12(a4)
+8000243c: 01078793 addi a5,a5,16
+80002440: 01070713 addi a4,a4,16
+80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8>
+80002448: 10059073 csrw sstatus,a1
+8000244c: 002e1e13 slli t3,t3,0x2
+80002450: 01c30333 add t1,t1,t3
+80002454: 00d32023 sw a3,0(t1)
+80002458: 12050073 sfence.vma a0
+8000245c: 0000100f fence.i
+80002460: 00c12083 lw ra,12(sp)
+80002464: 00812403 lw s0,8(sp)
+80002468: 00412483 lw s1,4(sp)
+8000246c: 01010113 addi sp,sp,16
+80002470: 00008067 ret
+80002474: 04077693 andi a3,a4,64
+80002478: 02069263 bnez a3,8000249c <handle_fault+0x158>
+8000247c: 04076713 ori a4,a4,64
+80002480: 00e7a023 sw a4,0(a5)
+80002484: 12050073 sfence.vma a0
+80002488: 00c12083 lw ra,12(sp)
+8000248c: 00812403 lw s0,8(sp)
+80002490: 00412483 lw s1,4(sp)
+80002494: 01010113 addi sp,sp,16
+80002498: 00008067 ret
+8000249c: 08077693 andi a3,a4,128
+800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8>
+800024a4: 00f00693 li a3,15
+800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8>
+800024ac: 08076713 ori a4,a4,128
+800024b0: 00e7a023 sw a4,0(a5)
+800024b4: fd1ff06f j 80002484 <handle_fault+0x140>
+800024b8: 00004797 auipc a5,0x4
+800024bc: f207ac23 sw zero,-200(a5) # 800063f0 <freelist_tail>
+800024c0: ef5ff06f j 800023b4 <handle_fault+0x70>
+800024c4: 04100513 li a0,65
+800024c8: 00001597 auipc a1,0x1
+800024cc: 8a858593 addi a1,a1,-1880 # 80002d70 <pass+0xc>
+800024d0: fffff697 auipc a3,0xfffff
+800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost>
+800024d8: fffff617 auipc a2,0xfffff
+800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost>
+800024e0: 0006a703 lw a4,0(a3)
+800024e4: 0046a783 lw a5,4(a3)
+800024e8: 00050313 mv t1,a0
+800024ec: 00158593 addi a1,a1,1
+800024f0: 00f76733 or a4,a4,a5
+800024f4: 010103b7 lui t2,0x1010
+800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8>
+800024fc: 00000793 li a5,0
+80002500: 00f62023 sw a5,0(a2)
+80002504: 00000813 li a6,0
+80002508: 01062223 sw a6,4(a2)
+8000250c: 0006a703 lw a4,0(a3)
+80002510: 0046a783 lw a5,4(a3)
+80002514: 00f76733 or a4,a4,a5
+80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8>
+8000251c: 0005c503 lbu a0,0(a1)
+80002520: 0066a023 sw t1,0(a3)
+80002524: 0076a223 sw t2,4(a3)
+80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c>
+8000252c: 00300513 li a0,3
+80002530: cf9ff0ef jal ra,80002228 <terminate>
+80002534: 04100513 li a0,65
+80002538: 00001597 auipc a1,0x1
+8000253c: 8c458593 addi a1,a1,-1852 # 80002dfc <pass+0x98>
+80002540: fffff697 auipc a3,0xfffff
+80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost>
+80002548: fffff617 auipc a2,0xfffff
+8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost>
+80002550: 0006a703 lw a4,0(a3)
+80002554: 0046a783 lw a5,4(a3)
+80002558: 00050f13 mv t5,a0
+8000255c: 00158593 addi a1,a1,1
+80002560: 00f76733 or a4,a4,a5
+80002564: 01010fb7 lui t6,0x1010
+80002568: 02070263 beqz a4,8000258c <handle_fault+0x248>
+8000256c: 00000793 li a5,0
+80002570: 00f62023 sw a5,0(a2)
+80002574: 00000813 li a6,0
+80002578: 01062223 sw a6,4(a2)
+8000257c: 0006a703 lw a4,0(a3)
+80002580: 0046a783 lw a5,4(a3)
+80002584: 00f76733 or a4,a4,a5
+80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228>
+8000258c: 0005c503 lbu a0,0(a1)
+80002590: 01e6a023 sw t5,0(a3)
+80002594: 01f6a223 sw t6,4(a3)
+80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c>
+8000259c: f91ff06f j 8000252c <handle_fault+0x1e8>
+800025a0: 04100513 li a0,65
+800025a4: 00001597 auipc a1,0x1
+800025a8: 87058593 addi a1,a1,-1936 # 80002e14 <pass+0xb0>
+800025ac: fffff697 auipc a3,0xfffff
+800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost>
+800025b4: fffff617 auipc a2,0xfffff
+800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost>
+800025bc: 0006a703 lw a4,0(a3)
+800025c0: 0046a783 lw a5,4(a3)
+800025c4: 00050813 mv a6,a0
+800025c8: 00158593 addi a1,a1,1
+800025cc: 00f76733 or a4,a4,a5
+800025d0: 010108b7 lui a7,0x1010
+800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4>
+800025d8: 00000713 li a4,0
+800025dc: 00e62023 sw a4,0(a2)
+800025e0: 00000793 li a5,0
+800025e4: 00f62223 sw a5,4(a2)
+800025e8: 0006a703 lw a4,0(a3)
+800025ec: 0046a783 lw a5,4(a3)
+800025f0: 00f76733 or a4,a4,a5
+800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294>
+800025f8: 0005c503 lbu a0,0(a1)
+800025fc: 0106a023 sw a6,0(a3)
+80002600: 0116a223 sw a7,4(a3)
+80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278>
+80002608: f25ff06f j 8000252c <handle_fault+0x1e8>
+8000260c: 04100793 li a5,65
+80002610: 00000597 auipc a1,0x0
+80002614: 7a458593 addi a1,a1,1956 # 80002db4 <pass+0x50>
+80002618: fffff697 auipc a3,0xfffff
+8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost>
+80002620: fffff617 auipc a2,0xfffff
+80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost>
+80002628: 0006a803 lw a6,0(a3)
+8000262c: 0046a883 lw a7,4(a3)
+80002630: 00078413 mv s0,a5
+80002634: 00158593 addi a1,a1,1
+80002638: 01186833 or a6,a6,a7
+8000263c: 010104b7 lui s1,0x1010
+80002640: 02080263 beqz a6,80002664 <handle_fault+0x320>
+80002644: 00000793 li a5,0
+80002648: 00f62023 sw a5,0(a2)
+8000264c: 00000813 li a6,0
+80002650: 01062223 sw a6,4(a2)
+80002654: 0006a703 lw a4,0(a3)
+80002658: 0046a783 lw a5,4(a3)
+8000265c: 00f76733 or a4,a4,a5
+80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300>
+80002664: 0005c783 lbu a5,0(a1)
+80002668: 0086a023 sw s0,0(a3)
+8000266c: 0096a223 sw s1,4(a3)
+80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4>
+80002674: eb9ff06f j 8000252c <handle_fault+0x1e8>
+
+80002678 <handle_trap>:
+80002678: 08c52583 lw a1,140(a0)
+8000267c: fb010113 addi sp,sp,-80
+80002680: 03412c23 sw s4,56(sp)
+80002684: 04112623 sw ra,76(sp)
+80002688: 04812423 sw s0,72(sp)
+8000268c: 04912223 sw s1,68(sp)
+80002690: 05212023 sw s2,64(sp)
+80002694: 03312e23 sw s3,60(sp)
+80002698: 03512a23 sw s5,52(sp)
+8000269c: 03612823 sw s6,48(sp)
+800026a0: 03712623 sw s7,44(sp)
+800026a4: 03812423 sw s8,40(sp)
+800026a8: 03912223 sw s9,36(sp)
+800026ac: 03a12023 sw s10,32(sp)
+800026b0: 01b12e23 sw s11,28(sp)
+800026b4: 00800793 li a5,8
+800026b8: 00050a13 mv s4,a0
+800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0>
+800026c0: 00200793 li a5,2
+800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac>
+800026c8: ff458793 addi a5,a1,-12
+800026cc: 00100713 li a4,1
+800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64>
+800026d4: 00f00793 li a5,15
+800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294>
+800026dc: 088a2503 lw a0,136(s4)
+800026e0: c65ff0ef jal ra,80002344 <handle_fault>
+800026e4: 04812403 lw s0,72(sp)
+800026e8: 04c12083 lw ra,76(sp)
+800026ec: 04412483 lw s1,68(sp)
+800026f0: 04012903 lw s2,64(sp)
+800026f4: 03c12983 lw s3,60(sp)
+800026f8: 03412a83 lw s5,52(sp)
+800026fc: 03012b03 lw s6,48(sp)
+80002700: 02c12b83 lw s7,44(sp)
+80002704: 02812c03 lw s8,40(sp)
+80002708: 02412c83 lw s9,36(sp)
+8000270c: 02012d03 lw s10,32(sp)
+80002710: 01c12d83 lw s11,28(sp)
+80002714: 000a0513 mv a0,s4
+80002718: 03812a03 lw s4,56(sp)
+8000271c: 05010113 addi sp,sp,80
+80002720: 91dfd06f j 8000003c <pop_tf>
+80002724: 08452703 lw a4,132(a0)
+80002728: 00377793 andi a5,a4,3
+8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144>
+80002730: 008007ef jal a5,80002738 <handle_trap+0xc0>
+80002734: 00301073 fssr zero
+80002738: 00072703 lw a4,0(a4)
+8000273c: 0007a783 lw a5,0(a5)
+80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c>
+80002744: 04100513 li a0,65
+80002748: 00000597 auipc a1,0x0
+8000274c: 79458593 addi a1,a1,1940 # 80002edc <pass+0x178>
+80002750: fffff697 auipc a3,0xfffff
+80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost>
+80002758: fffff617 auipc a2,0xfffff
+8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost>
+80002760: 0006a703 lw a4,0(a3)
+80002764: 0046a783 lw a5,4(a3)
+80002768: 00050813 mv a6,a0
+8000276c: 00158593 addi a1,a1,1
+80002770: 00f76733 or a4,a4,a5
+80002774: 010108b7 lui a7,0x1010
+80002778: 02070263 beqz a4,8000279c <handle_trap+0x124>
+8000277c: 00000713 li a4,0
+80002780: 00e62023 sw a4,0(a2)
+80002784: 00000793 li a5,0
+80002788: 00f62223 sw a5,4(a2)
+8000278c: 0006a703 lw a4,0(a3)
+80002790: 0046a783 lw a5,4(a3)
+80002794: 00f76733 or a4,a4,a5
+80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104>
+8000279c: 0005c503 lbu a0,0(a1)
+800027a0: 0106a023 sw a6,0(a3)
+800027a4: 0116a223 sw a7,4(a3)
+800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8>
+800027ac: 00300513 li a0,3
+800027b0: a79ff0ef jal ra,80002228 <terminate>
+800027b4: 00100513 li a0,1
+800027b8: a71ff0ef jal ra,80002228 <terminate>
+800027bc: 00000597 auipc a1,0x0
+800027c0: 6fc58593 addi a1,a1,1788 # 80002eb8 <pass+0x154>
+800027c4: 04100613 li a2,65
+800027c8: fffff697 auipc a3,0xfffff
+800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost>
+800027d0: fffff517 auipc a0,0xfffff
+800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost>
+800027d8: 0006a703 lw a4,0(a3)
+800027dc: 0046a783 lw a5,4(a3)
+800027e0: 00060e13 mv t3,a2
+800027e4: 00158593 addi a1,a1,1
+800027e8: 00f76733 or a4,a4,a5
+800027ec: 01010eb7 lui t4,0x1010
+800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c>
+800027f4: 00000793 li a5,0
+800027f8: 00f52023 sw a5,0(a0)
+800027fc: 00000813 li a6,0
+80002800: 01052223 sw a6,4(a0)
+80002804: 0006a703 lw a4,0(a3)
+80002808: 0046a783 lw a5,4(a3)
+8000280c: 00f76733 or a4,a4,a5
+80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c>
+80002814: 0005c603 lbu a2,0(a1)
+80002818: 01c6a023 sw t3,0(a3)
+8000281c: 01d6a223 sw t4,4(a3)
+80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160>
+80002824: f89ff06f j 800027ac <handle_trap+0x134>
+80002828: 02852783 lw a5,40(a0)
+8000282c: 00001a37 lui s4,0x1
+80002830: 00004b17 auipc s6,0x4
+80002834: 9c8b0b13 addi s6,s6,-1592 # 800061f8 <user_mapping>
+80002838: 00f12223 sw a5,4(sp)
+8000283c: 00001d17 auipc s10,0x1
+80002840: 7c4d0d13 addi s10,s10,1988 # 80004000 <pt>
+80002844: 00040cb7 lui s9,0x40
+80002848: ffc00c37 lui s8,0xffc00
+8000284c: 0003fab7 lui s5,0x3f
+80002850: 01c0006f j 8000286c <handle_trap+0x1f4>
+80002854: 00f72223 sw a5,4(a4)
+80002858: 00004717 auipc a4,0x4
+8000285c: b8f72c23 sw a5,-1128(a4) # 800063f0 <freelist_tail>
+80002860: 000017b7 lui a5,0x1
+80002864: 00fa0a33 add s4,s4,a5
+80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398>
+8000286c: 00ca5713 srli a4,s4,0xc
+80002870: 00371b93 slli s7,a4,0x3
+80002874: 017b0633 add a2,s6,s7
+80002878: 00062603 lw a2,0(a2)
+8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8>
+80002880: 40070713 addi a4,a4,1024
+80002884: 00271713 slli a4,a4,0x2
+80002888: 00ed0733 add a4,s10,a4
+8000288c: 00072703 lw a4,0(a4)
+80002890: 04077613 andi a2,a4,64
+80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c>
+80002898: 00e12623 sw a4,12(sp)
+8000289c: 100cadf3 csrrs s11,sstatus,s9
+800028a0: 018a0833 add a6,s4,s8
+800028a4: 00001637 lui a2,0x1
+800028a8: 00080593 mv a1,a6
+800028ac: 000a0513 mv a0,s4
+800028b0: 01012423 sw a6,8(sp)
+800028b4: 855ff0ef jal ra,80002108 <memcmp>
+800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264>
+800028bc: 00c12703 lw a4,12(sp)
+800028c0: 00812803 lw a6,8(sp)
+800028c4: 08077713 andi a4,a4,128
+800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300>
+800028cc: 00001637 lui a2,0x1
+800028d0: 00080593 mv a1,a6
+800028d4: 000a0513 mv a0,s4
+800028d8: f28ff0ef jal ra,80002000 <memcpy>
+800028dc: 017b07b3 add a5,s6,s7
+800028e0: 100d9073 csrw sstatus,s11
+800028e4: 00004717 auipc a4,0x4
+800028e8: b0c70713 addi a4,a4,-1268 # 800063f0 <freelist_tail>
+800028ec: 00072703 lw a4,0(a4)
+800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000>
+800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc>
+800028f8: 00004717 auipc a4,0x4
+800028fc: aef72c23 sw a5,-1288(a4) # 800063f0 <freelist_tail>
+80002900: 00004717 auipc a4,0x4
+80002904: aef72a23 sw a5,-1292(a4) # 800063f4 <freelist_head>
+80002908: f59ff06f j 80002860 <handle_trap+0x1e8>
+8000290c: 04100593 li a1,65
+80002910: 00000617 auipc a2,0x0
+80002914: 5f860613 addi a2,a2,1528 # 80002f08 <pass+0x1a4>
+80002918: ffffe697 auipc a3,0xffffe
+8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost>
+80002920: ffffe517 auipc a0,0xffffe
+80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost>
+80002928: 0006a703 lw a4,0(a3)
+8000292c: 0046a783 lw a5,4(a3)
+80002930: 00058313 mv t1,a1
+80002934: 00160613 addi a2,a2,1
+80002938: 00f76733 or a4,a4,a5
+8000293c: 010103b7 lui t2,0x1010
+80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec>
+80002944: 00000793 li a5,0
+80002948: 00f52023 sw a5,0(a0)
+8000294c: 00000813 li a6,0
+80002950: 01052223 sw a6,4(a0)
+80002954: 0006a703 lw a4,0(a3)
+80002958: 0046a783 lw a5,4(a3)
+8000295c: 00f76733 or a4,a4,a5
+80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc>
+80002964: 00064583 lbu a1,0(a2)
+80002968: 0066a023 sw t1,0(a3)
+8000296c: 0076a223 sw t2,4(a3)
+80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0>
+80002974: e39ff06f j 800027ac <handle_trap+0x134>
+80002978: 04100793 li a5,65
+8000297c: 00000617 auipc a2,0x0
+80002980: 50860613 addi a2,a2,1288 # 80002e84 <pass+0x120>
+80002984: ffffe697 auipc a3,0xffffe
+80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost>
+8000298c: ffffe597 auipc a1,0xffffe
+80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost>
+80002994: 00078413 mv s0,a5
+80002998: 00160613 addi a2,a2,1
+8000299c: 010104b7 lui s1,0x1010
+800029a0: 0006a703 lw a4,0(a3)
+800029a4: 0046a783 lw a5,4(a3)
+800029a8: 00f76733 or a4,a4,a5
+800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0>
+800029b0: 00000793 li a5,0
+800029b4: 00000813 li a6,0
+800029b8: 00f5a023 sw a5,0(a1)
+800029bc: 0105a223 sw a6,4(a1)
+800029c0: fe1ff06f j 800029a0 <handle_trap+0x328>
+800029c4: 04100793 li a5,65
+800029c8: 00000617 auipc a2,0x0
+800029cc: 48860613 addi a2,a2,1160 # 80002e50 <pass+0xec>
+800029d0: ffffe697 auipc a3,0xffffe
+800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost>
+800029d8: ffffe597 auipc a1,0xffffe
+800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost>
+800029e0: 00078913 mv s2,a5
+800029e4: 00160613 addi a2,a2,1
+800029e8: 010109b7 lui s3,0x1010
+800029ec: 0006a703 lw a4,0(a3)
+800029f0: 0046a783 lw a5,4(a3)
+800029f4: 00f76733 or a4,a4,a5
+800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4>
+800029fc: 00000793 li a5,0
+80002a00: 00000813 li a6,0
+80002a04: 00f5a023 sw a5,0(a1)
+80002a08: 0105a223 sw a6,4(a1)
+80002a0c: fe1ff06f j 800029ec <handle_trap+0x374>
+80002a10: 00412503 lw a0,4(sp)
+80002a14: 815ff0ef jal ra,80002228 <terminate>
+80002a18: 00064783 lbu a5,0(a2)
+80002a1c: 0086a023 sw s0,0(a3)
+80002a20: 0096a223 sw s1,4(a3)
+80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c>
+80002a28: d85ff06f j 800027ac <handle_trap+0x134>
+80002a2c: 00064783 lbu a5,0(a2)
+80002a30: 0126a023 sw s2,0(a3)
+80002a34: 0136a223 sw s3,4(a3)
+80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368>
+80002a3c: d71ff06f j 800027ac <handle_trap+0x134>
+
+80002a40 <vm_boot>:
+80002a40: f14027f3 csrr a5,mhartid
+80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158>
+80002a48: 00002797 auipc a5,0x2
+80002a4c: 5b878793 addi a5,a5,1464 # 80005000 <pt+0x1000>
+80002a50: 00c7d793 srli a5,a5,0xc
+80002a54: 00a79793 slli a5,a5,0xa
+80002a58: 0017e793 ori a5,a5,1
+80002a5c: 00001697 auipc a3,0x1
+80002a60: 5af6a223 sw a5,1444(a3) # 80004000 <pt>
+80002a64: 200007b7 lui a5,0x20000
+80002a68: 00001717 auipc a4,0x1
+80002a6c: 59870713 addi a4,a4,1432 # 80004000 <pt>
+80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31>
+80002a74: f6010113 addi sp,sp,-160
+80002a78: 00002697 auipc a3,0x2
+80002a7c: 58f6a223 sw a5,1412(a3) # 80004ffc <pt+0xffc>
+80002a80: 00c75793 srli a5,a4,0xc
+80002a84: 80000737 lui a4,0x80000
+80002a88: 08112e23 sw ra,156(sp)
+80002a8c: 08812c23 sw s0,152(sp)
+80002a90: 00e7e7b3 or a5,a5,a4
+80002a94: 18079073 csrw satp,a5
+80002a98: 01f00793 li a5,31
+80002a9c: fff00713 li a4,-1
+80002aa0: 00000297 auipc t0,0x0
+80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74>
+80002aa8: 305292f3 csrrw t0,mtvec,t0
+80002aac: 3b071073 csrw pmpaddr0,a4
+80002ab0: 3a079073 csrw pmpcfg0,a5
+80002ab4: 7fbfd797 auipc a5,0x7fbfd
+80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf9ccc>
+80002abc: 10579073 csrw stvec,a5
+80002ac0: 340027f3 csrr a5,mscratch
+80002ac4: 7fc00837 lui a6,0x7fc00
+80002ac8: 010787b3 add a5,a5,a6
+80002acc: 14079073 csrw sscratch,a5
+80002ad0: 0000b7b7 lui a5,0xb
+80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00>
+80002ad8: 30279073 csrw medeleg,a5
+80002adc: 0001e7b7 lui a5,0x1e
+80002ae0: 30079073 csrw mstatus,a5
+80002ae4: 30405073 csrwi mie,0
+80002ae8: 7fc03797 auipc a5,0x7fc03
+80002aec: 51878793 addi a5,a5,1304 # ffc06000 <_end+0x7fbffc08>
+80002af0: 00004717 auipc a4,0x4
+80002af4: 90f72223 sw a5,-1788(a4) # 800063f4 <freelist_head>
+80002af8: 7fc03797 auipc a5,0x7fc03
+80002afc: 6f878793 addi a5,a5,1784 # ffc061f0 <_end+0x7fbffdf8>
+80002b00: 00004717 auipc a4,0x4
+80002b04: 8ef72823 sw a5,-1808(a4) # 800063f0 <freelist_tail>
+80002b08: 000808b7 lui a7,0x80
+80002b0c: 00003717 auipc a4,0x3
+80002b10: 4f470713 addi a4,a4,1268 # 80006000 <freelist_nodes>
+80002b14: 00003317 auipc t1,0x3
+80002b18: 6e430313 addi t1,t1,1764 # 800061f8 <user_mapping>
+80002b1c: 01000793 li a5,16
+80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1>
+80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8>
+80002b28: 0017d613 srli a2,a5,0x1
+80002b2c: 011786b3 add a3,a5,a7
+80002b30: 00f647b3 xor a5,a2,a5
+80002b34: 010705b3 add a1,a4,a6
+80002b38: 00c69693 slli a3,a3,0xc
+80002b3c: 00579793 slli a5,a5,0x5
+80002b40: 00d72023 sw a3,0(a4)
+80002b44: 00b72223 sw a1,4(a4)
+80002b48: 0207f793 andi a5,a5,32
+80002b4c: 00870713 addi a4,a4,8
+80002b50: 00f667b3 or a5,a2,a5
+80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8>
+80002b58: 00050413 mv s0,a0
+80002b5c: 09000613 li a2,144
+80002b60: 00000593 li a1,0
+80002b64: 00010513 mv a0,sp
+80002b68: 00003797 auipc a5,0x3
+80002b6c: 6807a623 sw zero,1676(a5) # 800061f4 <freelist_nodes+0x1f4>
+80002b70: cecff0ef jal ra,8000205c <memset>
+80002b74: 800007b7 lui a5,0x80000
+80002b78: 00f40433 add s0,s0,a5
+80002b7c: 00010513 mv a0,sp
+80002b80: 08812223 sw s0,132(sp)
+80002b84: cb8fd0ef jal ra,8000003c <pop_tf>
+80002b88: 09c12083 lw ra,156(sp)
+80002b8c: 09812403 lw s0,152(sp)
+80002b90: 0a010113 addi sp,sp,160
+80002b94: 00008067 ret
+80002b98: 036ca7b7 lui a5,0x36ca
+80002b9c: 00080637 lui a2,0x80
+80002ba0: f2a78793 addi a5,a5,-214 # 36c9f2a <_start-0x7c9360d6>
+80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004>
+80002ba8: 800005b7 lui a1,0x80000
+80002bac: 00c7f733 and a4,a5,a2
+80002bb0: 0017f693 andi a3,a5,1
+80002bb4: 00b70733 add a4,a4,a1
+80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194>
+80002bbc: 0007202f amoadd.w zero,zero,(a4)
+80002bc0: 0017d793 srli a5,a5,0x1
+80002bc4: 00c7f733 and a4,a5,a2
+80002bc8: 0017f693 andi a3,a5,1
+80002bcc: 00b70733 add a4,a4,a1
+80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c>
+80002bd4: 00072003 lw zero,0(a4)
+80002bd8: 0017d793 srli a5,a5,0x1
+80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184>
+
+80002be0 <userstart>:
+80002be0: 00301073 fssr zero
+
+80002be4 <test_2>:
+80002be4: 00200193 li gp,2
+80002be8: 00000517 auipc a0,0x0
+80002bec: 41850513 addi a0,a0,1048 # 80003000 <test_2_data>
+80002bf0: 00052007 flw ft0,0(a0)
+80002bf4: 00452087 flw ft1,4(a0)
+80002bf8: 00852107 flw ft2,8(a0)
+80002bfc: 00c52683 lw a3,12(a0)
+80002c00: 181071d3 fdiv.s ft3,ft0,ft1
+80002c04: e0018553 fmv.x.w a0,ft3
+80002c08: 001015f3 fsflags a1,zero
+80002c0c: 00100613 li a2,1
+80002c10: 14d51263 bne a0,a3,80002d54 <fail>
+80002c14: 14c59063 bne a1,a2,80002d54 <fail>
+
+80002c18 <test_3>:
+80002c18: 00300193 li gp,3
+80002c1c: 00000517 auipc a0,0x0
+80002c20: 3f450513 addi a0,a0,1012 # 80003010 <test_3_data>
+80002c24: 00052007 flw ft0,0(a0)
+80002c28: 00452087 flw ft1,4(a0)
+80002c2c: 00852107 flw ft2,8(a0)
+80002c30: 00c52683 lw a3,12(a0)
+80002c34: 181071d3 fdiv.s ft3,ft0,ft1
+80002c38: e0018553 fmv.x.w a0,ft3
+80002c3c: 001015f3 fsflags a1,zero
+80002c40: 00100613 li a2,1
+80002c44: 10d51863 bne a0,a3,80002d54 <fail>
+80002c48: 10c59663 bne a1,a2,80002d54 <fail>
+
+80002c4c <test_4>:
+80002c4c: 00400193 li gp,4
+80002c50: 00000517 auipc a0,0x0
+80002c54: 3d050513 addi a0,a0,976 # 80003020 <test_4_data>
+80002c58: 00052007 flw ft0,0(a0)
+80002c5c: 00452087 flw ft1,4(a0)
+80002c60: 00852107 flw ft2,8(a0)
+80002c64: 00c52683 lw a3,12(a0)
+80002c68: 181071d3 fdiv.s ft3,ft0,ft1
+80002c6c: e0018553 fmv.x.w a0,ft3
+80002c70: 001015f3 fsflags a1,zero
+80002c74: 00000613 li a2,0
+80002c78: 0cd51e63 bne a0,a3,80002d54 <fail>
+80002c7c: 0cc59c63 bne a1,a2,80002d54 <fail>
+
+80002c80 <test_5>:
+80002c80: 00500193 li gp,5
+80002c84: 00000517 auipc a0,0x0
+80002c88: 3ac50513 addi a0,a0,940 # 80003030 <test_5_data>
+80002c8c: 00052007 flw ft0,0(a0)
+80002c90: 00452087 flw ft1,4(a0)
+80002c94: 00852107 flw ft2,8(a0)
+80002c98: 00c52683 lw a3,12(a0)
+80002c9c: 580071d3 fsqrt.s ft3,ft0
+80002ca0: e0018553 fmv.x.w a0,ft3
+80002ca4: 001015f3 fsflags a1,zero
+80002ca8: 00100613 li a2,1
+80002cac: 0ad51463 bne a0,a3,80002d54 <fail>
+80002cb0: 0ac59263 bne a1,a2,80002d54 <fail>
+
+80002cb4 <test_6>:
+80002cb4: 00600193 li gp,6
+80002cb8: 00000517 auipc a0,0x0
+80002cbc: 38850513 addi a0,a0,904 # 80003040 <test_6_data>
+80002cc0: 00052007 flw ft0,0(a0)
+80002cc4: 00452087 flw ft1,4(a0)
+80002cc8: 00852107 flw ft2,8(a0)
+80002ccc: 00c52683 lw a3,12(a0)
+80002cd0: 580071d3 fsqrt.s ft3,ft0
+80002cd4: e0018553 fmv.x.w a0,ft3
+80002cd8: 001015f3 fsflags a1,zero
+80002cdc: 00000613 li a2,0
+80002ce0: 06d51a63 bne a0,a3,80002d54 <fail>
+80002ce4: 06c59863 bne a1,a2,80002d54 <fail>
+
+80002ce8 <test_7>:
+80002ce8: 00700193 li gp,7
+80002cec: 00000517 auipc a0,0x0
+80002cf0: 36450513 addi a0,a0,868 # 80003050 <test_7_data>
+80002cf4: 00052007 flw ft0,0(a0)
+80002cf8: 00452087 flw ft1,4(a0)
+80002cfc: 00852107 flw ft2,8(a0)
+80002d00: 00c52683 lw a3,12(a0)
+80002d04: 580071d3 fsqrt.s ft3,ft0
+80002d08: e0018553 fmv.x.w a0,ft3
+80002d0c: 001015f3 fsflags a1,zero
+80002d10: 01000613 li a2,16
+80002d14: 04d51063 bne a0,a3,80002d54 <fail>
+80002d18: 02c59e63 bne a1,a2,80002d54 <fail>
+
+80002d1c <test_8>:
+80002d1c: 00800193 li gp,8
+80002d20: 00000517 auipc a0,0x0
+80002d24: 34450513 addi a0,a0,836 # 80003064 <test_8_data>
+80002d28: 00052007 flw ft0,0(a0)
+80002d2c: 00452087 flw ft1,4(a0)
+80002d30: 00852107 flw ft2,8(a0)
+80002d34: 00c52683 lw a3,12(a0)
+80002d38: 580071d3 fsqrt.s ft3,ft0
+80002d3c: e0018553 fmv.x.w a0,ft3
+80002d40: 001015f3 fsflags a1,zero
+80002d44: 00100613 li a2,1
+80002d48: 00d51663 bne a0,a3,80002d54 <fail>
+80002d4c: 00c59463 bne a1,a2,80002d54 <fail>
+80002d50: 00301a63 bne zero,gp,80002d64 <pass>
+
+80002d54 <fail>:
+80002d54: 00119513 slli a0,gp,0x1
+80002d58: 00050063 beqz a0,80002d58 <fail+0x4>
+80002d5c: 00156513 ori a0,a0,1
+80002d60: 00000073 ecall
+
+80002d64 <pass>:
+80002d64: 00100513 li a0,1
+80002d68: 00000073 ecall
+80002d6c: c0001073 unimp
+
+Disassembly of section .data:
+
+80003000 <test_2_data>:
+80003000: 40490fdb 0x40490fdb
+80003004: f854 fsw fa3,52(s0)
+80003006: 402d c.li zero,11
+80003008: 0000 unimp
+8000300a: 0000 unimp
+8000300c: eee0 fsw fs0,92(a3)
+8000300e: sltiu t6,zero,1024
+
+80003010 <test_3_data>:
+80003010: 4000 lw s0,0(s0)
+80003012: c49a sw t1,72(sp)
+80003014: 449a6333 0x449a6333
+80003018: 0000 unimp
+8000301a: 0000 unimp
+8000301c: c5a2 sw s0,200(sp)
+8000301e: bf7f 0xbf7f
+
+80003020 <test_4_data>:
+80003020: 40490fdb 0x40490fdb
+80003024: 0000 unimp
+80003026: 3f80 fld fs0,56(a5)
+80003028: 0000 unimp
+8000302a: 0000 unimp
+8000302c: 40490fdb 0x40490fdb
+
+80003030 <test_5_data>:
+80003030: 40490fdb 0x40490fdb
+80003034: 0000 unimp
+80003036: 0000 unimp
+80003038: 0000 unimp
+8000303a: 0000 unimp
+8000303c: dfc5 beqz a5,80002ff4 <pass+0x290>
+8000303e: 3fe2 fld ft11,56(sp)
+
+80003040 <test_6_data>:
+80003040: 4000 lw s0,0(s0)
+80003042: 461c lw a5,8(a2)
+80003044: 0000 unimp
+80003046: 0000 unimp
+80003048: 0000 unimp
+8000304a: 0000 unimp
+8000304c: 0000 unimp
+8000304e: 42c8 lw a0,4(a3)
+
+80003050 <test_7_data>:
+80003050: 0000 unimp
+80003052: bf80 fsd fs0,56(a5)
+80003054: 0000 unimp
+80003056: 0000 unimp
+80003058: 0000 unimp
+8000305a: 0000 unimp
+8000305c: 0000 unimp
+8000305e: 7fc0 flw fs0,60(a5)
+80003060: 0000 unimp
+80003062: 0000 unimp
+
+80003064 <test_8_data>:
+80003064: 0000 unimp
+80003066: 0000432b 0x432b
+8000306a: 0000 unimp
+8000306c: 0000 unimp
+8000306e: 0000 unimp
+80003070: 3a26 fld fs4,104(sp)
+80003072: 4151 li sp,20
+80003074: 0000 unimp
+80003076: 0000 unimp
+80003078: 0000 unimp
+8000307a: 0000 unimp
+8000307c: 0000 unimp
+8000307e: 0000 unimp
diff --git a/test/riscv-tests/rv32uf-v-fdiv.elf b/test/riscv-tests/rv32uf-v-fdiv.elf
new file mode 100644
index 0000000..812ab3d
--- /dev/null
+++ b/test/riscv-tests/rv32uf-v-fdiv.elf
Binary files differ
diff --git a/test/riscv-tests/rv32uf-v-fmadd.dump b/test/riscv-tests/rv32uf-v-fmadd.dump
new file mode 100644
index 0000000..438ef1b
--- /dev/null
+++ b/test/riscv-tests/rv32uf-v-fmadd.dump
@@ -0,0 +1,1210 @@
+
+rv32uf-v-fmadd: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 00c0006f j 8000000c <handle_reset>
+
+80000004 <nmi_vector>:
+80000004: 2780206f j 8000227c <wtf>
+
+80000008 <trap_vector>:
+80000008: 2740206f j 8000227c <wtf>
+
+8000000c <handle_reset>:
+8000000c: 00000297 auipc t0,0x0
+80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+80000014: 30529073 csrw mtvec,t0
+80000018: 00008117 auipc sp,0x8
+8000001c: 35010113 addi sp,sp,848 # 80008368 <_end+0xf70>
+80000020: f14022f3 csrr t0,mhartid
+80000024: 00c29293 slli t0,t0,0xc
+80000028: 00510133 add sp,sp,t0
+8000002c: 34011073 csrw mscratch,sp
+80000030: 00003517 auipc a0,0x3
+80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart>
+80000038: 2090206f j 80002a40 <vm_boot>
+
+8000003c <pop_tf>:
+8000003c: 08452283 lw t0,132(a0)
+80000040: 14129073 csrw sepc,t0
+80000044: 00452083 lw ra,4(a0)
+80000048: 00852103 lw sp,8(a0)
+8000004c: 00c52183 lw gp,12(a0)
+80000050: 01052203 lw tp,16(a0)
+80000054: 01452283 lw t0,20(a0)
+80000058: 01852303 lw t1,24(a0)
+8000005c: 01c52383 lw t2,28(a0)
+80000060: 02052403 lw s0,32(a0)
+80000064: 02452483 lw s1,36(a0)
+80000068: 02c52583 lw a1,44(a0)
+8000006c: 03052603 lw a2,48(a0)
+80000070: 03452683 lw a3,52(a0)
+80000074: 03852703 lw a4,56(a0)
+80000078: 03c52783 lw a5,60(a0)
+8000007c: 04052803 lw a6,64(a0)
+80000080: 04452883 lw a7,68(a0)
+80000084: 04852903 lw s2,72(a0)
+80000088: 04c52983 lw s3,76(a0)
+8000008c: 05052a03 lw s4,80(a0)
+80000090: 05452a83 lw s5,84(a0)
+80000094: 05852b03 lw s6,88(a0)
+80000098: 05c52b83 lw s7,92(a0)
+8000009c: 06052c03 lw s8,96(a0)
+800000a0: 06452c83 lw s9,100(a0)
+800000a4: 06852d03 lw s10,104(a0)
+800000a8: 06c52d83 lw s11,108(a0)
+800000ac: 07052e03 lw t3,112(a0)
+800000b0: 07452e83 lw t4,116(a0)
+800000b4: 07852f03 lw t5,120(a0)
+800000b8: 07c52f83 lw t6,124(a0)
+800000bc: 02852503 lw a0,40(a0)
+800000c0: 10200073 sret
+
+800000c4 <trap_entry>:
+800000c4: 14011173 csrrw sp,sscratch,sp
+800000c8: 00112223 sw ra,4(sp)
+800000cc: 00312623 sw gp,12(sp)
+800000d0: 00412823 sw tp,16(sp)
+800000d4: 00512a23 sw t0,20(sp)
+800000d8: 00612c23 sw t1,24(sp)
+800000dc: 00712e23 sw t2,28(sp)
+800000e0: 02812023 sw s0,32(sp)
+800000e4: 02912223 sw s1,36(sp)
+800000e8: 02a12423 sw a0,40(sp)
+800000ec: 02b12623 sw a1,44(sp)
+800000f0: 02c12823 sw a2,48(sp)
+800000f4: 02d12a23 sw a3,52(sp)
+800000f8: 02e12c23 sw a4,56(sp)
+800000fc: 02f12e23 sw a5,60(sp)
+80000100: 05012023 sw a6,64(sp)
+80000104: 05112223 sw a7,68(sp)
+80000108: 05212423 sw s2,72(sp)
+8000010c: 05312623 sw s3,76(sp)
+80000110: 05412823 sw s4,80(sp)
+80000114: 05512a23 sw s5,84(sp)
+80000118: 05612c23 sw s6,88(sp)
+8000011c: 05712e23 sw s7,92(sp)
+80000120: 07812023 sw s8,96(sp)
+80000124: 07912223 sw s9,100(sp)
+80000128: 07a12423 sw s10,104(sp)
+8000012c: 07b12623 sw s11,108(sp)
+80000130: 07c12823 sw t3,112(sp)
+80000134: 07d12a23 sw t4,116(sp)
+80000138: 07e12c23 sw t5,120(sp)
+8000013c: 07f12e23 sw t6,124(sp)
+80000140: 140112f3 csrrw t0,sscratch,sp
+80000144: 00512423 sw t0,8(sp)
+80000148: 100022f3 csrr t0,sstatus
+8000014c: 08512023 sw t0,128(sp)
+80000150: 141022f3 csrr t0,sepc
+80000154: 08512223 sw t0,132(sp)
+80000158: 143022f3 csrr t0,stval
+8000015c: 08512423 sw t0,136(sp)
+80000160: 142022f3 csrr t0,scause
+80000164: 08512623 sw t0,140(sp)
+80000168: 00010513 mv a0,sp
+8000016c: 50c0206f j 80002678 <handle_trap>
+
+Disassembly of section .text:
+
+80002000 <memcpy>:
+80002000: 00c5e7b3 or a5,a1,a2
+80002004: 00f567b3 or a5,a0,a5
+80002008: 0037f793 andi a5,a5,3
+8000200c: 00c506b3 add a3,a0,a2
+80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+80002014: 00c58633 add a2,a1,a2
+80002018: 00050793 mv a5,a0
+8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+80002020: 00158593 addi a1,a1,1
+80002024: fff5c703 lbu a4,-1(a1)
+80002028: 00178793 addi a5,a5,1
+8000202c: fee78fa3 sb a4,-1(a5)
+80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+80002034: 00008067 ret
+80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+8000203c: 00050793 mv a5,a0
+80002040: 00458593 addi a1,a1,4
+80002044: ffc5a703 lw a4,-4(a1)
+80002048: 00478793 addi a5,a5,4
+8000204c: fee7ae23 sw a4,-4(a5)
+80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+80002054: 00008067 ret
+80002058: 00008067 ret
+
+8000205c <memset>:
+8000205c: 00c567b3 or a5,a0,a2
+80002060: 0037f793 andi a5,a5,3
+80002064: 00c50633 add a2,a0,a2
+80002068: 02078063 beqz a5,80002088 <memset+0x2c>
+8000206c: 0ff5f593 andi a1,a1,255
+80002070: 00050793 mv a5,a0
+80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58>
+80002078: 00178793 addi a5,a5,1
+8000207c: feb78fa3 sb a1,-1(a5)
+80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+80002084: 00008067 ret
+80002088: 0ff5f593 andi a1,a1,255
+8000208c: 00859793 slli a5,a1,0x8
+80002090: 00b7e7b3 or a5,a5,a1
+80002094: 01079593 slli a1,a5,0x10
+80002098: 00f5e5b3 or a1,a1,a5
+8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28>
+800020a0: 00050793 mv a5,a0
+800020a4: 00478793 addi a5,a5,4
+800020a8: feb7ae23 sw a1,-4(a5)
+800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48>
+800020b0: 00008067 ret
+800020b4: 00008067 ret
+
+800020b8 <strlen>:
+800020b8: 00054783 lbu a5,0(a0)
+800020bc: 00050713 mv a4,a0
+800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20>
+800020c4: 00150513 addi a0,a0,1
+800020c8: 00054783 lbu a5,0(a0)
+800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc>
+800020d0: 40e50533 sub a0,a0,a4
+800020d4: 00008067 ret
+800020d8: 00000513 li a0,0
+800020dc: 00008067 ret
+
+800020e0 <strcmp>:
+800020e0: 00150513 addi a0,a0,1
+800020e4: fff54783 lbu a5,-1(a0)
+800020e8: 00158593 addi a1,a1,1
+800020ec: fff5c703 lbu a4,-1(a1)
+800020f0: 00078863 beqz a5,80002100 <strcmp+0x20>
+800020f4: fee786e3 beq a5,a4,800020e0 <strcmp>
+800020f8: 40e78533 sub a0,a5,a4
+800020fc: 00008067 ret
+80002100: 00000793 li a5,0
+80002104: ff5ff06f j 800020f8 <strcmp+0x18>
+
+80002108 <memcmp>:
+80002108: 00b567b3 or a5,a0,a1
+8000210c: 0037f793 andi a5,a5,3
+80002110: 04079263 bnez a5,80002154 <memcmp+0x4c>
+80002114: ffc67693 andi a3,a2,-4
+80002118: 00d506b3 add a3,a0,a3
+8000211c: 00050813 mv a6,a0
+80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c>
+80002124: 00052703 lw a4,0(a0)
+80002128: 0005a783 lw a5,0(a1)
+8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38>
+80002130: 0240006f j 80002154 <memcmp+0x4c>
+80002134: 00052703 lw a4,0(a0)
+80002138: 0005a783 lw a5,0(a1)
+8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44>
+80002140: 00450513 addi a0,a0,4
+80002144: 00458593 addi a1,a1,4
+80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c>
+8000214c: 41050833 sub a6,a0,a6
+80002150: 41060633 sub a2,a2,a6
+80002154: 00c58633 add a2,a1,a2
+80002158: 0140006f j 8000216c <memcmp+0x64>
+8000215c: 00158593 addi a1,a1,1
+80002160: fff54783 lbu a5,-1(a0)
+80002164: fff5c703 lbu a4,-1(a1)
+80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74>
+8000216c: 00150513 addi a0,a0,1
+80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54>
+80002174: 00000513 li a0,0
+80002178: 00008067 ret
+8000217c: 40e78533 sub a0,a5,a4
+80002180: 00008067 ret
+
+80002184 <strcpy>:
+80002184: 00050793 mv a5,a0
+80002188: 00158593 addi a1,a1,1
+8000218c: fff5c703 lbu a4,-1(a1)
+80002190: 00178793 addi a5,a5,1
+80002194: fee78fa3 sb a4,-1(a5)
+80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4>
+8000219c: 00008067 ret
+
+800021a0 <atol>:
+800021a0: 00054783 lbu a5,0(a0)
+800021a4: 02000713 li a4,32
+800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18>
+800021ac: 00150513 addi a0,a0,1
+800021b0: 00054783 lbu a5,0(a0)
+800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc>
+800021b8: fd578713 addi a4,a5,-43
+800021bc: 0fd77713 andi a4,a4,253
+800021c0: 04070263 beqz a4,80002204 <atol+0x64>
+800021c4: 00054683 lbu a3,0(a0)
+800021c8: 00050793 mv a5,a0
+800021cc: 00000613 li a2,0
+800021d0: 04068863 beqz a3,80002220 <atol+0x80>
+800021d4: 00000513 li a0,0
+800021d8: 00178793 addi a5,a5,1
+800021dc: fd068593 addi a1,a3,-48
+800021e0: 00251713 slli a4,a0,0x2
+800021e4: 0007c683 lbu a3,0(a5)
+800021e8: 00a70533 add a0,a4,a0
+800021ec: 00151513 slli a0,a0,0x1
+800021f0: 00a58533 add a0,a1,a0
+800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38>
+800021f8: 00060463 beqz a2,80002200 <atol+0x60>
+800021fc: 40a00533 neg a0,a0
+80002200: 00008067 ret
+80002204: 00154683 lbu a3,1(a0)
+80002208: fd378793 addi a5,a5,-45
+8000220c: 0017b613 seqz a2,a5
+80002210: 00150793 addi a5,a0,1
+80002214: fc0690e3 bnez a3,800021d4 <atol+0x34>
+80002218: 00000513 li a0,0
+8000221c: fddff06f j 800021f8 <atol+0x58>
+80002220: 00000513 li a0,0
+80002224: 00008067 ret
+
+80002228 <terminate>:
+80002228: fffff697 auipc a3,0xfffff
+8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost>
+80002230: 0006a703 lw a4,0(a3)
+80002234: 0046a783 lw a5,4(a3)
+80002238: 00050813 mv a6,a0
+8000223c: 41f55893 srai a7,a0,0x1f
+80002240: 00f76733 or a4,a4,a5
+80002244: 02070663 beqz a4,80002270 <terminate+0x48>
+80002248: fffff617 auipc a2,0xfffff
+8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost>
+80002250: 00000713 li a4,0
+80002254: 00e62023 sw a4,0(a2)
+80002258: 00000793 li a5,0
+8000225c: 00f62223 sw a5,4(a2)
+80002260: 0006a703 lw a4,0(a3)
+80002264: 0046a783 lw a5,4(a3)
+80002268: 00f76733 or a4,a4,a5
+8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28>
+80002270: 0106a023 sw a6,0(a3)
+80002274: 0116a223 sw a7,4(a3)
+80002278: 0000006f j 80002278 <terminate+0x50>
+
+8000227c <wtf>:
+8000227c: ff010113 addi sp,sp,-16
+80002280: 34900513 li a0,841
+80002284: 00112623 sw ra,12(sp)
+80002288: fa1ff0ef jal ra,80002228 <terminate>
+
+8000228c <printhex>:
+8000228c: fe010113 addi sp,sp,-32
+80002290: 01b10793 addi a5,sp,27
+80002294: 00b10e93 addi t4,sp,11
+80002298: 00900e13 li t3,9
+8000229c: 00f57693 andi a3,a0,15
+800022a0: 01c59313 slli t1,a1,0x1c
+800022a4: 00455513 srli a0,a0,0x4
+800022a8: 05700613 li a2,87
+800022ac: 0ff6f713 andi a4,a3,255
+800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c>
+800022b4: 03000613 li a2,48
+800022b8: 00c70733 add a4,a4,a2
+800022bc: 00e78023 sb a4,0(a5)
+800022c0: fff78793 addi a5,a5,-1
+800022c4: 00a36533 or a0,t1,a0
+800022c8: 0045d593 srli a1,a1,0x4
+800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10>
+800022d0: 00c14583 lbu a1,12(sp)
+800022d4: 00010e23 sb zero,28(sp)
+800022d8: 06058263 beqz a1,8000233c <printhex+0xb0>
+800022dc: 00c10513 addi a0,sp,12
+800022e0: fffff697 auipc a3,0xfffff
+800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost>
+800022e8: fffff617 auipc a2,0xfffff
+800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost>
+800022f0: 0006a703 lw a4,0(a3)
+800022f4: 0046a783 lw a5,4(a3)
+800022f8: 00058813 mv a6,a1
+800022fc: 00150513 addi a0,a0,1
+80002300: 00f76733 or a4,a4,a5
+80002304: 010108b7 lui a7,0x1010
+80002308: 02070263 beqz a4,8000232c <printhex+0xa0>
+8000230c: 00000713 li a4,0
+80002310: 00e62023 sw a4,0(a2)
+80002314: 00000793 li a5,0
+80002318: 00f62223 sw a5,4(a2)
+8000231c: 0006a703 lw a4,0(a3)
+80002320: 0046a783 lw a5,4(a3)
+80002324: 00f76733 or a4,a4,a5
+80002328: fe0712e3 bnez a4,8000230c <printhex+0x80>
+8000232c: 00054583 lbu a1,0(a0)
+80002330: 0106a023 sw a6,0(a3)
+80002334: 0116a223 sw a7,4(a3)
+80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64>
+8000233c: 02010113 addi sp,sp,32
+80002340: 00008067 ret
+
+80002344 <handle_fault>:
+80002344: ff010113 addi sp,sp,-16
+80002348: fffff6b7 lui a3,0xfffff
+8000234c: 00112623 sw ra,12(sp)
+80002350: 00812423 sw s0,8(sp)
+80002354: 00912223 sw s1,4(sp)
+80002358: 00d50733 add a4,a0,a3
+8000235c: 0003e7b7 lui a5,0x3e
+80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180>
+80002364: 00c55613 srli a2,a0,0xc
+80002368: 40060e13 addi t3,a2,1024
+8000236c: 00003317 auipc t1,0x3
+80002370: c9430313 addi t1,t1,-876 # 80005000 <pt>
+80002374: 002e1793 slli a5,t3,0x2
+80002378: 00f307b3 add a5,t1,a5
+8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000>
+80002380: 00d57533 and a0,a0,a3
+80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130>
+80002388: 00005797 auipc a5,0x5
+8000238c: 06c78793 addi a5,a5,108 # 800073f4 <freelist_head>
+80002390: 0007a583 lw a1,0(a5)
+80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0>
+80002398: 0045a783 lw a5,4(a1)
+8000239c: 00005717 auipc a4,0x5
+800023a0: 05470713 addi a4,a4,84 # 800073f0 <freelist_tail>
+800023a4: 00072703 lw a4,0(a4)
+800023a8: 00005697 auipc a3,0x5
+800023ac: 04f6a623 sw a5,76(a3) # 800073f4 <freelist_head>
+800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174>
+800023b4: 0005a703 lw a4,0(a1)
+800023b8: 002e1793 slli a5,t3,0x2
+800023bc: 00f307b3 add a5,t1,a5
+800023c0: 00c75713 srli a4,a4,0xc
+800023c4: 00a71713 slli a4,a4,0xa
+800023c8: 0df76e93 ori t4,a4,223
+800023cc: 01f76693 ori a3,a4,31
+800023d0: 01d7a023 sw t4,0(a5)
+800023d4: 12050073 sfence.vma a0
+800023d8: 00005717 auipc a4,0x5
+800023dc: e2070713 addi a4,a4,-480 # 800071f8 <user_mapping>
+800023e0: 00361793 slli a5,a2,0x3
+800023e4: 00f707b3 add a5,a4,a5
+800023e8: 0007a703 lw a4,0(a5)
+800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c>
+800023f0: 0005a703 lw a4,0(a1)
+800023f4: 00e7a023 sw a4,0(a5)
+800023f8: 0045a703 lw a4,4(a1)
+800023fc: 00e7a223 sw a4,4(a5)
+80002400: 000407b7 lui a5,0x40
+80002404: 1007a5f3 csrrs a1,sstatus,a5
+80002408: ffc007b7 lui a5,0xffc00
+8000240c: 00f507b3 add a5,a0,a5
+80002410: 00001637 lui a2,0x1
+80002414: 00050713 mv a4,a0
+80002418: 00c78633 add a2,a5,a2
+8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf8c08>
+80002420: 0047ae83 lw t4,4(a5)
+80002424: 0087a883 lw a7,8(a5)
+80002428: 00c7a803 lw a6,12(a5)
+8000242c: 01e72023 sw t5,0(a4)
+80002430: 01d72223 sw t4,4(a4)
+80002434: 01172423 sw a7,8(a4)
+80002438: 01072623 sw a6,12(a4)
+8000243c: 01078793 addi a5,a5,16
+80002440: 01070713 addi a4,a4,16
+80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8>
+80002448: 10059073 csrw sstatus,a1
+8000244c: 002e1e13 slli t3,t3,0x2
+80002450: 01c30333 add t1,t1,t3
+80002454: 00d32023 sw a3,0(t1)
+80002458: 12050073 sfence.vma a0
+8000245c: 0000100f fence.i
+80002460: 00c12083 lw ra,12(sp)
+80002464: 00812403 lw s0,8(sp)
+80002468: 00412483 lw s1,4(sp)
+8000246c: 01010113 addi sp,sp,16
+80002470: 00008067 ret
+80002474: 04077693 andi a3,a4,64
+80002478: 02069263 bnez a3,8000249c <handle_fault+0x158>
+8000247c: 04076713 ori a4,a4,64
+80002480: 00e7a023 sw a4,0(a5)
+80002484: 12050073 sfence.vma a0
+80002488: 00c12083 lw ra,12(sp)
+8000248c: 00812403 lw s0,8(sp)
+80002490: 00412483 lw s1,4(sp)
+80002494: 01010113 addi sp,sp,16
+80002498: 00008067 ret
+8000249c: 08077693 andi a3,a4,128
+800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8>
+800024a4: 00f00693 li a3,15
+800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8>
+800024ac: 08076713 ori a4,a4,128
+800024b0: 00e7a023 sw a4,0(a5)
+800024b4: fd1ff06f j 80002484 <handle_fault+0x140>
+800024b8: 00005797 auipc a5,0x5
+800024bc: f207ac23 sw zero,-200(a5) # 800073f0 <freelist_tail>
+800024c0: ef5ff06f j 800023b4 <handle_fault+0x70>
+800024c4: 04100513 li a0,65
+800024c8: 00001597 auipc a1,0x1
+800024cc: 9ac58593 addi a1,a1,-1620 # 80002e74 <pass+0xc>
+800024d0: fffff697 auipc a3,0xfffff
+800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost>
+800024d8: fffff617 auipc a2,0xfffff
+800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost>
+800024e0: 0006a703 lw a4,0(a3)
+800024e4: 0046a783 lw a5,4(a3)
+800024e8: 00050313 mv t1,a0
+800024ec: 00158593 addi a1,a1,1
+800024f0: 00f76733 or a4,a4,a5
+800024f4: 010103b7 lui t2,0x1010
+800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8>
+800024fc: 00000793 li a5,0
+80002500: 00f62023 sw a5,0(a2)
+80002504: 00000813 li a6,0
+80002508: 01062223 sw a6,4(a2)
+8000250c: 0006a703 lw a4,0(a3)
+80002510: 0046a783 lw a5,4(a3)
+80002514: 00f76733 or a4,a4,a5
+80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8>
+8000251c: 0005c503 lbu a0,0(a1)
+80002520: 0066a023 sw t1,0(a3)
+80002524: 0076a223 sw t2,4(a3)
+80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c>
+8000252c: 00300513 li a0,3
+80002530: cf9ff0ef jal ra,80002228 <terminate>
+80002534: 04100513 li a0,65
+80002538: 00001597 auipc a1,0x1
+8000253c: 9c858593 addi a1,a1,-1592 # 80002f00 <pass+0x98>
+80002540: fffff697 auipc a3,0xfffff
+80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost>
+80002548: fffff617 auipc a2,0xfffff
+8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost>
+80002550: 0006a703 lw a4,0(a3)
+80002554: 0046a783 lw a5,4(a3)
+80002558: 00050f13 mv t5,a0
+8000255c: 00158593 addi a1,a1,1
+80002560: 00f76733 or a4,a4,a5
+80002564: 01010fb7 lui t6,0x1010
+80002568: 02070263 beqz a4,8000258c <handle_fault+0x248>
+8000256c: 00000793 li a5,0
+80002570: 00f62023 sw a5,0(a2)
+80002574: 00000813 li a6,0
+80002578: 01062223 sw a6,4(a2)
+8000257c: 0006a703 lw a4,0(a3)
+80002580: 0046a783 lw a5,4(a3)
+80002584: 00f76733 or a4,a4,a5
+80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228>
+8000258c: 0005c503 lbu a0,0(a1)
+80002590: 01e6a023 sw t5,0(a3)
+80002594: 01f6a223 sw t6,4(a3)
+80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c>
+8000259c: f91ff06f j 8000252c <handle_fault+0x1e8>
+800025a0: 04100513 li a0,65
+800025a4: 00001597 auipc a1,0x1
+800025a8: 97458593 addi a1,a1,-1676 # 80002f18 <pass+0xb0>
+800025ac: fffff697 auipc a3,0xfffff
+800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost>
+800025b4: fffff617 auipc a2,0xfffff
+800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost>
+800025bc: 0006a703 lw a4,0(a3)
+800025c0: 0046a783 lw a5,4(a3)
+800025c4: 00050813 mv a6,a0
+800025c8: 00158593 addi a1,a1,1
+800025cc: 00f76733 or a4,a4,a5
+800025d0: 010108b7 lui a7,0x1010
+800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4>
+800025d8: 00000713 li a4,0
+800025dc: 00e62023 sw a4,0(a2)
+800025e0: 00000793 li a5,0
+800025e4: 00f62223 sw a5,4(a2)
+800025e8: 0006a703 lw a4,0(a3)
+800025ec: 0046a783 lw a5,4(a3)
+800025f0: 00f76733 or a4,a4,a5
+800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294>
+800025f8: 0005c503 lbu a0,0(a1)
+800025fc: 0106a023 sw a6,0(a3)
+80002600: 0116a223 sw a7,4(a3)
+80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278>
+80002608: f25ff06f j 8000252c <handle_fault+0x1e8>
+8000260c: 04100793 li a5,65
+80002610: 00001597 auipc a1,0x1
+80002614: 8a858593 addi a1,a1,-1880 # 80002eb8 <pass+0x50>
+80002618: fffff697 auipc a3,0xfffff
+8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost>
+80002620: fffff617 auipc a2,0xfffff
+80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost>
+80002628: 0006a803 lw a6,0(a3)
+8000262c: 0046a883 lw a7,4(a3)
+80002630: 00078413 mv s0,a5
+80002634: 00158593 addi a1,a1,1
+80002638: 01186833 or a6,a6,a7
+8000263c: 010104b7 lui s1,0x1010
+80002640: 02080263 beqz a6,80002664 <handle_fault+0x320>
+80002644: 00000793 li a5,0
+80002648: 00f62023 sw a5,0(a2)
+8000264c: 00000813 li a6,0
+80002650: 01062223 sw a6,4(a2)
+80002654: 0006a703 lw a4,0(a3)
+80002658: 0046a783 lw a5,4(a3)
+8000265c: 00f76733 or a4,a4,a5
+80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300>
+80002664: 0005c783 lbu a5,0(a1)
+80002668: 0086a023 sw s0,0(a3)
+8000266c: 0096a223 sw s1,4(a3)
+80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4>
+80002674: eb9ff06f j 8000252c <handle_fault+0x1e8>
+
+80002678 <handle_trap>:
+80002678: 08c52583 lw a1,140(a0)
+8000267c: fb010113 addi sp,sp,-80
+80002680: 03412c23 sw s4,56(sp)
+80002684: 04112623 sw ra,76(sp)
+80002688: 04812423 sw s0,72(sp)
+8000268c: 04912223 sw s1,68(sp)
+80002690: 05212023 sw s2,64(sp)
+80002694: 03312e23 sw s3,60(sp)
+80002698: 03512a23 sw s5,52(sp)
+8000269c: 03612823 sw s6,48(sp)
+800026a0: 03712623 sw s7,44(sp)
+800026a4: 03812423 sw s8,40(sp)
+800026a8: 03912223 sw s9,36(sp)
+800026ac: 03a12023 sw s10,32(sp)
+800026b0: 01b12e23 sw s11,28(sp)
+800026b4: 00800793 li a5,8
+800026b8: 00050a13 mv s4,a0
+800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0>
+800026c0: 00200793 li a5,2
+800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac>
+800026c8: ff458793 addi a5,a1,-12
+800026cc: 00100713 li a4,1
+800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64>
+800026d4: 00f00793 li a5,15
+800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294>
+800026dc: 088a2503 lw a0,136(s4)
+800026e0: c65ff0ef jal ra,80002344 <handle_fault>
+800026e4: 04812403 lw s0,72(sp)
+800026e8: 04c12083 lw ra,76(sp)
+800026ec: 04412483 lw s1,68(sp)
+800026f0: 04012903 lw s2,64(sp)
+800026f4: 03c12983 lw s3,60(sp)
+800026f8: 03412a83 lw s5,52(sp)
+800026fc: 03012b03 lw s6,48(sp)
+80002700: 02c12b83 lw s7,44(sp)
+80002704: 02812c03 lw s8,40(sp)
+80002708: 02412c83 lw s9,36(sp)
+8000270c: 02012d03 lw s10,32(sp)
+80002710: 01c12d83 lw s11,28(sp)
+80002714: 000a0513 mv a0,s4
+80002718: 03812a03 lw s4,56(sp)
+8000271c: 05010113 addi sp,sp,80
+80002720: 91dfd06f j 8000003c <pop_tf>
+80002724: 08452703 lw a4,132(a0)
+80002728: 00377793 andi a5,a4,3
+8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144>
+80002730: 008007ef jal a5,80002738 <handle_trap+0xc0>
+80002734: 00301073 fssr zero
+80002738: 00072703 lw a4,0(a4)
+8000273c: 0007a783 lw a5,0(a5)
+80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c>
+80002744: 04100513 li a0,65
+80002748: 00001597 auipc a1,0x1
+8000274c: 89858593 addi a1,a1,-1896 # 80002fe0 <pass+0x178>
+80002750: fffff697 auipc a3,0xfffff
+80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost>
+80002758: fffff617 auipc a2,0xfffff
+8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost>
+80002760: 0006a703 lw a4,0(a3)
+80002764: 0046a783 lw a5,4(a3)
+80002768: 00050813 mv a6,a0
+8000276c: 00158593 addi a1,a1,1
+80002770: 00f76733 or a4,a4,a5
+80002774: 010108b7 lui a7,0x1010
+80002778: 02070263 beqz a4,8000279c <handle_trap+0x124>
+8000277c: 00000713 li a4,0
+80002780: 00e62023 sw a4,0(a2)
+80002784: 00000793 li a5,0
+80002788: 00f62223 sw a5,4(a2)
+8000278c: 0006a703 lw a4,0(a3)
+80002790: 0046a783 lw a5,4(a3)
+80002794: 00f76733 or a4,a4,a5
+80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104>
+8000279c: 0005c503 lbu a0,0(a1)
+800027a0: 0106a023 sw a6,0(a3)
+800027a4: 0116a223 sw a7,4(a3)
+800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8>
+800027ac: 00300513 li a0,3
+800027b0: a79ff0ef jal ra,80002228 <terminate>
+800027b4: 00100513 li a0,1
+800027b8: a71ff0ef jal ra,80002228 <terminate>
+800027bc: 00001597 auipc a1,0x1
+800027c0: 80058593 addi a1,a1,-2048 # 80002fbc <pass+0x154>
+800027c4: 04100613 li a2,65
+800027c8: fffff697 auipc a3,0xfffff
+800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost>
+800027d0: fffff517 auipc a0,0xfffff
+800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost>
+800027d8: 0006a703 lw a4,0(a3)
+800027dc: 0046a783 lw a5,4(a3)
+800027e0: 00060e13 mv t3,a2
+800027e4: 00158593 addi a1,a1,1
+800027e8: 00f76733 or a4,a4,a5
+800027ec: 01010eb7 lui t4,0x1010
+800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c>
+800027f4: 00000793 li a5,0
+800027f8: 00f52023 sw a5,0(a0)
+800027fc: 00000813 li a6,0
+80002800: 01052223 sw a6,4(a0)
+80002804: 0006a703 lw a4,0(a3)
+80002808: 0046a783 lw a5,4(a3)
+8000280c: 00f76733 or a4,a4,a5
+80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c>
+80002814: 0005c603 lbu a2,0(a1)
+80002818: 01c6a023 sw t3,0(a3)
+8000281c: 01d6a223 sw t4,4(a3)
+80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160>
+80002824: f89ff06f j 800027ac <handle_trap+0x134>
+80002828: 02852783 lw a5,40(a0)
+8000282c: 00001a37 lui s4,0x1
+80002830: 00005b17 auipc s6,0x5
+80002834: 9c8b0b13 addi s6,s6,-1592 # 800071f8 <user_mapping>
+80002838: 00f12223 sw a5,4(sp)
+8000283c: 00002d17 auipc s10,0x2
+80002840: 7c4d0d13 addi s10,s10,1988 # 80005000 <pt>
+80002844: 00040cb7 lui s9,0x40
+80002848: ffc00c37 lui s8,0xffc00
+8000284c: 0003fab7 lui s5,0x3f
+80002850: 01c0006f j 8000286c <handle_trap+0x1f4>
+80002854: 00f72223 sw a5,4(a4)
+80002858: 00005717 auipc a4,0x5
+8000285c: b8f72c23 sw a5,-1128(a4) # 800073f0 <freelist_tail>
+80002860: 000017b7 lui a5,0x1
+80002864: 00fa0a33 add s4,s4,a5
+80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398>
+8000286c: 00ca5713 srli a4,s4,0xc
+80002870: 00371b93 slli s7,a4,0x3
+80002874: 017b0633 add a2,s6,s7
+80002878: 00062603 lw a2,0(a2)
+8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8>
+80002880: 40070713 addi a4,a4,1024
+80002884: 00271713 slli a4,a4,0x2
+80002888: 00ed0733 add a4,s10,a4
+8000288c: 00072703 lw a4,0(a4)
+80002890: 04077613 andi a2,a4,64
+80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c>
+80002898: 00e12623 sw a4,12(sp)
+8000289c: 100cadf3 csrrs s11,sstatus,s9
+800028a0: 018a0833 add a6,s4,s8
+800028a4: 00001637 lui a2,0x1
+800028a8: 00080593 mv a1,a6
+800028ac: 000a0513 mv a0,s4
+800028b0: 01012423 sw a6,8(sp)
+800028b4: 855ff0ef jal ra,80002108 <memcmp>
+800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264>
+800028bc: 00c12703 lw a4,12(sp)
+800028c0: 00812803 lw a6,8(sp)
+800028c4: 08077713 andi a4,a4,128
+800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300>
+800028cc: 00001637 lui a2,0x1
+800028d0: 00080593 mv a1,a6
+800028d4: 000a0513 mv a0,s4
+800028d8: f28ff0ef jal ra,80002000 <memcpy>
+800028dc: 017b07b3 add a5,s6,s7
+800028e0: 100d9073 csrw sstatus,s11
+800028e4: 00005717 auipc a4,0x5
+800028e8: b0c70713 addi a4,a4,-1268 # 800073f0 <freelist_tail>
+800028ec: 00072703 lw a4,0(a4)
+800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000>
+800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc>
+800028f8: 00005717 auipc a4,0x5
+800028fc: aef72c23 sw a5,-1288(a4) # 800073f0 <freelist_tail>
+80002900: 00005717 auipc a4,0x5
+80002904: aef72a23 sw a5,-1292(a4) # 800073f4 <freelist_head>
+80002908: f59ff06f j 80002860 <handle_trap+0x1e8>
+8000290c: 04100593 li a1,65
+80002910: 00000617 auipc a2,0x0
+80002914: 6fc60613 addi a2,a2,1788 # 8000300c <pass+0x1a4>
+80002918: ffffe697 auipc a3,0xffffe
+8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost>
+80002920: ffffe517 auipc a0,0xffffe
+80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost>
+80002928: 0006a703 lw a4,0(a3)
+8000292c: 0046a783 lw a5,4(a3)
+80002930: 00058313 mv t1,a1
+80002934: 00160613 addi a2,a2,1
+80002938: 00f76733 or a4,a4,a5
+8000293c: 010103b7 lui t2,0x1010
+80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec>
+80002944: 00000793 li a5,0
+80002948: 00f52023 sw a5,0(a0)
+8000294c: 00000813 li a6,0
+80002950: 01052223 sw a6,4(a0)
+80002954: 0006a703 lw a4,0(a3)
+80002958: 0046a783 lw a5,4(a3)
+8000295c: 00f76733 or a4,a4,a5
+80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc>
+80002964: 00064583 lbu a1,0(a2)
+80002968: 0066a023 sw t1,0(a3)
+8000296c: 0076a223 sw t2,4(a3)
+80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0>
+80002974: e39ff06f j 800027ac <handle_trap+0x134>
+80002978: 04100793 li a5,65
+8000297c: 00000617 auipc a2,0x0
+80002980: 60c60613 addi a2,a2,1548 # 80002f88 <pass+0x120>
+80002984: ffffe697 auipc a3,0xffffe
+80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost>
+8000298c: ffffe597 auipc a1,0xffffe
+80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost>
+80002994: 00078413 mv s0,a5
+80002998: 00160613 addi a2,a2,1
+8000299c: 010104b7 lui s1,0x1010
+800029a0: 0006a703 lw a4,0(a3)
+800029a4: 0046a783 lw a5,4(a3)
+800029a8: 00f76733 or a4,a4,a5
+800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0>
+800029b0: 00000793 li a5,0
+800029b4: 00000813 li a6,0
+800029b8: 00f5a023 sw a5,0(a1)
+800029bc: 0105a223 sw a6,4(a1)
+800029c0: fe1ff06f j 800029a0 <handle_trap+0x328>
+800029c4: 04100793 li a5,65
+800029c8: 00000617 auipc a2,0x0
+800029cc: 58c60613 addi a2,a2,1420 # 80002f54 <pass+0xec>
+800029d0: ffffe697 auipc a3,0xffffe
+800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost>
+800029d8: ffffe597 auipc a1,0xffffe
+800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost>
+800029e0: 00078913 mv s2,a5
+800029e4: 00160613 addi a2,a2,1
+800029e8: 010109b7 lui s3,0x1010
+800029ec: 0006a703 lw a4,0(a3)
+800029f0: 0046a783 lw a5,4(a3)
+800029f4: 00f76733 or a4,a4,a5
+800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4>
+800029fc: 00000793 li a5,0
+80002a00: 00000813 li a6,0
+80002a04: 00f5a023 sw a5,0(a1)
+80002a08: 0105a223 sw a6,4(a1)
+80002a0c: fe1ff06f j 800029ec <handle_trap+0x374>
+80002a10: 00412503 lw a0,4(sp)
+80002a14: 815ff0ef jal ra,80002228 <terminate>
+80002a18: 00064783 lbu a5,0(a2)
+80002a1c: 0086a023 sw s0,0(a3)
+80002a20: 0096a223 sw s1,4(a3)
+80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c>
+80002a28: d85ff06f j 800027ac <handle_trap+0x134>
+80002a2c: 00064783 lbu a5,0(a2)
+80002a30: 0126a023 sw s2,0(a3)
+80002a34: 0136a223 sw s3,4(a3)
+80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368>
+80002a3c: d71ff06f j 800027ac <handle_trap+0x134>
+
+80002a40 <vm_boot>:
+80002a40: f14027f3 csrr a5,mhartid
+80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158>
+80002a48: 00003797 auipc a5,0x3
+80002a4c: 5b878793 addi a5,a5,1464 # 80006000 <pt+0x1000>
+80002a50: 00c7d793 srli a5,a5,0xc
+80002a54: 00a79793 slli a5,a5,0xa
+80002a58: 0017e793 ori a5,a5,1
+80002a5c: 00002697 auipc a3,0x2
+80002a60: 5af6a223 sw a5,1444(a3) # 80005000 <pt>
+80002a64: 200007b7 lui a5,0x20000
+80002a68: 00002717 auipc a4,0x2
+80002a6c: 59870713 addi a4,a4,1432 # 80005000 <pt>
+80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31>
+80002a74: f6010113 addi sp,sp,-160
+80002a78: 00003697 auipc a3,0x3
+80002a7c: 58f6a223 sw a5,1412(a3) # 80005ffc <pt+0xffc>
+80002a80: 00c75793 srli a5,a4,0xc
+80002a84: 80000737 lui a4,0x80000
+80002a88: 08112e23 sw ra,156(sp)
+80002a8c: 08812c23 sw s0,152(sp)
+80002a90: 00e7e7b3 or a5,a5,a4
+80002a94: 18079073 csrw satp,a5
+80002a98: 01f00793 li a5,31
+80002a9c: fff00713 li a4,-1
+80002aa0: 00000297 auipc t0,0x0
+80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74>
+80002aa8: 305292f3 csrrw t0,mtvec,t0
+80002aac: 3b071073 csrw pmpaddr0,a4
+80002ab0: 3a079073 csrw pmpcfg0,a5
+80002ab4: 7fbfd797 auipc a5,0x7fbfd
+80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf8ccc>
+80002abc: 10579073 csrw stvec,a5
+80002ac0: 340027f3 csrr a5,mscratch
+80002ac4: 7fc00837 lui a6,0x7fc00
+80002ac8: 010787b3 add a5,a5,a6
+80002acc: 14079073 csrw sscratch,a5
+80002ad0: 0000b7b7 lui a5,0xb
+80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00>
+80002ad8: 30279073 csrw medeleg,a5
+80002adc: 0001e7b7 lui a5,0x1e
+80002ae0: 30079073 csrw mstatus,a5
+80002ae4: 30405073 csrwi mie,0
+80002ae8: 7fc04797 auipc a5,0x7fc04
+80002aec: 51878793 addi a5,a5,1304 # ffc07000 <_end+0x7fbffc08>
+80002af0: 00005717 auipc a4,0x5
+80002af4: 90f72223 sw a5,-1788(a4) # 800073f4 <freelist_head>
+80002af8: 7fc04797 auipc a5,0x7fc04
+80002afc: 6f878793 addi a5,a5,1784 # ffc071f0 <_end+0x7fbffdf8>
+80002b00: 00005717 auipc a4,0x5
+80002b04: 8ef72823 sw a5,-1808(a4) # 800073f0 <freelist_tail>
+80002b08: 000808b7 lui a7,0x80
+80002b0c: 00004717 auipc a4,0x4
+80002b10: 4f470713 addi a4,a4,1268 # 80007000 <freelist_nodes>
+80002b14: 00004317 auipc t1,0x4
+80002b18: 6e430313 addi t1,t1,1764 # 800071f8 <user_mapping>
+80002b1c: 00900793 li a5,9
+80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1>
+80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8>
+80002b28: 0017d613 srli a2,a5,0x1
+80002b2c: 011786b3 add a3,a5,a7
+80002b30: 00f647b3 xor a5,a2,a5
+80002b34: 010705b3 add a1,a4,a6
+80002b38: 00c69693 slli a3,a3,0xc
+80002b3c: 00579793 slli a5,a5,0x5
+80002b40: 00d72023 sw a3,0(a4)
+80002b44: 00b72223 sw a1,4(a4)
+80002b48: 0207f793 andi a5,a5,32
+80002b4c: 00870713 addi a4,a4,8
+80002b50: 00f667b3 or a5,a2,a5
+80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8>
+80002b58: 00050413 mv s0,a0
+80002b5c: 09000613 li a2,144
+80002b60: 00000593 li a1,0
+80002b64: 00010513 mv a0,sp
+80002b68: 00004797 auipc a5,0x4
+80002b6c: 6807a623 sw zero,1676(a5) # 800071f4 <freelist_nodes+0x1f4>
+80002b70: cecff0ef jal ra,8000205c <memset>
+80002b74: 800007b7 lui a5,0x80000
+80002b78: 00f40433 add s0,s0,a5
+80002b7c: 00010513 mv a0,sp
+80002b80: 08812223 sw s0,132(sp)
+80002b84: cb8fd0ef jal ra,8000003c <pop_tf>
+80002b88: 09c12083 lw ra,156(sp)
+80002b8c: 09812403 lw s0,152(sp)
+80002b90: 0a010113 addi sp,sp,160
+80002b94: 00008067 ret
+80002b98: 0eae77b7 lui a5,0xeae7
+80002b9c: 00080637 lui a2,0x80
+80002ba0: 51278793 addi a5,a5,1298 # eae7512 <_start-0x71518aee>
+80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004>
+80002ba8: 800005b7 lui a1,0x80000
+80002bac: 00c7f733 and a4,a5,a2
+80002bb0: 0017f693 andi a3,a5,1
+80002bb4: 00b70733 add a4,a4,a1
+80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194>
+80002bbc: 0007202f amoadd.w zero,zero,(a4)
+80002bc0: 0017d793 srli a5,a5,0x1
+80002bc4: 00c7f733 and a4,a5,a2
+80002bc8: 0017f693 andi a3,a5,1
+80002bcc: 00b70733 add a4,a4,a1
+80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c>
+80002bd4: 00072003 lw zero,0(a4)
+80002bd8: 0017d793 srli a5,a5,0x1
+80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184>
+
+80002be0 <userstart>:
+80002be0: 00301073 fssr zero
+
+80002be4 <test_2>:
+80002be4: 00200193 li gp,2
+80002be8: 00001517 auipc a0,0x1
+80002bec: 41850513 addi a0,a0,1048 # 80004000 <test_2_data>
+80002bf0: 00052007 flw ft0,0(a0)
+80002bf4: 00452087 flw ft1,4(a0)
+80002bf8: 00852107 flw ft2,8(a0)
+80002bfc: 00c52683 lw a3,12(a0)
+80002c00: 101071c3 fmadd.s ft3,ft0,ft1,ft2
+80002c04: e0018553 fmv.x.w a0,ft3
+80002c08: 001015f3 fsflags a1,zero
+80002c0c: 00000613 li a2,0
+80002c10: 24d51463 bne a0,a3,80002e58 <fail>
+80002c14: 24c59263 bne a1,a2,80002e58 <fail>
+
+80002c18 <test_3>:
+80002c18: 00300193 li gp,3
+80002c1c: 00001517 auipc a0,0x1
+80002c20: 3f450513 addi a0,a0,1012 # 80004010 <test_3_data>
+80002c24: 00052007 flw ft0,0(a0)
+80002c28: 00452087 flw ft1,4(a0)
+80002c2c: 00852107 flw ft2,8(a0)
+80002c30: 00c52683 lw a3,12(a0)
+80002c34: 101071c3 fmadd.s ft3,ft0,ft1,ft2
+80002c38: e0018553 fmv.x.w a0,ft3
+80002c3c: 001015f3 fsflags a1,zero
+80002c40: 00100613 li a2,1
+80002c44: 20d51a63 bne a0,a3,80002e58 <fail>
+80002c48: 20c59863 bne a1,a2,80002e58 <fail>
+
+80002c4c <test_4>:
+80002c4c: 00400193 li gp,4
+80002c50: 00001517 auipc a0,0x1
+80002c54: 3d050513 addi a0,a0,976 # 80004020 <test_4_data>
+80002c58: 00052007 flw ft0,0(a0)
+80002c5c: 00452087 flw ft1,4(a0)
+80002c60: 00852107 flw ft2,8(a0)
+80002c64: 00c52683 lw a3,12(a0)
+80002c68: 101071c3 fmadd.s ft3,ft0,ft1,ft2
+80002c6c: e0018553 fmv.x.w a0,ft3
+80002c70: 001015f3 fsflags a1,zero
+80002c74: 00000613 li a2,0
+80002c78: 1ed51063 bne a0,a3,80002e58 <fail>
+80002c7c: 1cc59e63 bne a1,a2,80002e58 <fail>
+
+80002c80 <test_5>:
+80002c80: 00500193 li gp,5
+80002c84: 00001517 auipc a0,0x1
+80002c88: 3ac50513 addi a0,a0,940 # 80004030 <test_5_data>
+80002c8c: 00052007 flw ft0,0(a0)
+80002c90: 00452087 flw ft1,4(a0)
+80002c94: 00852107 flw ft2,8(a0)
+80002c98: 00c52683 lw a3,12(a0)
+80002c9c: 101071cf fnmadd.s ft3,ft0,ft1,ft2
+80002ca0: e0018553 fmv.x.w a0,ft3
+80002ca4: 001015f3 fsflags a1,zero
+80002ca8: 00000613 li a2,0
+80002cac: 1ad51663 bne a0,a3,80002e58 <fail>
+80002cb0: 1ac59463 bne a1,a2,80002e58 <fail>
+
+80002cb4 <test_6>:
+80002cb4: 00600193 li gp,6
+80002cb8: 00001517 auipc a0,0x1
+80002cbc: 38850513 addi a0,a0,904 # 80004040 <test_6_data>
+80002cc0: 00052007 flw ft0,0(a0)
+80002cc4: 00452087 flw ft1,4(a0)
+80002cc8: 00852107 flw ft2,8(a0)
+80002ccc: 00c52683 lw a3,12(a0)
+80002cd0: 101071cf fnmadd.s ft3,ft0,ft1,ft2
+80002cd4: e0018553 fmv.x.w a0,ft3
+80002cd8: 001015f3 fsflags a1,zero
+80002cdc: 00100613 li a2,1
+80002ce0: 16d51c63 bne a0,a3,80002e58 <fail>
+80002ce4: 16c59a63 bne a1,a2,80002e58 <fail>
+
+80002ce8 <test_7>:
+80002ce8: 00700193 li gp,7
+80002cec: 00001517 auipc a0,0x1
+80002cf0: 36450513 addi a0,a0,868 # 80004050 <test_7_data>
+80002cf4: 00052007 flw ft0,0(a0)
+80002cf8: 00452087 flw ft1,4(a0)
+80002cfc: 00852107 flw ft2,8(a0)
+80002d00: 00c52683 lw a3,12(a0)
+80002d04: 101071cf fnmadd.s ft3,ft0,ft1,ft2
+80002d08: e0018553 fmv.x.w a0,ft3
+80002d0c: 001015f3 fsflags a1,zero
+80002d10: 00000613 li a2,0
+80002d14: 14d51263 bne a0,a3,80002e58 <fail>
+80002d18: 14c59063 bne a1,a2,80002e58 <fail>
+
+80002d1c <test_8>:
+80002d1c: 00800193 li gp,8
+80002d20: 00001517 auipc a0,0x1
+80002d24: 34050513 addi a0,a0,832 # 80004060 <test_8_data>
+80002d28: 00052007 flw ft0,0(a0)
+80002d2c: 00452087 flw ft1,4(a0)
+80002d30: 00852107 flw ft2,8(a0)
+80002d34: 00c52683 lw a3,12(a0)
+80002d38: 101071c7 fmsub.s ft3,ft0,ft1,ft2
+80002d3c: e0018553 fmv.x.w a0,ft3
+80002d40: 001015f3 fsflags a1,zero
+80002d44: 00000613 li a2,0
+80002d48: 10d51863 bne a0,a3,80002e58 <fail>
+80002d4c: 10c59663 bne a1,a2,80002e58 <fail>
+
+80002d50 <test_9>:
+80002d50: 00900193 li gp,9
+80002d54: 00001517 auipc a0,0x1
+80002d58: 31c50513 addi a0,a0,796 # 80004070 <test_9_data>
+80002d5c: 00052007 flw ft0,0(a0)
+80002d60: 00452087 flw ft1,4(a0)
+80002d64: 00852107 flw ft2,8(a0)
+80002d68: 00c52683 lw a3,12(a0)
+80002d6c: 101071c7 fmsub.s ft3,ft0,ft1,ft2
+80002d70: e0018553 fmv.x.w a0,ft3
+80002d74: 001015f3 fsflags a1,zero
+80002d78: 00100613 li a2,1
+80002d7c: 0cd51e63 bne a0,a3,80002e58 <fail>
+80002d80: 0cc59c63 bne a1,a2,80002e58 <fail>
+
+80002d84 <test_10>:
+80002d84: 00a00193 li gp,10
+80002d88: 00001517 auipc a0,0x1
+80002d8c: 2f850513 addi a0,a0,760 # 80004080 <test_10_data>
+80002d90: 00052007 flw ft0,0(a0)
+80002d94: 00452087 flw ft1,4(a0)
+80002d98: 00852107 flw ft2,8(a0)
+80002d9c: 00c52683 lw a3,12(a0)
+80002da0: 101071c7 fmsub.s ft3,ft0,ft1,ft2
+80002da4: e0018553 fmv.x.w a0,ft3
+80002da8: 001015f3 fsflags a1,zero
+80002dac: 00000613 li a2,0
+80002db0: 0ad51463 bne a0,a3,80002e58 <fail>
+80002db4: 0ac59263 bne a1,a2,80002e58 <fail>
+
+80002db8 <test_11>:
+80002db8: 00b00193 li gp,11
+80002dbc: 00001517 auipc a0,0x1
+80002dc0: 2d450513 addi a0,a0,724 # 80004090 <test_11_data>
+80002dc4: 00052007 flw ft0,0(a0)
+80002dc8: 00452087 flw ft1,4(a0)
+80002dcc: 00852107 flw ft2,8(a0)
+80002dd0: 00c52683 lw a3,12(a0)
+80002dd4: 101071cb fnmsub.s ft3,ft0,ft1,ft2
+80002dd8: e0018553 fmv.x.w a0,ft3
+80002ddc: 001015f3 fsflags a1,zero
+80002de0: 00000613 li a2,0
+80002de4: 06d51a63 bne a0,a3,80002e58 <fail>
+80002de8: 06c59863 bne a1,a2,80002e58 <fail>
+
+80002dec <test_12>:
+80002dec: 00c00193 li gp,12
+80002df0: 00001517 auipc a0,0x1
+80002df4: 2b050513 addi a0,a0,688 # 800040a0 <test_12_data>
+80002df8: 00052007 flw ft0,0(a0)
+80002dfc: 00452087 flw ft1,4(a0)
+80002e00: 00852107 flw ft2,8(a0)
+80002e04: 00c52683 lw a3,12(a0)
+80002e08: 101071cb fnmsub.s ft3,ft0,ft1,ft2
+80002e0c: e0018553 fmv.x.w a0,ft3
+80002e10: 001015f3 fsflags a1,zero
+80002e14: 00100613 li a2,1
+80002e18: 04d51063 bne a0,a3,80002e58 <fail>
+80002e1c: 02c59e63 bne a1,a2,80002e58 <fail>
+
+80002e20 <test_13>:
+80002e20: 00d00193 li gp,13
+80002e24: 00001517 auipc a0,0x1
+80002e28: 28c50513 addi a0,a0,652 # 800040b0 <test_13_data>
+80002e2c: 00052007 flw ft0,0(a0)
+80002e30: 00452087 flw ft1,4(a0)
+80002e34: 00852107 flw ft2,8(a0)
+80002e38: 00c52683 lw a3,12(a0)
+80002e3c: 101071cb fnmsub.s ft3,ft0,ft1,ft2
+80002e40: e0018553 fmv.x.w a0,ft3
+80002e44: 001015f3 fsflags a1,zero
+80002e48: 00000613 li a2,0
+80002e4c: 00d51663 bne a0,a3,80002e58 <fail>
+80002e50: 00c59463 bne a1,a2,80002e58 <fail>
+80002e54: 00301a63 bne zero,gp,80002e68 <pass>
+
+80002e58 <fail>:
+80002e58: 00119513 slli a0,gp,0x1
+80002e5c: 00050063 beqz a0,80002e5c <fail+0x4>
+80002e60: 00156513 ori a0,a0,1
+80002e64: 00000073 ecall
+
+80002e68 <pass>:
+80002e68: 00100513 li a0,1
+80002e6c: 00000073 ecall
+80002e70: c0001073 unimp
+
+Disassembly of section .data:
+
+80004000 <test_2_data>:
+80004000: 0000 unimp
+80004002: 3f80 fld fs0,56(a5)
+80004004: 0000 unimp
+80004006: 4020 lw s0,64(s0)
+80004008: 0000 unimp
+8000400a: 3f80 fld fs0,56(a5)
+8000400c: 0000 unimp
+8000400e: 4060 lw s0,68(s0)
+
+80004010 <test_3_data>:
+80004010: 0000 unimp
+80004012: bf80 fsd fs0,56(a5)
+80004014: c49a6333 0xc49a6333
+80004018: cccd beqz s1,800040d2 <begin_signature+0x12>
+8000401a: 3f8c fld fa1,56(a5)
+8000401c: 8666 mv a2,s9
+8000401e: 449a lw s1,132(sp)
+
+80004020 <test_4_data>:
+80004020: 0000 unimp
+80004022: 4000 lw s0,0(s0)
+80004024: 0000 unimp
+80004026: c0a0 sw s0,64(s1)
+80004028: 0000 unimp
+8000402a: c000 sw s0,0(s0)
+8000402c: 0000 unimp
+8000402e: c140 sw s0,4(a0)
+
+80004030 <test_5_data>:
+80004030: 0000 unimp
+80004032: 3f80 fld fs0,56(a5)
+80004034: 0000 unimp
+80004036: 4020 lw s0,64(s0)
+80004038: 0000 unimp
+8000403a: 3f80 fld fs0,56(a5)
+8000403c: 0000 unimp
+8000403e: c060 sw s0,68(s0)
+
+80004040 <test_6_data>:
+80004040: 0000 unimp
+80004042: bf80 fsd fs0,56(a5)
+80004044: c49a6333 0xc49a6333
+80004048: cccd beqz s1,80004102 <begin_signature+0x42>
+8000404a: 3f8c fld fa1,56(a5)
+8000404c: 8666 mv a2,s9
+8000404e: c49a sw t1,72(sp)
+
+80004050 <test_7_data>:
+80004050: 0000 unimp
+80004052: 4000 lw s0,0(s0)
+80004054: 0000 unimp
+80004056: c0a0 sw s0,64(s1)
+80004058: 0000 unimp
+8000405a: c000 sw s0,0(s0)
+8000405c: 0000 unimp
+8000405e: 4140 lw s0,4(a0)
+
+80004060 <test_8_data>:
+80004060: 0000 unimp
+80004062: 3f80 fld fs0,56(a5)
+80004064: 0000 unimp
+80004066: 4020 lw s0,64(s0)
+80004068: 0000 unimp
+8000406a: 3f80 fld fs0,56(a5)
+8000406c: 0000 unimp
+8000406e: 3fc0 fld fs0,184(a5)
+
+80004070 <test_9_data>:
+80004070: 0000 unimp
+80004072: bf80 fsd fs0,56(a5)
+80004074: c49a6333 0xc49a6333
+80004078: cccd beqz s1,80004132 <begin_signature+0x72>
+8000407a: 3f8c fld fa1,56(a5)
+8000407c: 4000 lw s0,0(s0)
+8000407e: 449a lw s1,132(sp)
+
+80004080 <test_10_data>:
+80004080: 0000 unimp
+80004082: 4000 lw s0,0(s0)
+80004084: 0000 unimp
+80004086: c0a0 sw s0,64(s1)
+80004088: 0000 unimp
+8000408a: c000 sw s0,0(s0)
+8000408c: 0000 unimp
+8000408e: c100 sw s0,0(a0)
+
+80004090 <test_11_data>:
+80004090: 0000 unimp
+80004092: 3f80 fld fs0,56(a5)
+80004094: 0000 unimp
+80004096: 4020 lw s0,64(s0)
+80004098: 0000 unimp
+8000409a: 3f80 fld fs0,56(a5)
+8000409c: 0000 unimp
+8000409e: bfc0 fsd fs0,184(a5)
+
+800040a0 <test_12_data>:
+800040a0: 0000 unimp
+800040a2: bf80 fsd fs0,56(a5)
+800040a4: c49a6333 0xc49a6333
+800040a8: cccd beqz s1,80004162 <begin_signature+0xa2>
+800040aa: 3f8c fld fa1,56(a5)
+800040ac: 4000 lw s0,0(s0)
+800040ae: c49a sw t1,72(sp)
+
+800040b0 <test_13_data>:
+800040b0: 0000 unimp
+800040b2: 4000 lw s0,0(s0)
+800040b4: 0000 unimp
+800040b6: c0a0 sw s0,64(s1)
+800040b8: 0000 unimp
+800040ba: c000 sw s0,0(s0)
+800040bc: 0000 unimp
+800040be: 4100 lw s0,0(a0)
diff --git a/test/riscv-tests/rv32uf-v-fmadd.elf b/test/riscv-tests/rv32uf-v-fmadd.elf
new file mode 100644
index 0000000..160f48f
--- /dev/null
+++ b/test/riscv-tests/rv32uf-v-fmadd.elf
Binary files differ
diff --git a/test/riscv-tests/rv32uf-v-fmin.dump b/test/riscv-tests/rv32uf-v-fmin.dump
new file mode 100644
index 0000000..9b04ca2
--- /dev/null
+++ b/test/riscv-tests/rv32uf-v-fmin.dump
@@ -0,0 +1,1348 @@
+
+rv32uf-v-fmin: file format elf32-littleriscv
+
+
+Disassembly of section .text.init:
+
+80000000 <_start>:
+80000000: 00c0006f j 8000000c <handle_reset>
+
+80000004 <nmi_vector>:
+80000004: 2780206f j 8000227c <wtf>
+
+80000008 <trap_vector>:
+80000008: 2740206f j 8000227c <wtf>
+
+8000000c <handle_reset>:
+8000000c: 00000297 auipc t0,0x0
+80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+80000014: 30529073 csrw mtvec,t0
+80000018: 00008117 auipc sp,0x8
+8000001c: 35010113 addi sp,sp,848 # 80008368 <_end+0xf70>
+80000020: f14022f3 csrr t0,mhartid
+80000024: 00c29293 slli t0,t0,0xc
+80000028: 00510133 add sp,sp,t0
+8000002c: 34011073 csrw mscratch,sp
+80000030: 00003517 auipc a0,0x3
+80000034: bb050513 addi a0,a0,-1104 # 80002be0 <userstart>
+80000038: 2090206f j 80002a40 <vm_boot>
+
+8000003c <pop_tf>:
+8000003c: 08452283 lw t0,132(a0)
+80000040: 14129073 csrw sepc,t0
+80000044: 00452083 lw ra,4(a0)
+80000048: 00852103 lw sp,8(a0)
+8000004c: 00c52183 lw gp,12(a0)
+80000050: 01052203 lw tp,16(a0)
+80000054: 01452283 lw t0,20(a0)
+80000058: 01852303 lw t1,24(a0)
+8000005c: 01c52383 lw t2,28(a0)
+80000060: 02052403 lw s0,32(a0)
+80000064: 02452483 lw s1,36(a0)
+80000068: 02c52583 lw a1,44(a0)
+8000006c: 03052603 lw a2,48(a0)
+80000070: 03452683 lw a3,52(a0)
+80000074: 03852703 lw a4,56(a0)
+80000078: 03c52783 lw a5,60(a0)
+8000007c: 04052803 lw a6,64(a0)
+80000080: 04452883 lw a7,68(a0)
+80000084: 04852903 lw s2,72(a0)
+80000088: 04c52983 lw s3,76(a0)
+8000008c: 05052a03 lw s4,80(a0)
+80000090: 05452a83 lw s5,84(a0)
+80000094: 05852b03 lw s6,88(a0)
+80000098: 05c52b83 lw s7,92(a0)
+8000009c: 06052c03 lw s8,96(a0)
+800000a0: 06452c83 lw s9,100(a0)
+800000a4: 06852d03 lw s10,104(a0)
+800000a8: 06c52d83 lw s11,108(a0)
+800000ac: 07052e03 lw t3,112(a0)
+800000b0: 07452e83 lw t4,116(a0)
+800000b4: 07852f03 lw t5,120(a0)
+800000b8: 07c52f83 lw t6,124(a0)
+800000bc: 02852503 lw a0,40(a0)
+800000c0: 10200073 sret
+
+800000c4 <trap_entry>:
+800000c4: 14011173 csrrw sp,sscratch,sp
+800000c8: 00112223 sw ra,4(sp)
+800000cc: 00312623 sw gp,12(sp)
+800000d0: 00412823 sw tp,16(sp)
+800000d4: 00512a23 sw t0,20(sp)
+800000d8: 00612c23 sw t1,24(sp)
+800000dc: 00712e23 sw t2,28(sp)
+800000e0: 02812023 sw s0,32(sp)
+800000e4: 02912223 sw s1,36(sp)
+800000e8: 02a12423 sw a0,40(sp)
+800000ec: 02b12623 sw a1,44(sp)
+800000f0: 02c12823 sw a2,48(sp)
+800000f4: 02d12a23 sw a3,52(sp)
+800000f8: 02e12c23 sw a4,56(sp)
+800000fc: 02f12e23 sw a5,60(sp)
+80000100: 05012023 sw a6,64(sp)
+80000104: 05112223 sw a7,68(sp)
+80000108: 05212423 sw s2,72(sp)
+8000010c: 05312623 sw s3,76(sp)
+80000110: 05412823 sw s4,80(sp)
+80000114: 05512a23 sw s5,84(sp)
+80000118: 05612c23 sw s6,88(sp)
+8000011c: 05712e23 sw s7,92(sp)
+80000120: 07812023 sw s8,96(sp)
+80000124: 07912223 sw s9,100(sp)
+80000128: 07a12423 sw s10,104(sp)
+8000012c: 07b12623 sw s11,108(sp)
+80000130: 07c12823 sw t3,112(sp)
+80000134: 07d12a23 sw t4,116(sp)
+80000138: 07e12c23 sw t5,120(sp)
+8000013c: 07f12e23 sw t6,124(sp)
+80000140: 140112f3 csrrw t0,sscratch,sp
+80000144: 00512423 sw t0,8(sp)
+80000148: 100022f3 csrr t0,sstatus
+8000014c: 08512023 sw t0,128(sp)
+80000150: 141022f3 csrr t0,sepc
+80000154: 08512223 sw t0,132(sp)
+80000158: 143022f3 csrr t0,stval
+8000015c: 08512423 sw t0,136(sp)
+80000160: 142022f3 csrr t0,scause
+80000164: 08512623 sw t0,140(sp)
+80000168: 00010513 mv a0,sp
+8000016c: 50c0206f j 80002678 <handle_trap>
+
+Disassembly of section .text:
+
+80002000 <memcpy>:
+80002000: 00c5e7b3 or a5,a1,a2
+80002004: 00f567b3 or a5,a0,a5
+80002008: 0037f793 andi a5,a5,3
+8000200c: 00c506b3 add a3,a0,a2
+80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+80002014: 00c58633 add a2,a1,a2
+80002018: 00050793 mv a5,a0
+8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+80002020: 00158593 addi a1,a1,1
+80002024: fff5c703 lbu a4,-1(a1)
+80002028: 00178793 addi a5,a5,1
+8000202c: fee78fa3 sb a4,-1(a5)
+80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+80002034: 00008067 ret
+80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+8000203c: 00050793 mv a5,a0
+80002040: 00458593 addi a1,a1,4
+80002044: ffc5a703 lw a4,-4(a1)
+80002048: 00478793 addi a5,a5,4
+8000204c: fee7ae23 sw a4,-4(a5)
+80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+80002054: 00008067 ret
+80002058: 00008067 ret
+
+8000205c <memset>:
+8000205c: 00c567b3 or a5,a0,a2
+80002060: 0037f793 andi a5,a5,3
+80002064: 00c50633 add a2,a0,a2
+80002068: 02078063 beqz a5,80002088 <memset+0x2c>
+8000206c: 0ff5f593 andi a1,a1,255
+80002070: 00050793 mv a5,a0
+80002074: 04c57063 bleu a2,a0,800020b4 <memset+0x58>
+80002078: 00178793 addi a5,a5,1
+8000207c: feb78fa3 sb a1,-1(a5)
+80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+80002084: 00008067 ret
+80002088: 0ff5f593 andi a1,a1,255
+8000208c: 00859793 slli a5,a1,0x8
+80002090: 00b7e7b3 or a5,a5,a1
+80002094: 01079593 slli a1,a5,0x10
+80002098: 00f5e5b3 or a1,a1,a5
+8000209c: fec574e3 bleu a2,a0,80002084 <memset+0x28>
+800020a0: 00050793 mv a5,a0
+800020a4: 00478793 addi a5,a5,4
+800020a8: feb7ae23 sw a1,-4(a5)
+800020ac: fec7ece3 bltu a5,a2,800020a4 <memset+0x48>
+800020b0: 00008067 ret
+800020b4: 00008067 ret
+
+800020b8 <strlen>:
+800020b8: 00054783 lbu a5,0(a0)
+800020bc: 00050713 mv a4,a0
+800020c0: 00078c63 beqz a5,800020d8 <strlen+0x20>
+800020c4: 00150513 addi a0,a0,1
+800020c8: 00054783 lbu a5,0(a0)
+800020cc: fe079ce3 bnez a5,800020c4 <strlen+0xc>
+800020d0: 40e50533 sub a0,a0,a4
+800020d4: 00008067 ret
+800020d8: 00000513 li a0,0
+800020dc: 00008067 ret
+
+800020e0 <strcmp>:
+800020e0: 00150513 addi a0,a0,1
+800020e4: fff54783 lbu a5,-1(a0)
+800020e8: 00158593 addi a1,a1,1
+800020ec: fff5c703 lbu a4,-1(a1)
+800020f0: 00078863 beqz a5,80002100 <strcmp+0x20>
+800020f4: fee786e3 beq a5,a4,800020e0 <strcmp>
+800020f8: 40e78533 sub a0,a5,a4
+800020fc: 00008067 ret
+80002100: 00000793 li a5,0
+80002104: ff5ff06f j 800020f8 <strcmp+0x18>
+
+80002108 <memcmp>:
+80002108: 00b567b3 or a5,a0,a1
+8000210c: 0037f793 andi a5,a5,3
+80002110: 04079263 bnez a5,80002154 <memcmp+0x4c>
+80002114: ffc67693 andi a3,a2,-4
+80002118: 00d506b3 add a3,a0,a3
+8000211c: 00050813 mv a6,a0
+80002120: 02d57a63 bleu a3,a0,80002154 <memcmp+0x4c>
+80002124: 00052703 lw a4,0(a0)
+80002128: 0005a783 lw a5,0(a1)
+8000212c: 00f70a63 beq a4,a5,80002140 <memcmp+0x38>
+80002130: 0240006f j 80002154 <memcmp+0x4c>
+80002134: 00052703 lw a4,0(a0)
+80002138: 0005a783 lw a5,0(a1)
+8000213c: 00f71863 bne a4,a5,8000214c <memcmp+0x44>
+80002140: 00450513 addi a0,a0,4
+80002144: 00458593 addi a1,a1,4
+80002148: fed566e3 bltu a0,a3,80002134 <memcmp+0x2c>
+8000214c: 41050833 sub a6,a0,a6
+80002150: 41060633 sub a2,a2,a6
+80002154: 00c58633 add a2,a1,a2
+80002158: 0140006f j 8000216c <memcmp+0x64>
+8000215c: 00158593 addi a1,a1,1
+80002160: fff54783 lbu a5,-1(a0)
+80002164: fff5c703 lbu a4,-1(a1)
+80002168: 00e79a63 bne a5,a4,8000217c <memcmp+0x74>
+8000216c: 00150513 addi a0,a0,1
+80002170: fec596e3 bne a1,a2,8000215c <memcmp+0x54>
+80002174: 00000513 li a0,0
+80002178: 00008067 ret
+8000217c: 40e78533 sub a0,a5,a4
+80002180: 00008067 ret
+
+80002184 <strcpy>:
+80002184: 00050793 mv a5,a0
+80002188: 00158593 addi a1,a1,1
+8000218c: fff5c703 lbu a4,-1(a1)
+80002190: 00178793 addi a5,a5,1
+80002194: fee78fa3 sb a4,-1(a5)
+80002198: fe0718e3 bnez a4,80002188 <strcpy+0x4>
+8000219c: 00008067 ret
+
+800021a0 <atol>:
+800021a0: 00054783 lbu a5,0(a0)
+800021a4: 02000713 li a4,32
+800021a8: 00e79863 bne a5,a4,800021b8 <atol+0x18>
+800021ac: 00150513 addi a0,a0,1
+800021b0: 00054783 lbu a5,0(a0)
+800021b4: fee78ce3 beq a5,a4,800021ac <atol+0xc>
+800021b8: fd578713 addi a4,a5,-43
+800021bc: 0fd77713 andi a4,a4,253
+800021c0: 04070263 beqz a4,80002204 <atol+0x64>
+800021c4: 00054683 lbu a3,0(a0)
+800021c8: 00050793 mv a5,a0
+800021cc: 00000613 li a2,0
+800021d0: 04068863 beqz a3,80002220 <atol+0x80>
+800021d4: 00000513 li a0,0
+800021d8: 00178793 addi a5,a5,1
+800021dc: fd068593 addi a1,a3,-48
+800021e0: 00251713 slli a4,a0,0x2
+800021e4: 0007c683 lbu a3,0(a5)
+800021e8: 00a70533 add a0,a4,a0
+800021ec: 00151513 slli a0,a0,0x1
+800021f0: 00a58533 add a0,a1,a0
+800021f4: fe0692e3 bnez a3,800021d8 <atol+0x38>
+800021f8: 00060463 beqz a2,80002200 <atol+0x60>
+800021fc: 40a00533 neg a0,a0
+80002200: 00008067 ret
+80002204: 00154683 lbu a3,1(a0)
+80002208: fd378793 addi a5,a5,-45
+8000220c: 0017b613 seqz a2,a5
+80002210: 00150793 addi a5,a0,1
+80002214: fc0690e3 bnez a3,800021d4 <atol+0x34>
+80002218: 00000513 li a0,0
+8000221c: fddff06f j 800021f8 <atol+0x58>
+80002220: 00000513 li a0,0
+80002224: 00008067 ret
+
+80002228 <terminate>:
+80002228: fffff697 auipc a3,0xfffff
+8000222c: dd868693 addi a3,a3,-552 # 80001000 <tohost>
+80002230: 0006a703 lw a4,0(a3)
+80002234: 0046a783 lw a5,4(a3)
+80002238: 00050813 mv a6,a0
+8000223c: 41f55893 srai a7,a0,0x1f
+80002240: 00f76733 or a4,a4,a5
+80002244: 02070663 beqz a4,80002270 <terminate+0x48>
+80002248: fffff617 auipc a2,0xfffff
+8000224c: df860613 addi a2,a2,-520 # 80001040 <fromhost>
+80002250: 00000713 li a4,0
+80002254: 00e62023 sw a4,0(a2)
+80002258: 00000793 li a5,0
+8000225c: 00f62223 sw a5,4(a2)
+80002260: 0006a703 lw a4,0(a3)
+80002264: 0046a783 lw a5,4(a3)
+80002268: 00f76733 or a4,a4,a5
+8000226c: fe0712e3 bnez a4,80002250 <terminate+0x28>
+80002270: 0106a023 sw a6,0(a3)
+80002274: 0116a223 sw a7,4(a3)
+80002278: 0000006f j 80002278 <terminate+0x50>
+
+8000227c <wtf>:
+8000227c: ff010113 addi sp,sp,-16
+80002280: 34900513 li a0,841
+80002284: 00112623 sw ra,12(sp)
+80002288: fa1ff0ef jal ra,80002228 <terminate>
+
+8000228c <printhex>:
+8000228c: fe010113 addi sp,sp,-32
+80002290: 01b10793 addi a5,sp,27
+80002294: 00b10e93 addi t4,sp,11
+80002298: 00900e13 li t3,9
+8000229c: 00f57693 andi a3,a0,15
+800022a0: 01c59313 slli t1,a1,0x1c
+800022a4: 00455513 srli a0,a0,0x4
+800022a8: 05700613 li a2,87
+800022ac: 0ff6f713 andi a4,a3,255
+800022b0: 00de6463 bltu t3,a3,800022b8 <printhex+0x2c>
+800022b4: 03000613 li a2,48
+800022b8: 00c70733 add a4,a4,a2
+800022bc: 00e78023 sb a4,0(a5)
+800022c0: fff78793 addi a5,a5,-1
+800022c4: 00a36533 or a0,t1,a0
+800022c8: 0045d593 srli a1,a1,0x4
+800022cc: fdd798e3 bne a5,t4,8000229c <printhex+0x10>
+800022d0: 00c14583 lbu a1,12(sp)
+800022d4: 00010e23 sb zero,28(sp)
+800022d8: 06058263 beqz a1,8000233c <printhex+0xb0>
+800022dc: 00c10513 addi a0,sp,12
+800022e0: fffff697 auipc a3,0xfffff
+800022e4: d2068693 addi a3,a3,-736 # 80001000 <tohost>
+800022e8: fffff617 auipc a2,0xfffff
+800022ec: d5860613 addi a2,a2,-680 # 80001040 <fromhost>
+800022f0: 0006a703 lw a4,0(a3)
+800022f4: 0046a783 lw a5,4(a3)
+800022f8: 00058813 mv a6,a1
+800022fc: 00150513 addi a0,a0,1
+80002300: 00f76733 or a4,a4,a5
+80002304: 010108b7 lui a7,0x1010
+80002308: 02070263 beqz a4,8000232c <printhex+0xa0>
+8000230c: 00000713 li a4,0
+80002310: 00e62023 sw a4,0(a2)
+80002314: 00000793 li a5,0
+80002318: 00f62223 sw a5,4(a2)
+8000231c: 0006a703 lw a4,0(a3)
+80002320: 0046a783 lw a5,4(a3)
+80002324: 00f76733 or a4,a4,a5
+80002328: fe0712e3 bnez a4,8000230c <printhex+0x80>
+8000232c: 00054583 lbu a1,0(a0)
+80002330: 0106a023 sw a6,0(a3)
+80002334: 0116a223 sw a7,4(a3)
+80002338: fa059ce3 bnez a1,800022f0 <printhex+0x64>
+8000233c: 02010113 addi sp,sp,32
+80002340: 00008067 ret
+
+80002344 <handle_fault>:
+80002344: ff010113 addi sp,sp,-16
+80002348: fffff6b7 lui a3,0xfffff
+8000234c: 00112623 sw ra,12(sp)
+80002350: 00812423 sw s0,8(sp)
+80002354: 00912223 sw s1,4(sp)
+80002358: 00d50733 add a4,a0,a3
+8000235c: 0003e7b7 lui a5,0x3e
+80002360: 16f77263 bleu a5,a4,800024c4 <handle_fault+0x180>
+80002364: 00c55613 srli a2,a0,0xc
+80002368: 40060e13 addi t3,a2,1024
+8000236c: 00003317 auipc t1,0x3
+80002370: c9430313 addi t1,t1,-876 # 80005000 <pt>
+80002374: 002e1793 slli a5,t3,0x2
+80002378: 00f307b3 add a5,t1,a5
+8000237c: 0007a703 lw a4,0(a5) # 3e000 <_start-0x7ffc2000>
+80002380: 00d57533 and a0,a0,a3
+80002384: 0e071863 bnez a4,80002474 <handle_fault+0x130>
+80002388: 00005797 auipc a5,0x5
+8000238c: 06c78793 addi a5,a5,108 # 800073f4 <freelist_head>
+80002390: 0007a583 lw a1,0(a5)
+80002394: 1a058063 beqz a1,80002534 <handle_fault+0x1f0>
+80002398: 0045a783 lw a5,4(a1)
+8000239c: 00005717 auipc a4,0x5
+800023a0: 05470713 addi a4,a4,84 # 800073f0 <freelist_tail>
+800023a4: 00072703 lw a4,0(a4)
+800023a8: 00005697 auipc a3,0x5
+800023ac: 04f6a623 sw a5,76(a3) # 800073f4 <freelist_head>
+800023b0: 10e78463 beq a5,a4,800024b8 <handle_fault+0x174>
+800023b4: 0005a703 lw a4,0(a1)
+800023b8: 002e1793 slli a5,t3,0x2
+800023bc: 00f307b3 add a5,t1,a5
+800023c0: 00c75713 srli a4,a4,0xc
+800023c4: 00a71713 slli a4,a4,0xa
+800023c8: 0df76e93 ori t4,a4,223
+800023cc: 01f76693 ori a3,a4,31
+800023d0: 01d7a023 sw t4,0(a5)
+800023d4: 12050073 sfence.vma a0
+800023d8: 00005717 auipc a4,0x5
+800023dc: e2070713 addi a4,a4,-480 # 800071f8 <user_mapping>
+800023e0: 00361793 slli a5,a2,0x3
+800023e4: 00f707b3 add a5,a4,a5
+800023e8: 0007a703 lw a4,0(a5)
+800023ec: 1a071a63 bnez a4,800025a0 <handle_fault+0x25c>
+800023f0: 0005a703 lw a4,0(a1)
+800023f4: 00e7a023 sw a4,0(a5)
+800023f8: 0045a703 lw a4,4(a1)
+800023fc: 00e7a223 sw a4,4(a5)
+80002400: 000407b7 lui a5,0x40
+80002404: 1007a5f3 csrrs a1,sstatus,a5
+80002408: ffc007b7 lui a5,0xffc00
+8000240c: 00f507b3 add a5,a0,a5
+80002410: 00001637 lui a2,0x1
+80002414: 00050713 mv a4,a0
+80002418: 00c78633 add a2,a5,a2
+8000241c: 0007af03 lw t5,0(a5) # ffc00000 <_end+0x7fbf8c08>
+80002420: 0047ae83 lw t4,4(a5)
+80002424: 0087a883 lw a7,8(a5)
+80002428: 00c7a803 lw a6,12(a5)
+8000242c: 01e72023 sw t5,0(a4)
+80002430: 01d72223 sw t4,4(a4)
+80002434: 01172423 sw a7,8(a4)
+80002438: 01072623 sw a6,12(a4)
+8000243c: 01078793 addi a5,a5,16
+80002440: 01070713 addi a4,a4,16
+80002444: fcc79ce3 bne a5,a2,8000241c <handle_fault+0xd8>
+80002448: 10059073 csrw sstatus,a1
+8000244c: 002e1e13 slli t3,t3,0x2
+80002450: 01c30333 add t1,t1,t3
+80002454: 00d32023 sw a3,0(t1)
+80002458: 12050073 sfence.vma a0
+8000245c: 0000100f fence.i
+80002460: 00c12083 lw ra,12(sp)
+80002464: 00812403 lw s0,8(sp)
+80002468: 00412483 lw s1,4(sp)
+8000246c: 01010113 addi sp,sp,16
+80002470: 00008067 ret
+80002474: 04077693 andi a3,a4,64
+80002478: 02069263 bnez a3,8000249c <handle_fault+0x158>
+8000247c: 04076713 ori a4,a4,64
+80002480: 00e7a023 sw a4,0(a5)
+80002484: 12050073 sfence.vma a0
+80002488: 00c12083 lw ra,12(sp)
+8000248c: 00812403 lw s0,8(sp)
+80002490: 00412483 lw s1,4(sp)
+80002494: 01010113 addi sp,sp,16
+80002498: 00008067 ret
+8000249c: 08077693 andi a3,a4,128
+800024a0: 16069663 bnez a3,8000260c <handle_fault+0x2c8>
+800024a4: 00f00693 li a3,15
+800024a8: 16d59263 bne a1,a3,8000260c <handle_fault+0x2c8>
+800024ac: 08076713 ori a4,a4,128
+800024b0: 00e7a023 sw a4,0(a5)
+800024b4: fd1ff06f j 80002484 <handle_fault+0x140>
+800024b8: 00005797 auipc a5,0x5
+800024bc: f207ac23 sw zero,-200(a5) # 800073f0 <freelist_tail>
+800024c0: ef5ff06f j 800023b4 <handle_fault+0x70>
+800024c4: 04100513 li a0,65
+800024c8: 00001597 auipc a1,0x1
+800024cc: ae458593 addi a1,a1,-1308 # 80002fac <pass+0xc>
+800024d0: fffff697 auipc a3,0xfffff
+800024d4: b3068693 addi a3,a3,-1232 # 80001000 <tohost>
+800024d8: fffff617 auipc a2,0xfffff
+800024dc: b6860613 addi a2,a2,-1176 # 80001040 <fromhost>
+800024e0: 0006a703 lw a4,0(a3)
+800024e4: 0046a783 lw a5,4(a3)
+800024e8: 00050313 mv t1,a0
+800024ec: 00158593 addi a1,a1,1
+800024f0: 00f76733 or a4,a4,a5
+800024f4: 010103b7 lui t2,0x1010
+800024f8: 02070263 beqz a4,8000251c <handle_fault+0x1d8>
+800024fc: 00000793 li a5,0
+80002500: 00f62023 sw a5,0(a2)
+80002504: 00000813 li a6,0
+80002508: 01062223 sw a6,4(a2)
+8000250c: 0006a703 lw a4,0(a3)
+80002510: 0046a783 lw a5,4(a3)
+80002514: 00f76733 or a4,a4,a5
+80002518: fe0712e3 bnez a4,800024fc <handle_fault+0x1b8>
+8000251c: 0005c503 lbu a0,0(a1)
+80002520: 0066a023 sw t1,0(a3)
+80002524: 0076a223 sw t2,4(a3)
+80002528: fa051ce3 bnez a0,800024e0 <handle_fault+0x19c>
+8000252c: 00300513 li a0,3
+80002530: cf9ff0ef jal ra,80002228 <terminate>
+80002534: 04100513 li a0,65
+80002538: 00001597 auipc a1,0x1
+8000253c: b0058593 addi a1,a1,-1280 # 80003038 <pass+0x98>
+80002540: fffff697 auipc a3,0xfffff
+80002544: ac068693 addi a3,a3,-1344 # 80001000 <tohost>
+80002548: fffff617 auipc a2,0xfffff
+8000254c: af860613 addi a2,a2,-1288 # 80001040 <fromhost>
+80002550: 0006a703 lw a4,0(a3)
+80002554: 0046a783 lw a5,4(a3)
+80002558: 00050f13 mv t5,a0
+8000255c: 00158593 addi a1,a1,1
+80002560: 00f76733 or a4,a4,a5
+80002564: 01010fb7 lui t6,0x1010
+80002568: 02070263 beqz a4,8000258c <handle_fault+0x248>
+8000256c: 00000793 li a5,0
+80002570: 00f62023 sw a5,0(a2)
+80002574: 00000813 li a6,0
+80002578: 01062223 sw a6,4(a2)
+8000257c: 0006a703 lw a4,0(a3)
+80002580: 0046a783 lw a5,4(a3)
+80002584: 00f76733 or a4,a4,a5
+80002588: fe0712e3 bnez a4,8000256c <handle_fault+0x228>
+8000258c: 0005c503 lbu a0,0(a1)
+80002590: 01e6a023 sw t5,0(a3)
+80002594: 01f6a223 sw t6,4(a3)
+80002598: fa051ce3 bnez a0,80002550 <handle_fault+0x20c>
+8000259c: f91ff06f j 8000252c <handle_fault+0x1e8>
+800025a0: 04100513 li a0,65
+800025a4: 00001597 auipc a1,0x1
+800025a8: aac58593 addi a1,a1,-1364 # 80003050 <pass+0xb0>
+800025ac: fffff697 auipc a3,0xfffff
+800025b0: a5468693 addi a3,a3,-1452 # 80001000 <tohost>
+800025b4: fffff617 auipc a2,0xfffff
+800025b8: a8c60613 addi a2,a2,-1396 # 80001040 <fromhost>
+800025bc: 0006a703 lw a4,0(a3)
+800025c0: 0046a783 lw a5,4(a3)
+800025c4: 00050813 mv a6,a0
+800025c8: 00158593 addi a1,a1,1
+800025cc: 00f76733 or a4,a4,a5
+800025d0: 010108b7 lui a7,0x1010
+800025d4: 02070263 beqz a4,800025f8 <handle_fault+0x2b4>
+800025d8: 00000713 li a4,0
+800025dc: 00e62023 sw a4,0(a2)
+800025e0: 00000793 li a5,0
+800025e4: 00f62223 sw a5,4(a2)
+800025e8: 0006a703 lw a4,0(a3)
+800025ec: 0046a783 lw a5,4(a3)
+800025f0: 00f76733 or a4,a4,a5
+800025f4: fe0712e3 bnez a4,800025d8 <handle_fault+0x294>
+800025f8: 0005c503 lbu a0,0(a1)
+800025fc: 0106a023 sw a6,0(a3)
+80002600: 0116a223 sw a7,4(a3)
+80002604: fa051ce3 bnez a0,800025bc <handle_fault+0x278>
+80002608: f25ff06f j 8000252c <handle_fault+0x1e8>
+8000260c: 04100793 li a5,65
+80002610: 00001597 auipc a1,0x1
+80002614: 9e058593 addi a1,a1,-1568 # 80002ff0 <pass+0x50>
+80002618: fffff697 auipc a3,0xfffff
+8000261c: 9e868693 addi a3,a3,-1560 # 80001000 <tohost>
+80002620: fffff617 auipc a2,0xfffff
+80002624: a2060613 addi a2,a2,-1504 # 80001040 <fromhost>
+80002628: 0006a803 lw a6,0(a3)
+8000262c: 0046a883 lw a7,4(a3)
+80002630: 00078413 mv s0,a5
+80002634: 00158593 addi a1,a1,1
+80002638: 01186833 or a6,a6,a7
+8000263c: 010104b7 lui s1,0x1010
+80002640: 02080263 beqz a6,80002664 <handle_fault+0x320>
+80002644: 00000793 li a5,0
+80002648: 00f62023 sw a5,0(a2)
+8000264c: 00000813 li a6,0
+80002650: 01062223 sw a6,4(a2)
+80002654: 0006a703 lw a4,0(a3)
+80002658: 0046a783 lw a5,4(a3)
+8000265c: 00f76733 or a4,a4,a5
+80002660: fe0712e3 bnez a4,80002644 <handle_fault+0x300>
+80002664: 0005c783 lbu a5,0(a1)
+80002668: 0086a023 sw s0,0(a3)
+8000266c: 0096a223 sw s1,4(a3)
+80002670: fa079ce3 bnez a5,80002628 <handle_fault+0x2e4>
+80002674: eb9ff06f j 8000252c <handle_fault+0x1e8>
+
+80002678 <handle_trap>:
+80002678: 08c52583 lw a1,140(a0)
+8000267c: fb010113 addi sp,sp,-80
+80002680: 03412c23 sw s4,56(sp)
+80002684: 04112623 sw ra,76(sp)
+80002688: 04812423 sw s0,72(sp)
+8000268c: 04912223 sw s1,68(sp)
+80002690: 05212023 sw s2,64(sp)
+80002694: 03312e23 sw s3,60(sp)
+80002698: 03512a23 sw s5,52(sp)
+8000269c: 03612823 sw s6,48(sp)
+800026a0: 03712623 sw s7,44(sp)
+800026a4: 03812423 sw s8,40(sp)
+800026a8: 03912223 sw s9,36(sp)
+800026ac: 03a12023 sw s10,32(sp)
+800026b0: 01b12e23 sw s11,28(sp)
+800026b4: 00800793 li a5,8
+800026b8: 00050a13 mv s4,a0
+800026bc: 16f58663 beq a1,a5,80002828 <handle_trap+0x1b0>
+800026c0: 00200793 li a5,2
+800026c4: 06f58063 beq a1,a5,80002724 <handle_trap+0xac>
+800026c8: ff458793 addi a5,a1,-12
+800026cc: 00100713 li a4,1
+800026d0: 00f77663 bleu a5,a4,800026dc <handle_trap+0x64>
+800026d4: 00f00793 li a5,15
+800026d8: 22f59a63 bne a1,a5,8000290c <handle_trap+0x294>
+800026dc: 088a2503 lw a0,136(s4)
+800026e0: c65ff0ef jal ra,80002344 <handle_fault>
+800026e4: 04812403 lw s0,72(sp)
+800026e8: 04c12083 lw ra,76(sp)
+800026ec: 04412483 lw s1,68(sp)
+800026f0: 04012903 lw s2,64(sp)
+800026f4: 03c12983 lw s3,60(sp)
+800026f8: 03412a83 lw s5,52(sp)
+800026fc: 03012b03 lw s6,48(sp)
+80002700: 02c12b83 lw s7,44(sp)
+80002704: 02812c03 lw s8,40(sp)
+80002708: 02412c83 lw s9,36(sp)
+8000270c: 02012d03 lw s10,32(sp)
+80002710: 01c12d83 lw s11,28(sp)
+80002714: 000a0513 mv a0,s4
+80002718: 03812a03 lw s4,56(sp)
+8000271c: 05010113 addi sp,sp,80
+80002720: 91dfd06f j 8000003c <pop_tf>
+80002724: 08452703 lw a4,132(a0)
+80002728: 00377793 andi a5,a4,3
+8000272c: 08079863 bnez a5,800027bc <handle_trap+0x144>
+80002730: 008007ef jal a5,80002738 <handle_trap+0xc0>
+80002734: 00301073 fssr zero
+80002738: 00072703 lw a4,0(a4)
+8000273c: 0007a783 lw a5,0(a5)
+80002740: 06f70a63 beq a4,a5,800027b4 <handle_trap+0x13c>
+80002744: 04100513 li a0,65
+80002748: 00001597 auipc a1,0x1
+8000274c: 9d058593 addi a1,a1,-1584 # 80003118 <pass+0x178>
+80002750: fffff697 auipc a3,0xfffff
+80002754: 8b068693 addi a3,a3,-1872 # 80001000 <tohost>
+80002758: fffff617 auipc a2,0xfffff
+8000275c: 8e860613 addi a2,a2,-1816 # 80001040 <fromhost>
+80002760: 0006a703 lw a4,0(a3)
+80002764: 0046a783 lw a5,4(a3)
+80002768: 00050813 mv a6,a0
+8000276c: 00158593 addi a1,a1,1
+80002770: 00f76733 or a4,a4,a5
+80002774: 010108b7 lui a7,0x1010
+80002778: 02070263 beqz a4,8000279c <handle_trap+0x124>
+8000277c: 00000713 li a4,0
+80002780: 00e62023 sw a4,0(a2)
+80002784: 00000793 li a5,0
+80002788: 00f62223 sw a5,4(a2)
+8000278c: 0006a703 lw a4,0(a3)
+80002790: 0046a783 lw a5,4(a3)
+80002794: 00f76733 or a4,a4,a5
+80002798: fe0712e3 bnez a4,8000277c <handle_trap+0x104>
+8000279c: 0005c503 lbu a0,0(a1)
+800027a0: 0106a023 sw a6,0(a3)
+800027a4: 0116a223 sw a7,4(a3)
+800027a8: fa051ce3 bnez a0,80002760 <handle_trap+0xe8>
+800027ac: 00300513 li a0,3
+800027b0: a79ff0ef jal ra,80002228 <terminate>
+800027b4: 00100513 li a0,1
+800027b8: a71ff0ef jal ra,80002228 <terminate>
+800027bc: 00001597 auipc a1,0x1
+800027c0: 93858593 addi a1,a1,-1736 # 800030f4 <pass+0x154>
+800027c4: 04100613 li a2,65
+800027c8: fffff697 auipc a3,0xfffff
+800027cc: 83868693 addi a3,a3,-1992 # 80001000 <tohost>
+800027d0: fffff517 auipc a0,0xfffff
+800027d4: 87050513 addi a0,a0,-1936 # 80001040 <fromhost>
+800027d8: 0006a703 lw a4,0(a3)
+800027dc: 0046a783 lw a5,4(a3)
+800027e0: 00060e13 mv t3,a2
+800027e4: 00158593 addi a1,a1,1
+800027e8: 00f76733 or a4,a4,a5
+800027ec: 01010eb7 lui t4,0x1010
+800027f0: 02070263 beqz a4,80002814 <handle_trap+0x19c>
+800027f4: 00000793 li a5,0
+800027f8: 00f52023 sw a5,0(a0)
+800027fc: 00000813 li a6,0
+80002800: 01052223 sw a6,4(a0)
+80002804: 0006a703 lw a4,0(a3)
+80002808: 0046a783 lw a5,4(a3)
+8000280c: 00f76733 or a4,a4,a5
+80002810: fe0712e3 bnez a4,800027f4 <handle_trap+0x17c>
+80002814: 0005c603 lbu a2,0(a1)
+80002818: 01c6a023 sw t3,0(a3)
+8000281c: 01d6a223 sw t4,4(a3)
+80002820: fa061ce3 bnez a2,800027d8 <handle_trap+0x160>
+80002824: f89ff06f j 800027ac <handle_trap+0x134>
+80002828: 02852783 lw a5,40(a0)
+8000282c: 00001a37 lui s4,0x1
+80002830: 00005b17 auipc s6,0x5
+80002834: 9c8b0b13 addi s6,s6,-1592 # 800071f8 <user_mapping>
+80002838: 00f12223 sw a5,4(sp)
+8000283c: 00002d17 auipc s10,0x2
+80002840: 7c4d0d13 addi s10,s10,1988 # 80005000 <pt>
+80002844: 00040cb7 lui s9,0x40
+80002848: ffc00c37 lui s8,0xffc00
+8000284c: 0003fab7 lui s5,0x3f
+80002850: 01c0006f j 8000286c <handle_trap+0x1f4>
+80002854: 00f72223 sw a5,4(a4)
+80002858: 00005717 auipc a4,0x5
+8000285c: b8f72c23 sw a5,-1128(a4) # 800073f0 <freelist_tail>
+80002860: 000017b7 lui a5,0x1
+80002864: 00fa0a33 add s4,s4,a5
+80002868: 1b5a0463 beq s4,s5,80002a10 <handle_trap+0x398>
+8000286c: 00ca5713 srli a4,s4,0xc
+80002870: 00371b93 slli s7,a4,0x3
+80002874: 017b0633 add a2,s6,s7
+80002878: 00062603 lw a2,0(a2)
+8000287c: fe0602e3 beqz a2,80002860 <handle_trap+0x1e8>
+80002880: 40070713 addi a4,a4,1024
+80002884: 00271713 slli a4,a4,0x2
+80002888: 00ed0733 add a4,s10,a4
+8000288c: 00072703 lw a4,0(a4)
+80002890: 04077613 andi a2,a4,64
+80002894: 12060863 beqz a2,800029c4 <handle_trap+0x34c>
+80002898: 00e12623 sw a4,12(sp)
+8000289c: 100cadf3 csrrs s11,sstatus,s9
+800028a0: 018a0833 add a6,s4,s8
+800028a4: 00001637 lui a2,0x1
+800028a8: 00080593 mv a1,a6
+800028ac: 000a0513 mv a0,s4
+800028b0: 01012423 sw a6,8(sp)
+800028b4: 855ff0ef jal ra,80002108 <memcmp>
+800028b8: 02050263 beqz a0,800028dc <handle_trap+0x264>
+800028bc: 00c12703 lw a4,12(sp)
+800028c0: 00812803 lw a6,8(sp)
+800028c4: 08077713 andi a4,a4,128
+800028c8: 0a070863 beqz a4,80002978 <handle_trap+0x300>
+800028cc: 00001637 lui a2,0x1
+800028d0: 00080593 mv a1,a6
+800028d4: 000a0513 mv a0,s4
+800028d8: f28ff0ef jal ra,80002000 <memcpy>
+800028dc: 017b07b3 add a5,s6,s7
+800028e0: 100d9073 csrw sstatus,s11
+800028e4: 00005717 auipc a4,0x5
+800028e8: b0c70713 addi a4,a4,-1268 # 800073f0 <freelist_tail>
+800028ec: 00072703 lw a4,0(a4)
+800028f0: 0007a023 sw zero,0(a5) # 1000 <_start-0x7ffff000>
+800028f4: f60710e3 bnez a4,80002854 <handle_trap+0x1dc>
+800028f8: 00005717 auipc a4,0x5
+800028fc: aef72c23 sw a5,-1288(a4) # 800073f0 <freelist_tail>
+80002900: 00005717 auipc a4,0x5
+80002904: aef72a23 sw a5,-1292(a4) # 800073f4 <freelist_head>
+80002908: f59ff06f j 80002860 <handle_trap+0x1e8>
+8000290c: 04100593 li a1,65
+80002910: 00001617 auipc a2,0x1
+80002914: 83460613 addi a2,a2,-1996 # 80003144 <pass+0x1a4>
+80002918: ffffe697 auipc a3,0xffffe
+8000291c: 6e868693 addi a3,a3,1768 # 80001000 <tohost>
+80002920: ffffe517 auipc a0,0xffffe
+80002924: 72050513 addi a0,a0,1824 # 80001040 <fromhost>
+80002928: 0006a703 lw a4,0(a3)
+8000292c: 0046a783 lw a5,4(a3)
+80002930: 00058313 mv t1,a1
+80002934: 00160613 addi a2,a2,1
+80002938: 00f76733 or a4,a4,a5
+8000293c: 010103b7 lui t2,0x1010
+80002940: 02070263 beqz a4,80002964 <handle_trap+0x2ec>
+80002944: 00000793 li a5,0
+80002948: 00f52023 sw a5,0(a0)
+8000294c: 00000813 li a6,0
+80002950: 01052223 sw a6,4(a0)
+80002954: 0006a703 lw a4,0(a3)
+80002958: 0046a783 lw a5,4(a3)
+8000295c: 00f76733 or a4,a4,a5
+80002960: fe0712e3 bnez a4,80002944 <handle_trap+0x2cc>
+80002964: 00064583 lbu a1,0(a2)
+80002968: 0066a023 sw t1,0(a3)
+8000296c: 0076a223 sw t2,4(a3)
+80002970: fa059ce3 bnez a1,80002928 <handle_trap+0x2b0>
+80002974: e39ff06f j 800027ac <handle_trap+0x134>
+80002978: 04100793 li a5,65
+8000297c: 00000617 auipc a2,0x0
+80002980: 74460613 addi a2,a2,1860 # 800030c0 <pass+0x120>
+80002984: ffffe697 auipc a3,0xffffe
+80002988: 67c68693 addi a3,a3,1660 # 80001000 <tohost>
+8000298c: ffffe597 auipc a1,0xffffe
+80002990: 6b458593 addi a1,a1,1716 # 80001040 <fromhost>
+80002994: 00078413 mv s0,a5
+80002998: 00160613 addi a2,a2,1
+8000299c: 010104b7 lui s1,0x1010
+800029a0: 0006a703 lw a4,0(a3)
+800029a4: 0046a783 lw a5,4(a3)
+800029a8: 00f76733 or a4,a4,a5
+800029ac: 06070663 beqz a4,80002a18 <handle_trap+0x3a0>
+800029b0: 00000793 li a5,0
+800029b4: 00000813 li a6,0
+800029b8: 00f5a023 sw a5,0(a1)
+800029bc: 0105a223 sw a6,4(a1)
+800029c0: fe1ff06f j 800029a0 <handle_trap+0x328>
+800029c4: 04100793 li a5,65
+800029c8: 00000617 auipc a2,0x0
+800029cc: 6c460613 addi a2,a2,1732 # 8000308c <pass+0xec>
+800029d0: ffffe697 auipc a3,0xffffe
+800029d4: 63068693 addi a3,a3,1584 # 80001000 <tohost>
+800029d8: ffffe597 auipc a1,0xffffe
+800029dc: 66858593 addi a1,a1,1640 # 80001040 <fromhost>
+800029e0: 00078913 mv s2,a5
+800029e4: 00160613 addi a2,a2,1
+800029e8: 010109b7 lui s3,0x1010
+800029ec: 0006a703 lw a4,0(a3)
+800029f0: 0046a783 lw a5,4(a3)
+800029f4: 00f76733 or a4,a4,a5
+800029f8: 02070a63 beqz a4,80002a2c <handle_trap+0x3b4>
+800029fc: 00000793 li a5,0
+80002a00: 00000813 li a6,0
+80002a04: 00f5a023 sw a5,0(a1)
+80002a08: 0105a223 sw a6,4(a1)
+80002a0c: fe1ff06f j 800029ec <handle_trap+0x374>
+80002a10: 00412503 lw a0,4(sp)
+80002a14: 815ff0ef jal ra,80002228 <terminate>
+80002a18: 00064783 lbu a5,0(a2)
+80002a1c: 0086a023 sw s0,0(a3)
+80002a20: 0096a223 sw s1,4(a3)
+80002a24: f60798e3 bnez a5,80002994 <handle_trap+0x31c>
+80002a28: d85ff06f j 800027ac <handle_trap+0x134>
+80002a2c: 00064783 lbu a5,0(a2)
+80002a30: 0126a023 sw s2,0(a3)
+80002a34: 0136a223 sw s3,4(a3)
+80002a38: fa0794e3 bnez a5,800029e0 <handle_trap+0x368>
+80002a3c: d71ff06f j 800027ac <handle_trap+0x134>
+
+80002a40 <vm_boot>:
+80002a40: f14027f3 csrr a5,mhartid
+80002a44: 14079a63 bnez a5,80002b98 <vm_boot+0x158>
+80002a48: 00003797 auipc a5,0x3
+80002a4c: 5b878793 addi a5,a5,1464 # 80006000 <pt+0x1000>
+80002a50: 00c7d793 srli a5,a5,0xc
+80002a54: 00a79793 slli a5,a5,0xa
+80002a58: 0017e793 ori a5,a5,1
+80002a5c: 00002697 auipc a3,0x2
+80002a60: 5af6a223 sw a5,1444(a3) # 80005000 <pt>
+80002a64: 200007b7 lui a5,0x20000
+80002a68: 00002717 auipc a4,0x2
+80002a6c: 59870713 addi a4,a4,1432 # 80005000 <pt>
+80002a70: 0cf78793 addi a5,a5,207 # 200000cf <_start-0x5fffff31>
+80002a74: f6010113 addi sp,sp,-160
+80002a78: 00003697 auipc a3,0x3
+80002a7c: 58f6a223 sw a5,1412(a3) # 80005ffc <pt+0xffc>
+80002a80: 00c75793 srli a5,a4,0xc
+80002a84: 80000737 lui a4,0x80000
+80002a88: 08112e23 sw ra,156(sp)
+80002a8c: 08812c23 sw s0,152(sp)
+80002a90: 00e7e7b3 or a5,a5,a4
+80002a94: 18079073 csrw satp,a5
+80002a98: 01f00793 li a5,31
+80002a9c: fff00713 li a4,-1
+80002aa0: 00000297 auipc t0,0x0
+80002aa4: 01428293 addi t0,t0,20 # 80002ab4 <vm_boot+0x74>
+80002aa8: 305292f3 csrrw t0,mtvec,t0
+80002aac: 3b071073 csrw pmpaddr0,a4
+80002ab0: 3a079073 csrw pmpcfg0,a5
+80002ab4: 7fbfd797 auipc a5,0x7fbfd
+80002ab8: 61078793 addi a5,a5,1552 # ffc000c4 <_end+0x7fbf8ccc>
+80002abc: 10579073 csrw stvec,a5
+80002ac0: 340027f3 csrr a5,mscratch
+80002ac4: 7fc00837 lui a6,0x7fc00
+80002ac8: 010787b3 add a5,a5,a6
+80002acc: 14079073 csrw sscratch,a5
+80002ad0: 0000b7b7 lui a5,0xb
+80002ad4: 10078793 addi a5,a5,256 # b100 <_start-0x7fff4f00>
+80002ad8: 30279073 csrw medeleg,a5
+80002adc: 0001e7b7 lui a5,0x1e
+80002ae0: 30079073 csrw mstatus,a5
+80002ae4: 30405073 csrwi mie,0
+80002ae8: 7fc04797 auipc a5,0x7fc04
+80002aec: 51878793 addi a5,a5,1304 # ffc07000 <_end+0x7fbffc08>
+80002af0: 00005717 auipc a4,0x5
+80002af4: 90f72223 sw a5,-1788(a4) # 800073f4 <freelist_head>
+80002af8: 7fc04797 auipc a5,0x7fc04
+80002afc: 6f878793 addi a5,a5,1784 # ffc071f0 <_end+0x7fbffdf8>
+80002b00: 00005717 auipc a4,0x5
+80002b04: 8ef72823 sw a5,-1808(a4) # 800073f0 <freelist_tail>
+80002b08: 000808b7 lui a7,0x80
+80002b0c: 00004717 auipc a4,0x4
+80002b10: 4f470713 addi a4,a4,1268 # 80007000 <freelist_nodes>
+80002b14: 00004317 auipc t1,0x4
+80002b18: 6e430313 addi t1,t1,1764 # 800071f8 <user_mapping>
+80002b1c: 03200793 li a5,50
+80002b20: 03f88893 addi a7,a7,63 # 8003f <_start-0x7ff7ffc1>
+80002b24: 00880813 addi a6,a6,8 # 7fc00008 <_start-0x3ffff8>
+80002b28: 0017d613 srli a2,a5,0x1
+80002b2c: 011786b3 add a3,a5,a7
+80002b30: 00f647b3 xor a5,a2,a5
+80002b34: 010705b3 add a1,a4,a6
+80002b38: 00c69693 slli a3,a3,0xc
+80002b3c: 00579793 slli a5,a5,0x5
+80002b40: 00d72023 sw a3,0(a4)
+80002b44: 00b72223 sw a1,4(a4)
+80002b48: 0207f793 andi a5,a5,32
+80002b4c: 00870713 addi a4,a4,8
+80002b50: 00f667b3 or a5,a2,a5
+80002b54: fce31ae3 bne t1,a4,80002b28 <vm_boot+0xe8>
+80002b58: 00050413 mv s0,a0
+80002b5c: 09000613 li a2,144
+80002b60: 00000593 li a1,0
+80002b64: 00010513 mv a0,sp
+80002b68: 00004797 auipc a5,0x4
+80002b6c: 6807a623 sw zero,1676(a5) # 800071f4 <freelist_nodes+0x1f4>
+80002b70: cecff0ef jal ra,8000205c <memset>
+80002b74: 800007b7 lui a5,0x80000
+80002b78: 00f40433 add s0,s0,a5
+80002b7c: 00010513 mv a0,sp
+80002b80: 08812223 sw s0,132(sp)
+80002b84: cb8fd0ef jal ra,8000003c <pop_tf>
+80002b88: 09c12083 lw ra,156(sp)
+80002b8c: 09812403 lw s0,152(sp)
+80002b90: 0a010113 addi sp,sp,160
+80002b94: 00008067 ret
+80002b98: 025e77b7 lui a5,0x25e7
+80002b9c: 00080637 lui a2,0x80
+80002ba0: a0978793 addi a5,a5,-1527 # 25e6a09 <_start-0x7da195f7>
+80002ba4: ffc60613 addi a2,a2,-4 # 7fffc <_start-0x7ff80004>
+80002ba8: 800005b7 lui a1,0x80000
+80002bac: 00c7f733 and a4,a5,a2
+80002bb0: 0017f693 andi a3,a5,1
+80002bb4: 00b70733 add a4,a4,a1
+80002bb8: 00068e63 beqz a3,80002bd4 <vm_boot+0x194>
+80002bbc: 0007202f amoadd.w zero,zero,(a4)
+80002bc0: 0017d793 srli a5,a5,0x1
+80002bc4: 00c7f733 and a4,a5,a2
+80002bc8: 0017f693 andi a3,a5,1
+80002bcc: 00b70733 add a4,a4,a1
+80002bd0: fe0696e3 bnez a3,80002bbc <vm_boot+0x17c>
+80002bd4: 00072003 lw zero,0(a4)
+80002bd8: 0017d793 srli a5,a5,0x1
+80002bdc: fe9ff06f j 80002bc4 <vm_boot+0x184>
+
+80002be0 <userstart>:
+80002be0: 00301073 fssr zero
+
+80002be4 <test_2>:
+80002be4: 00200193 li gp,2
+80002be8: 00001517 auipc a0,0x1
+80002bec: 41850513 addi a0,a0,1048 # 80004000 <test_2_data>
+80002bf0: 00052007 flw ft0,0(a0)
+80002bf4: 00452087 flw ft1,4(a0)
+80002bf8: 00852107 flw ft2,8(a0)
+80002bfc: 00c52683 lw a3,12(a0)
+80002c00: 281001d3 fmin.s ft3,ft0,ft1
+80002c04: e0018553 fmv.x.w a0,ft3
+80002c08: 001015f3 fsflags a1,zero
+80002c0c: 00000613 li a2,0
+80002c10: 38d51063 bne a0,a3,80002f90 <fail>
+80002c14: 36c59e63 bne a1,a2,80002f90 <fail>
+
+80002c18 <test_3>:
+80002c18: 00300193 li gp,3
+80002c1c: 00001517 auipc a0,0x1
+80002c20: 3f450513 addi a0,a0,1012 # 80004010 <test_3_data>
+80002c24: 00052007 flw ft0,0(a0)
+80002c28: 00452087 flw ft1,4(a0)
+80002c2c: 00852107 flw ft2,8(a0)
+80002c30: 00c52683 lw a3,12(a0)
+80002c34: 281001d3 fmin.s ft3,ft0,ft1
+80002c38: e0018553 fmv.x.w a0,ft3
+80002c3c: 001015f3 fsflags a1,zero
+80002c40: 00000613 li a2,0
+80002c44: 34d51663 bne a0,a3,80002f90 <fail>
+80002c48: 34c59463 bne a1,a2,80002f90 <fail>
+
+80002c4c <test_4>:
+80002c4c: 00400193 li gp,4
+80002c50: 00001517 auipc a0,0x1
+80002c54: 3d050513 addi a0,a0,976 # 80004020 <test_4_data>
+80002c58: 00052007 flw ft0,0(a0)
+80002c5c: 00452087 flw ft1,4(a0)
+80002c60: 00852107 flw ft2,8(a0)
+80002c64: 00c52683 lw a3,12(a0)
+80002c68: 281001d3 fmin.s ft3,ft0,ft1
+80002c6c: e0018553 fmv.x.w a0,ft3
+80002c70: 001015f3 fsflags a1,zero
+80002c74: 00000613 li a2,0
+80002c78: 30d51c63 bne a0,a3,80002f90 <fail>
+80002c7c: 30c59a63 bne a1,a2,80002f90 <fail>
+
+80002c80 <test_5>:
+80002c80: 00500193 li gp,5
+80002c84: 00001517 auipc a0,0x1
+80002c88: 3ac50513 addi a0,a0,940 # 80004030 <test_5_data>
+80002c8c: 00052007 flw ft0,0(a0)
+80002c90: 00452087 flw ft1,4(a0)
+80002c94: 00852107 flw ft2,8(a0)
+80002c98: 00c52683 lw a3,12(a0)
+80002c9c: 281001d3 fmin.s ft3,ft0,ft1
+80002ca0: e0018553 fmv.x.w a0,ft3
+80002ca4: 001015f3 fsflags a1,zero
+80002ca8: 00000613 li a2,0
+80002cac: 2ed51263 bne a0,a3,80002f90 <fail>
+80002cb0: 2ec59063 bne a1,a2,80002f90 <fail>
+
+80002cb4 <test_6>:
+80002cb4: 00600193 li gp,6
+80002cb8: 00001517 auipc a0,0x1
+80002cbc: 38850513 addi a0,a0,904 # 80004040 <test_6_data>
+80002cc0: 00052007 flw ft0,0(a0)
+80002cc4: 00452087 flw ft1,4(a0)
+80002cc8: 00852107 flw ft2,8(a0)
+80002ccc: 00c52683 lw a3,12(a0)
+80002cd0: 281001d3 fmin.s ft3,ft0,ft1
+80002cd4: e0018553 fmv.x.w a0,ft3
+80002cd8: 001015f3 fsflags a1,zero
+80002cdc: 00000613 li a2,0
+80002ce0: 2ad51863 bne a0,a3,80002f90 <fail>
+80002ce4: 2ac59663 bne a1,a2,80002f90 <fail>
+
+80002ce8 <test_7>:
+80002ce8: 00700193 li gp,7
+80002cec: 00001517 auipc a0,0x1
+80002cf0: 36450513 addi a0,a0,868 # 80004050 <test_7_data>
+80002cf4: 00052007 flw ft0,0(a0)
+80002cf8: 00452087 flw ft1,4(a0)
+80002cfc: 00852107 flw ft2,8(a0)
+80002d00: 00c52683 lw a3,12(a0)
+80002d04: 281001d3 fmin.s ft3,ft0,ft1
+80002d08: e0018553 fmv.x.w a0,ft3
+80002d0c: 001015f3 fsflags a1,zero
+80002d10: 00000613 li a2,0
+80002d14: 26d51e63 bne a0,a3,80002f90 <fail>
+80002d18: 26c59c63 bne a1,a2,80002f90 <fail>
+
+80002d1c <test_12>:
+80002d1c: 00c00193 li gp,12
+80002d20: 00001517 auipc a0,0x1
+80002d24: 34050513 addi a0,a0,832 # 80004060 <test_12_data>
+80002d28: 00052007 flw ft0,0(a0)
+80002d2c: 00452087 flw ft1,4(a0)
+80002d30: 00852107 flw ft2,8(a0)
+80002d34: 00c52683 lw a3,12(a0)
+80002d38: 281011d3 fmax.s ft3,ft0,ft1
+80002d3c: e0018553 fmv.x.w a0,ft3
+80002d40: 001015f3 fsflags a1,zero
+80002d44: 00000613 li a2,0
+80002d48: 24d51463 bne a0,a3,80002f90 <fail>
+80002d4c: 24c59263 bne a1,a2,80002f90 <fail>
+
+80002d50 <test_13>:
+80002d50: 00d00193 li gp,13
+80002d54: 00001517 auipc a0,0x1
+80002d58: 31c50513 addi a0,a0,796 # 80004070 <test_13_data>
+80002d5c: 00052007 flw ft0,0(a0)
+80002d60: 00452087 flw ft1,4(a0)
+80002d64: 00852107 flw ft2,8(a0)
+80002d68: 00c52683 lw a3,12(a0)
+80002d6c: 281011d3 fmax.s ft3,ft0,ft1
+80002d70: e0018553 fmv.x.w a0,ft3
+80002d74: 001015f3 fsflags a1,zero
+80002d78: 00000613 li a2,0
+80002d7c: 20d51a63 bne a0,a3,80002f90 <fail>
+80002d80: 20c59863 bne a1,a2,80002f90 <fail>
+
+80002d84 <test_14>:
+80002d84: 00e00193 li gp,14
+80002d88: 00001517 auipc a0,0x1
+80002d8c: 2f850513 addi a0,a0,760 # 80004080 <test_14_data>
+80002d90: 00052007 flw ft0,0(a0)
+80002d94: 00452087 flw ft1,4(a0)
+80002d98: 00852107 flw ft2,8(a0)
+80002d9c: 00c52683 lw a3,12(a0)
+80002da0: 281011d3 fmax.s ft3,ft0,ft1
+80002da4: e0018553 fmv.x.w a0,ft3
+80002da8: 001015f3 fsflags a1,zero
+80002dac: 00000613 li a2,0
+80002db0: 1ed51063 bne a0,a3,80002f90 <fail>
+80002db4: 1cc59e63 bne a1,a2,80002f90 <fail>
+
+80002db8 <test_15>:
+80002db8: 00f00193 li gp,15
+80002dbc: 00001517 auipc a0,0x1
+80002dc0: 2d450513 addi a0,a0,724 # 80004090 <test_15_data>
+80002dc4: 00052007 flw ft0,0(a0)
+80002dc8: 00452087 flw ft1,4(a0)
+80002dcc: 00852107 flw ft2,8(a0)
+80002dd0: 00c52683 lw a3,12(a0)
+80002dd4: 281011d3 fmax.s ft3,ft0,ft1
+80002dd8: e0018553 fmv.x.w a0,ft3
+80002ddc: 001015f3 fsflags a1,zero
+80002de0: 00000613 li a2,0
+80002de4: 1ad51663 bne a0,a3,80002f90 <fail>
+80002de8: 1ac59463 bne a1,a2,80002f90 <fail>
+
+80002dec <test_16>:
+80002dec: 01000193 li gp,16
+80002df0: 00001517 auipc a0,0x1
+80002df4: 2b050513 addi a0,a0,688 # 800040a0 <test_16_data>
+80002df8: 00052007 flw ft0,0(a0)
+80002dfc: 00452087 flw ft1,4(a0)
+80002e00: 00852107 flw ft2,8(a0)
+80002e04: 00c52683 lw a3,12(a0)
+80002e08: 281011d3 fmax.s ft3,ft0,ft1
+80002e0c: e0018553 fmv.x.w a0,ft3
+80002e10: 001015f3 fsflags a1,zero
+80002e14: 00000613 li a2,0
+80002e18: 16d51c63 bne a0,a3,80002f90 <fail>
+80002e1c: 16c59a63 bne a1,a2,80002f90 <fail>
+
+80002e20 <test_17>:
+80002e20: 01100193 li gp,17
+80002e24: 00001517 auipc a0,0x1
+80002e28: 28c50513 addi a0,a0,652 # 800040b0 <test_17_data>
+80002e2c: 00052007 flw ft0,0(a0)
+80002e30: 00452087 flw ft1,4(a0)
+80002e34: 00852107 flw ft2,8(a0)
+80002e38: 00c52683 lw a3,12(a0)
+80002e3c: 281011d3 fmax.s ft3,ft0,ft1
+80002e40: e0018553 fmv.x.w a0,ft3
+80002e44: 001015f3 fsflags a1,zero
+80002e48: 00000613 li a2,0
+80002e4c: 14d51263 bne a0,a3,80002f90 <fail>
+80002e50: 14c59063 bne a1,a2,80002f90 <fail>
+
+80002e54 <test_20>:
+80002e54: 01400193 li gp,20
+80002e58: 00001517 auipc a0,0x1
+80002e5c: 26850513 addi a0,a0,616 # 800040c0 <test_20_data>
+80002e60: 00052007 flw ft0,0(a0)
+80002e64: 00452087 flw ft1,4(a0)
+80002e68: 00852107 flw ft2,8(a0)
+80002e6c: 00c52683 lw a3,12(a0)
+80002e70: 281011d3 fmax.s ft3,ft0,ft1
+80002e74: e0018553 fmv.x.w a0,ft3
+80002e78: 001015f3 fsflags a1,zero
+80002e7c: 01000613 li a2,16
+80002e80: 10d51863 bne a0,a3,80002f90 <fail>
+80002e84: 10c59663 bne a1,a2,80002f90 <fail>
+
+80002e88 <test_21>:
+80002e88: 01500193 li gp,21
+80002e8c: 00001517 auipc a0,0x1
+80002e90: 24450513 addi a0,a0,580 # 800040d0 <test_21_data>
+80002e94: 00052007 flw ft0,0(a0)
+80002e98: 00452087 flw ft1,4(a0)
+80002e9c: 00852107 flw ft2,8(a0)
+80002ea0: 00c52683 lw a3,12(a0)
+80002ea4: 281011d3 fmax.s ft3,ft0,ft1
+80002ea8: e0018553 fmv.x.w a0,ft3
+80002eac: 001015f3 fsflags a1,zero
+80002eb0: 00000613 li a2,0
+80002eb4: 0cd51e63 bne a0,a3,80002f90 <fail>
+80002eb8: 0cc59c63 bne a1,a2,80002f90 <fail>
+
+80002ebc <test_30>:
+80002ebc: 01e00193 li gp,30
+80002ec0: 00001517 auipc a0,0x1
+80002ec4: 22050513 addi a0,a0,544 # 800040e0 <test_30_data>
+80002ec8: 00052007 flw ft0,0(a0)
+80002ecc: 00452087 flw ft1,4(a0)
+80002ed0: 00852107 flw ft2,8(a0)
+80002ed4: 00c52683 lw a3,12(a0)
+80002ed8: 281001d3 fmin.s ft3,ft0,ft1
+80002edc: e0018553 fmv.x.w a0,ft3
+80002ee0: 001015f3 fsflags a1,zero
+80002ee4: 00000613 li a2,0
+80002ee8: 0ad51463 bne a0,a3,80002f90 <fail>
+80002eec: 0ac59263 bne a1,a2,80002f90 <fail>
+
+80002ef0 <test_31>:
+80002ef0: 01f00193 li gp,31
+80002ef4: 00001517 auipc a0,0x1
+80002ef8: 1fc50513 addi a0,a0,508 # 800040f0 <test_31_data>
+80002efc: 00052007 flw ft0,0(a0)
+80002f00: 00452087 flw ft1,4(a0)
+80002f04: 00852107 flw ft2,8(a0)
+80002f08: 00c52683 lw a3,12(a0)
+80002f0c: 281001d3 fmin.s ft3,ft0,ft1
+80002f10: e0018553 fmv.x.w a0,ft3
+80002f14: 001015f3 fsflags a1,zero
+80002f18: 00000613 li a2,0
+80002f1c: 06d51a63 bne a0,a3,80002f90 <fail>
+80002f20: 06c59863 bne a1,a2,80002f90 <fail>
+
+80002f24 <test_32>:
+80002f24: 02000193 li gp,32
+80002f28: 00001517 auipc a0,0x1
+80002f2c: 1d850513 addi a0,a0,472 # 80004100 <test_32_data>
+80002f30: 00052007 flw ft0,0(a0)
+80002f34: 00452087 flw ft1,4(a0)
+80002f38: 00852107 flw ft2,8(a0)
+80002f3c: 00c52683 lw a3,12(a0)
+80002f40: 281011d3 fmax.s ft3,ft0,ft1
+80002f44: e0018553 fmv.x.w a0,ft3
+80002f48: 001015f3 fsflags a1,zero
+80002f4c: 00000613 li a2,0
+80002f50: 04d51063 bne a0,a3,80002f90 <fail>
+80002f54: 02c59e63 bne a1,a2,80002f90 <fail>
+
+80002f58 <test_33>:
+80002f58: 02100193 li gp,33
+80002f5c: 00001517 auipc a0,0x1
+80002f60: 1b450513 addi a0,a0,436 # 80004110 <test_33_data>
+80002f64: 00052007 flw ft0,0(a0)
+80002f68: 00452087 flw ft1,4(a0)
+80002f6c: 00852107 flw ft2,8(a0)
+80002f70: 00c52683 lw a3,12(a0)
+80002f74: 281011d3 fmax.s ft3,ft0,ft1
+80002f78: e0018553 fmv.x.w a0,ft3
+80002f7c: 001015f3 fsflags a1,zero
+80002f80: 00000613 li a2,0
+80002f84: 00d51663 bne a0,a3,80002f90 <fail>
+80002f88: 00c59463 bne a1,a2,80002f90 <fail>
+80002f8c: 00301a63 bne zero,gp,80002fa0 <pass>
+
+80002f90 <fail>:
+80002f90: 00119513 slli a0,gp,0x1
+80002f94: 00050063 beqz a0,80002f94 <fail+0x4>
+80002f98: 00156513 ori a0,a0,1
+80002f9c: 00000073 ecall
+
+80002fa0 <pass>:
+80002fa0: 00100513 li a0,1
+80002fa4: 00000073 ecall
+80002fa8: c0001073 unimp
+
+Disassembly of section .data:
+
+80004000 <test_2_data>:
+80004000: 0000 unimp
+80004002: 4020 lw s0,64(s0)
+80004004: 0000 unimp
+80004006: 3f80 fld fs0,56(a5)
+80004008: 0000 unimp
+8000400a: 0000 unimp
+8000400c: 0000 unimp
+8000400e: 3f80 fld fs0,56(a5)
+
+80004010 <test_3_data>:
+80004010: c49a6333 0xc49a6333
+80004014: cccd beqz s1,800040ce <test_20_data+0xe>
+80004016: 3f8c fld fa1,56(a5)
+80004018: 0000 unimp
+8000401a: 0000 unimp
+8000401c: c49a6333 0xc49a6333
+
+80004020 <test_4_data>:
+80004020: cccd beqz s1,800040da <test_21_data+0xa>
+80004022: 3f8c fld fa1,56(a5)
+80004024: c49a6333 0xc49a6333
+80004028: 0000 unimp
+8000402a: 0000 unimp
+8000402c: c49a6333 0xc49a6333
+
+80004030 <test_5_data>:
+80004030: ffff 0xffff
+80004032: 7fff 0x7fff
+80004034: c49a6333 0xc49a6333
+80004038: 0000 unimp
+8000403a: 0000 unimp
+8000403c: c49a6333 0xc49a6333
+
+80004040 <test_6_data>:
+80004040: 40490fdb 0x40490fdb
+80004044: 322bcc77 0x322bcc77
+80004048: 0000 unimp
+8000404a: 0000 unimp
+8000404c: 322bcc77 0x322bcc77
+
+80004050 <test_7_data>:
+80004050: 0000 unimp
+80004052: bf80 fsd fs0,56(a5)
+80004054: 0000 unimp
+80004056: c000 sw s0,0(s0)
+80004058: 0000 unimp
+8000405a: 0000 unimp
+8000405c: 0000 unimp
+8000405e: c000 sw s0,0(s0)
+
+80004060 <test_12_data>:
+80004060: 0000 unimp
+80004062: 4020 lw s0,64(s0)
+80004064: 0000 unimp
+80004066: 3f80 fld fs0,56(a5)
+80004068: 0000 unimp
+8000406a: 0000 unimp
+8000406c: 0000 unimp
+8000406e: 4020 lw s0,64(s0)
+
+80004070 <test_13_data>:
+80004070: c49a6333 0xc49a6333
+80004074: cccd beqz s1,8000412e <begin_signature+0xe>
+80004076: 3f8c fld fa1,56(a5)
+80004078: 0000 unimp
+8000407a: 0000 unimp
+8000407c: cccd beqz s1,80004136 <begin_signature+0x16>
+8000407e: 3f8c fld fa1,56(a5)
+
+80004080 <test_14_data>:
+80004080: cccd beqz s1,8000413a <begin_signature+0x1a>
+80004082: 3f8c fld fa1,56(a5)
+80004084: c49a6333 0xc49a6333
+80004088: 0000 unimp
+8000408a: 0000 unimp
+8000408c: cccd beqz s1,80004146 <begin_signature+0x26>
+8000408e: 3f8c fld fa1,56(a5)
+
+80004090 <test_15_data>:
+80004090: ffff 0xffff
+80004092: 7fff 0x7fff
+80004094: c49a6333 0xc49a6333
+80004098: 0000 unimp
+8000409a: 0000 unimp
+8000409c: c49a6333 0xc49a6333
+
+800040a0 <test_16_data>:
+800040a0: 40490fdb 0x40490fdb
+800040a4: 322bcc77 0x322bcc77
+800040a8: 0000 unimp
+800040aa: 0000 unimp
+800040ac: 40490fdb 0x40490fdb
+
+800040b0 <test_17_data>:
+800040b0: 0000 unimp
+800040b2: bf80 fsd fs0,56(a5)
+800040b4: 0000 unimp
+800040b6: c000 sw s0,0(s0)
+800040b8: 0000 unimp
+800040ba: 0000 unimp
+800040bc: 0000 unimp
+800040be: bf80 fsd fs0,56(a5)
+
+800040c0 <test_20_data>:
+800040c0: 0001 nop
+800040c2: 7f80 flw fs0,56(a5)
+800040c4: 0000 unimp
+800040c6: 3f80 fld fs0,56(a5)
+800040c8: 0000 unimp
+800040ca: 0000 unimp
+800040cc: 0000 unimp
+800040ce: 3f80 fld fs0,56(a5)
+
+800040d0 <test_21_data>:
+800040d0: ffff 0xffff
+800040d2: 7fff 0x7fff
+800040d4: ffff 0xffff
+800040d6: 7fff 0x7fff
+800040d8: 0000 unimp
+800040da: 0000 unimp
+800040dc: 0000 unimp
+800040de: 7fc0 flw fs0,60(a5)
+
+800040e0 <test_30_data>:
+800040e0: 0000 unimp
+800040e2: 8000 0x8000
+800040e4: 0000 unimp
+800040e6: 0000 unimp
+800040e8: 0000 unimp
+800040ea: 0000 unimp
+800040ec: 0000 unimp
+800040ee: 8000 0x8000
+
+800040f0 <test_31_data>:
+800040f0: 0000 unimp
+800040f2: 0000 unimp
+800040f4: 0000 unimp
+800040f6: 8000 0x8000
+800040f8: 0000 unimp
+800040fa: 0000 unimp
+800040fc: 0000 unimp
+800040fe: 8000 0x8000
+
+80004100 <test_32_data>:
+80004100: 0000 unimp
+80004102: 8000 0x8000
+80004104: 0000 unimp
+80004106: 0000 unimp
+80004108: 0000 unimp
+8000410a: 0000 unimp
+8000410c: 0000 unimp
+8000410e: 0000 unimp
+
+80004110 <test_33_data>:
+80004110: 0000 unimp
+80004112: 0000 unimp
+80004114: 0000 unimp
+80004116: 8000 0x8000
+80004118: 0000 unimp
+8000411a: 0000 unimp
+8000411c: 0000 unimp
+8000411e: 0000 unimp
diff --git a/test/riscv-tests/rv32uf-v-fmin.elf b/test/riscv-tests/rv32uf-v-fmin.elf
new file mode 100644
index 0000000..072abdd
--- /dev/null
+++ b/test/riscv-tests/rv32uf-v-fmin.elf
Binary files differ
diff --git a/test/riscv-tests/rv64ud-p-fadd.dump b/test/riscv-tests/rv64ud-p-fadd.dump
new file mode 100644
index 0000000..2775cc5
--- /dev/null
+++ b/test/riscv-tests/rv64ud-p-fadd.dump
@@ -0,0 +1,422 @@
+
+rv64ud-p-fadd: 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: 00002537 lui a0,0x2
+ 800000ec: 30052073 csrs mstatus,a0
+ 800000f0: 00305073 csrwi fcsr,0
+ 800000f4: 00000297 auipc t0,0x0
+ 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+ 800000fc: 34129073 csrw mepc,t0
+ 80000100: f1402573 csrr a0,mhartid
+ 80000104: 30200073 mret
+
+0000000080000108 <test_2>:
+ 80000108: 00200193 li gp,2
+ 8000010c: 00002517 auipc a0,0x2
+ 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+ 80000114: 00053007 fld ft0,0(a0)
+ 80000118: 00853087 fld ft1,8(a0)
+ 8000011c: 01053107 fld ft2,16(a0)
+ 80000120: 01853683 ld a3,24(a0)
+ 80000124: 021071d3 fadd.d ft3,ft0,ft1
+ 80000128: e2018553 fmv.x.d a0,ft3
+ 8000012c: 001015f3 fsflags a1,zero
+ 80000130: 00000613 li a2,0
+ 80000134: 1ed51063 bne a0,a3,80000314 <fail>
+ 80000138: 1cc59e63 bne a1,a2,80000314 <fail>
+
+000000008000013c <test_3>:
+ 8000013c: 00300193 li gp,3
+ 80000140: 00002517 auipc a0,0x2
+ 80000144: ee050513 addi a0,a0,-288 # 80002020 <test_3_data>
+ 80000148: 00053007 fld ft0,0(a0)
+ 8000014c: 00853087 fld ft1,8(a0)
+ 80000150: 01053107 fld ft2,16(a0)
+ 80000154: 01853683 ld a3,24(a0)
+ 80000158: 021071d3 fadd.d ft3,ft0,ft1
+ 8000015c: e2018553 fmv.x.d a0,ft3
+ 80000160: 001015f3 fsflags a1,zero
+ 80000164: 00100613 li a2,1
+ 80000168: 1ad51663 bne a0,a3,80000314 <fail>
+ 8000016c: 1ac59463 bne a1,a2,80000314 <fail>
+
+0000000080000170 <test_4>:
+ 80000170: 00400193 li gp,4
+ 80000174: 00002517 auipc a0,0x2
+ 80000178: ecc50513 addi a0,a0,-308 # 80002040 <test_4_data>
+ 8000017c: 00053007 fld ft0,0(a0)
+ 80000180: 00853087 fld ft1,8(a0)
+ 80000184: 01053107 fld ft2,16(a0)
+ 80000188: 01853683 ld a3,24(a0)
+ 8000018c: 021071d3 fadd.d ft3,ft0,ft1
+ 80000190: e2018553 fmv.x.d a0,ft3
+ 80000194: 001015f3 fsflags a1,zero
+ 80000198: 00100613 li a2,1
+ 8000019c: 16d51c63 bne a0,a3,80000314 <fail>
+ 800001a0: 16c59a63 bne a1,a2,80000314 <fail>
+
+00000000800001a4 <test_5>:
+ 800001a4: 00500193 li gp,5
+ 800001a8: 00002517 auipc a0,0x2
+ 800001ac: eb850513 addi a0,a0,-328 # 80002060 <test_5_data>
+ 800001b0: 00053007 fld ft0,0(a0)
+ 800001b4: 00853087 fld ft1,8(a0)
+ 800001b8: 01053107 fld ft2,16(a0)
+ 800001bc: 01853683 ld a3,24(a0)
+ 800001c0: 0a1071d3 fsub.d ft3,ft0,ft1
+ 800001c4: e2018553 fmv.x.d a0,ft3
+ 800001c8: 001015f3 fsflags a1,zero
+ 800001cc: 00000613 li a2,0
+ 800001d0: 14d51263 bne a0,a3,80000314 <fail>
+ 800001d4: 14c59063 bne a1,a2,80000314 <fail>
+
+00000000800001d8 <test_6>:
+ 800001d8: 00600193 li gp,6
+ 800001dc: 00002517 auipc a0,0x2
+ 800001e0: ea450513 addi a0,a0,-348 # 80002080 <test_6_data>
+ 800001e4: 00053007 fld ft0,0(a0)
+ 800001e8: 00853087 fld ft1,8(a0)
+ 800001ec: 01053107 fld ft2,16(a0)
+ 800001f0: 01853683 ld a3,24(a0)
+ 800001f4: 0a1071d3 fsub.d ft3,ft0,ft1
+ 800001f8: e2018553 fmv.x.d a0,ft3
+ 800001fc: 001015f3 fsflags a1,zero
+ 80000200: 00100613 li a2,1
+ 80000204: 10d51863 bne a0,a3,80000314 <fail>
+ 80000208: 10c59663 bne a1,a2,80000314 <fail>
+
+000000008000020c <test_7>:
+ 8000020c: 00700193 li gp,7
+ 80000210: 00002517 auipc a0,0x2
+ 80000214: e9050513 addi a0,a0,-368 # 800020a0 <test_7_data>
+ 80000218: 00053007 fld ft0,0(a0)
+ 8000021c: 00853087 fld ft1,8(a0)
+ 80000220: 01053107 fld ft2,16(a0)
+ 80000224: 01853683 ld a3,24(a0)
+ 80000228: 0a1071d3 fsub.d ft3,ft0,ft1
+ 8000022c: e2018553 fmv.x.d a0,ft3
+ 80000230: 001015f3 fsflags a1,zero
+ 80000234: 00100613 li a2,1
+ 80000238: 0cd51e63 bne a0,a3,80000314 <fail>
+ 8000023c: 0cc59c63 bne a1,a2,80000314 <fail>
+
+0000000080000240 <test_8>:
+ 80000240: 00800193 li gp,8
+ 80000244: 00002517 auipc a0,0x2
+ 80000248: e7c50513 addi a0,a0,-388 # 800020c0 <test_8_data>
+ 8000024c: 00053007 fld ft0,0(a0)
+ 80000250: 00853087 fld ft1,8(a0)
+ 80000254: 01053107 fld ft2,16(a0)
+ 80000258: 01853683 ld a3,24(a0)
+ 8000025c: 121071d3 fmul.d ft3,ft0,ft1
+ 80000260: e2018553 fmv.x.d a0,ft3
+ 80000264: 001015f3 fsflags a1,zero
+ 80000268: 00000613 li a2,0
+ 8000026c: 0ad51463 bne a0,a3,80000314 <fail>
+ 80000270: 0ac59263 bne a1,a2,80000314 <fail>
+
+0000000080000274 <test_9>:
+ 80000274: 00900193 li gp,9
+ 80000278: 00002517 auipc a0,0x2
+ 8000027c: e6850513 addi a0,a0,-408 # 800020e0 <test_9_data>
+ 80000280: 00053007 fld ft0,0(a0)
+ 80000284: 00853087 fld ft1,8(a0)
+ 80000288: 01053107 fld ft2,16(a0)
+ 8000028c: 01853683 ld a3,24(a0)
+ 80000290: 121071d3 fmul.d ft3,ft0,ft1
+ 80000294: e2018553 fmv.x.d a0,ft3
+ 80000298: 001015f3 fsflags a1,zero
+ 8000029c: 00100613 li a2,1
+ 800002a0: 06d51a63 bne a0,a3,80000314 <fail>
+ 800002a4: 06c59863 bne a1,a2,80000314 <fail>
+
+00000000800002a8 <test_10>:
+ 800002a8: 00a00193 li gp,10
+ 800002ac: 00002517 auipc a0,0x2
+ 800002b0: e5450513 addi a0,a0,-428 # 80002100 <test_10_data>
+ 800002b4: 00053007 fld ft0,0(a0)
+ 800002b8: 00853087 fld ft1,8(a0)
+ 800002bc: 01053107 fld ft2,16(a0)
+ 800002c0: 01853683 ld a3,24(a0)
+ 800002c4: 121071d3 fmul.d ft3,ft0,ft1
+ 800002c8: e2018553 fmv.x.d a0,ft3
+ 800002cc: 001015f3 fsflags a1,zero
+ 800002d0: 00100613 li a2,1
+ 800002d4: 04d51063 bne a0,a3,80000314 <fail>
+ 800002d8: 02c59e63 bne a1,a2,80000314 <fail>
+
+00000000800002dc <test_11>:
+ 800002dc: 00b00193 li gp,11
+ 800002e0: 00002517 auipc a0,0x2
+ 800002e4: e4050513 addi a0,a0,-448 # 80002120 <test_11_data>
+ 800002e8: 00053007 fld ft0,0(a0)
+ 800002ec: 00853087 fld ft1,8(a0)
+ 800002f0: 01053107 fld ft2,16(a0)
+ 800002f4: 01853683 ld a3,24(a0)
+ 800002f8: 0a1071d3 fsub.d ft3,ft0,ft1
+ 800002fc: e2018553 fmv.x.d a0,ft3
+ 80000300: 001015f3 fsflags a1,zero
+ 80000304: 01000613 li a2,16
+ 80000308: 00d51663 bne a0,a3,80000314 <fail>
+ 8000030c: 00c59463 bne a1,a2,80000314 <fail>
+ 80000310: 00301c63 bne zero,gp,80000328 <pass>
+
+0000000080000314 <fail>:
+ 80000314: 0ff0000f fence
+ 80000318: 00018063 beqz gp,80000318 <fail+0x4>
+ 8000031c: 00119193 slli gp,gp,0x1
+ 80000320: 0011e193 ori gp,gp,1
+ 80000324: 00000073 ecall
+
+0000000080000328 <pass>:
+ 80000328: 0ff0000f fence
+ 8000032c: 00100193 li gp,1
+ 80000330: 00000073 ecall
+ 80000334: c0001073 unimp
+ 80000338: 0000 unimp
+ 8000033a: 0000 unimp
+ 8000033c: 0000 unimp
+ 8000033e: 0000 unimp
+ 80000340: 0000 unimp
+ 80000342: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <test_2_data>:
+ 80002000: 0000 unimp
+ 80002002: 0000 unimp
+ 80002004: 0000 unimp
+ 80002006: 4004 lw s1,0(s0)
+ 80002008: 0000 unimp
+ 8000200a: 0000 unimp
+ 8000200c: 0000 unimp
+ 8000200e: 3ff0 fld fa2,248(a5)
+ 80002010: 0000 unimp
+ 80002012: 0000 unimp
+ 80002014: 0000 unimp
+ 80002016: 0000 unimp
+ 80002018: 0000 unimp
+ 8000201a: 0000 unimp
+ 8000201c: 0000 unimp
+ 8000201e: 400c lw a1,0(s0)
+
+0000000080002020 <test_3_data>:
+ 80002020: 6666 ld a2,88(sp)
+ 80002022: 6666 ld a2,88(sp)
+ 80002024: 4c66 lw s8,88(sp)
+ 80002026: 999ac093 xori ra,s5,-1639
+ 8000202a: 9999 andi a1,a1,-26
+ 8000202c: 9999 andi a1,a1,-26
+ 8000202e: 3ff1 addiw t6,t6,-4
+ 80002030: 0000 unimp
+ 80002032: 0000 unimp
+ 80002034: 0000 unimp
+ 80002036: 0000 unimp
+ 80002038: 0000 unimp
+ 8000203a: 0000 unimp
+ 8000203c: 4800 lw s0,16(s0)
+ 8000203e: xori ra,gp,-689
+
+0000000080002040 <test_4_data>:
+ 80002040: d4f1 beqz s1,8000200c <test_2_data+0xc>
+ 80002042: 53c8 lw a0,36(a5)
+ 80002044: 400921fb 0x400921fb
+ 80002048: 8c3a mv s8,a4
+ 8000204a: e230 sd a2,64(a2)
+ 8000204c: 798e ld s3,224(sp)
+ 8000204e: 3e45 addiw t3,t3,-15
+ 80002050: 0000 unimp
+ 80002052: 0000 unimp
+ 80002054: 0000 unimp
+ 80002056: 0000 unimp
+ 80002058: 6ddf 5520 21fb 0x21fb55206ddf
+ 8000205e: 4009 c.li zero,2
+
+0000000080002060 <test_5_data>:
+ 80002060: 0000 unimp
+ 80002062: 0000 unimp
+ 80002064: 0000 unimp
+ 80002066: 4004 lw s1,0(s0)
+ 80002068: 0000 unimp
+ 8000206a: 0000 unimp
+ 8000206c: 0000 unimp
+ 8000206e: 3ff0 fld fa2,248(a5)
+ 80002070: 0000 unimp
+ 80002072: 0000 unimp
+ 80002074: 0000 unimp
+ 80002076: 0000 unimp
+ 80002078: 0000 unimp
+ 8000207a: 0000 unimp
+ 8000207c: 0000 unimp
+ 8000207e: 3ff8 fld fa4,248(a5)
+
+0000000080002080 <test_6_data>:
+ 80002080: 6666 ld a2,88(sp)
+ 80002082: 6666 ld a2,88(sp)
+ 80002084: 4c66 lw s8,88(sp)
+ 80002086: 999ac093 xori ra,s5,-1639
+ 8000208a: 9999 andi a1,a1,-26
+ 8000208c: 9999 andi a1,a1,-26
+ 8000208e: bff1 j 8000206a <test_5_data+0xa>
+ 80002090: 0000 unimp
+ 80002092: 0000 unimp
+ 80002094: 0000 unimp
+ 80002096: 0000 unimp
+ 80002098: 0000 unimp
+ 8000209a: 0000 unimp
+ 8000209c: 4800 lw s0,16(s0)
+ 8000209e: xori ra,gp,-689
+
+00000000800020a0 <test_7_data>:
+ 800020a0: d4f1 beqz s1,8000206c <test_5_data+0xc>
+ 800020a2: 53c8 lw a0,36(a5)
+ 800020a4: 400921fb 0x400921fb
+ 800020a8: 8c3a mv s8,a4
+ 800020aa: e230 sd a2,64(a2)
+ 800020ac: 798e ld s3,224(sp)
+ 800020ae: 3e45 addiw t3,t3,-15
+ 800020b0: 0000 unimp
+ 800020b2: 0000 unimp
+ 800020b4: 0000 unimp
+ 800020b6: 0000 unimp
+ 800020b8: 52713c03 ld s8,1319(sp)
+ 800020bc: 400921fb 0x400921fb
+
+00000000800020c0 <test_8_data>:
+ 800020c0: 0000 unimp
+ 800020c2: 0000 unimp
+ 800020c4: 0000 unimp
+ 800020c6: 4004 lw s1,0(s0)
+ 800020c8: 0000 unimp
+ 800020ca: 0000 unimp
+ 800020cc: 0000 unimp
+ 800020ce: 3ff0 fld fa2,248(a5)
+ 800020d0: 0000 unimp
+ 800020d2: 0000 unimp
+ 800020d4: 0000 unimp
+ 800020d6: 0000 unimp
+ 800020d8: 0000 unimp
+ 800020da: 0000 unimp
+ 800020dc: 0000 unimp
+ 800020de: 4004 lw s1,0(s0)
+
+00000000800020e0 <test_9_data>:
+ 800020e0: 6666 ld a2,88(sp)
+ 800020e2: 6666 ld a2,88(sp)
+ 800020e4: 4c66 lw s8,88(sp)
+ 800020e6: 999ac093 xori ra,s5,-1639
+ 800020ea: 9999 andi a1,a1,-26
+ 800020ec: 9999 andi a1,a1,-26
+ 800020ee: bff1 j 800020ca <test_8_data+0xa>
+ 800020f0: 0000 unimp
+ 800020f2: 0000 unimp
+ 800020f4: 0000 unimp
+ 800020f6: 0000 unimp
+ 800020f8: 0a3d addi s4,s4,15
+ 800020fa: 3a70a3d7 0x3a70a3d7
+ 800020fe: 4095 li ra,5
+
+0000000080002100 <test_10_data>:
+ 80002100: d4f1 beqz s1,800020cc <test_8_data+0xc>
+ 80002102: 53c8 lw a0,36(a5)
+ 80002104: 400921fb 0x400921fb
+ 80002108: 8c3a mv s8,a4
+ 8000210a: e230 sd a2,64(a2)
+ 8000210c: 798e ld s3,224(sp)
+ 8000210e: 3e45 addiw t3,t3,-15
+ 80002110: 0000 unimp
+ 80002112: 0000 unimp
+ 80002114: 0000 unimp
+ 80002116: 0000 unimp
+ 80002118: ff09 bnez a4,80002032 <test_3_data+0x12>
+ 8000211a: a5c1 j 800027da <_end+0x69a>
+ 8000211c: ddc5 beqz a1,800020d4 <test_8_data+0x14>
+ 8000211e: 3e60 fld fs0,248(a2)
+
+0000000080002120 <test_11_data>:
+ 80002120: 0000 unimp
+ 80002122: 0000 unimp
+ 80002124: 0000 unimp
+ 80002126: 7ff0 ld a2,248(a5)
+ 80002128: 0000 unimp
+ 8000212a: 0000 unimp
+ 8000212c: 0000 unimp
+ 8000212e: 7ff0 ld a2,248(a5)
+ 80002130: 0000 unimp
+ 80002132: 0000 unimp
+ 80002134: 0000 unimp
+ 80002136: 0000 unimp
+ 80002138: 0000 unimp
+ 8000213a: 0000 unimp
+ 8000213c: 0000 unimp
+ 8000213e: 7ff8 ld a4,248(a5)
diff --git a/test/riscv-tests/rv64ud-p-fadd.elf b/test/riscv-tests/rv64ud-p-fadd.elf
new file mode 100644
index 0000000..eaa35c6
--- /dev/null
+++ b/test/riscv-tests/rv64ud-p-fadd.elf
Binary files differ
diff --git a/test/riscv-tests/rv64ud-p-fclass.dump b/test/riscv-tests/rv64ud-p-fclass.dump
new file mode 100644
index 0000000..8fb0b28
--- /dev/null
+++ b/test/riscv-tests/rv64ud-p-fclass.dump
@@ -0,0 +1,212 @@
+
+rv64ud-p-fclass: 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: 00002537 lui a0,0x2
+ 800000ec: 30052073 csrs mstatus,a0
+ 800000f0: 00305073 csrwi fcsr,0
+ 800000f4: 00000297 auipc t0,0x0
+ 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+ 800000fc: 34129073 csrw mepc,t0
+ 80000100: f1402573 csrr a0,mhartid
+ 80000104: 30200073 mret
+
+0000000080000108 <test_2>:
+ 80000108: fff0051b addiw a0,zero,-1
+ 8000010c: 03451513 slli a0,a0,0x34
+ 80000110: f2050553 fmv.d.x fa0,a0
+ 80000114: e2051553 fclass.d a0,fa0
+ 80000118: 00100e93 li t4,1
+ 8000011c: 00200193 li gp,2
+ 80000120: 11d51863 bne a0,t4,80000230 <fail>
+
+0000000080000124 <test_3>:
+ 80000124: bff0051b addiw a0,zero,-1025
+ 80000128: 03451513 slli a0,a0,0x34
+ 8000012c: f2050553 fmv.d.x fa0,a0
+ 80000130: e2051553 fclass.d a0,fa0
+ 80000134: 00200e93 li t4,2
+ 80000138: 00300193 li gp,3
+ 8000013c: 0fd51a63 bne a0,t4,80000230 <fail>
+
+0000000080000140 <test_4>:
+ 80000140: 8010051b addiw a0,zero,-2047
+ 80000144: 03451513 slli a0,a0,0x34
+ 80000148: fff50513 addi a0,a0,-1 # 1fff <_start-0x7fffe001>
+ 8000014c: f2050553 fmv.d.x fa0,a0
+ 80000150: e2051553 fclass.d a0,fa0
+ 80000154: 00400e93 li t4,4
+ 80000158: 00400193 li gp,4
+ 8000015c: 0dd51a63 bne a0,t4,80000230 <fail>
+
+0000000080000160 <test_5>:
+ 80000160: fff0051b addiw a0,zero,-1
+ 80000164: 03f51513 slli a0,a0,0x3f
+ 80000168: f2050553 fmv.d.x fa0,a0
+ 8000016c: e2051553 fclass.d a0,fa0
+ 80000170: 00800e93 li t4,8
+ 80000174: 00500193 li gp,5
+ 80000178: 0bd51c63 bne a0,t4,80000230 <fail>
+
+000000008000017c <test_6>:
+ 8000017c: 00000513 li a0,0
+ 80000180: f2050553 fmv.d.x fa0,a0
+ 80000184: e2051553 fclass.d a0,fa0
+ 80000188: 01000e93 li t4,16
+ 8000018c: 00600193 li gp,6
+ 80000190: 0bd51063 bne a0,t4,80000230 <fail>
+
+0000000080000194 <test_7>:
+ 80000194: 0010051b addiw a0,zero,1
+ 80000198: 03451513 slli a0,a0,0x34
+ 8000019c: fff50513 addi a0,a0,-1
+ 800001a0: f2050553 fmv.d.x fa0,a0
+ 800001a4: e2051553 fclass.d a0,fa0
+ 800001a8: 02000e93 li t4,32
+ 800001ac: 00700193 li gp,7
+ 800001b0: 09d51063 bne a0,t4,80000230 <fail>
+
+00000000800001b4 <test_8>:
+ 800001b4: 3ff0051b addiw a0,zero,1023
+ 800001b8: 03451513 slli a0,a0,0x34
+ 800001bc: f2050553 fmv.d.x fa0,a0
+ 800001c0: e2051553 fclass.d a0,fa0
+ 800001c4: 04000e93 li t4,64
+ 800001c8: 00800193 li gp,8
+ 800001cc: 07d51263 bne a0,t4,80000230 <fail>
+
+00000000800001d0 <test_9>:
+ 800001d0: 7ff0051b addiw a0,zero,2047
+ 800001d4: 03451513 slli a0,a0,0x34
+ 800001d8: f2050553 fmv.d.x fa0,a0
+ 800001dc: e2051553 fclass.d a0,fa0
+ 800001e0: 08000e93 li t4,128
+ 800001e4: 00900193 li gp,9
+ 800001e8: 05d51463 bne a0,t4,80000230 <fail>
+
+00000000800001ec <test_10>:
+ 800001ec: 7ff0051b addiw a0,zero,2047
+ 800001f0: 03451513 slli a0,a0,0x34
+ 800001f4: 00150513 addi a0,a0,1
+ 800001f8: f2050553 fmv.d.x fa0,a0
+ 800001fc: e2051553 fclass.d a0,fa0
+ 80000200: 10000e93 li t4,256
+ 80000204: 00a00193 li gp,10
+ 80000208: 03d51463 bne a0,t4,80000230 <fail>
+
+000000008000020c <test_11>:
+ 8000020c: 00001537 lui a0,0x1
+ 80000210: fff5051b addiw a0,a0,-1
+ 80000214: 03351513 slli a0,a0,0x33
+ 80000218: f2050553 fmv.d.x fa0,a0
+ 8000021c: e2051553 fclass.d a0,fa0
+ 80000220: 20000e93 li t4,512
+ 80000224: 00b00193 li gp,11
+ 80000228: 01d51463 bne a0,t4,80000230 <fail>
+ 8000022c: 00301c63 bne zero,gp,80000244 <pass>
+
+0000000080000230 <fail>:
+ 80000230: 0ff0000f fence
+ 80000234: 00018063 beqz gp,80000234 <fail+0x4>
+ 80000238: 00119193 slli gp,gp,0x1
+ 8000023c: 0011e193 ori gp,gp,1
+ 80000240: 00000073 ecall
+
+0000000080000244 <pass>:
+ 80000244: 0ff0000f fence
+ 80000248: 00100193 li gp,1
+ 8000024c: 00000073 ecall
+ 80000250: c0001073 unimp
+ 80000254: 0000 unimp
+ 80000256: 0000 unimp
+ 80000258: 0000 unimp
+ 8000025a: 0000 unimp
+ 8000025c: 0000 unimp
+ 8000025e: 0000 unimp
+ 80000260: 0000 unimp
+ 80000262: 0000 unimp
+ 80000264: 0000 unimp
+ 80000266: 0000 unimp
+ 80000268: 0000 unimp
+ 8000026a: 0000 unimp
+ 8000026c: 0000 unimp
+ 8000026e: 0000 unimp
+ 80000270: 0000 unimp
+ 80000272: 0000 unimp
+ 80000274: 0000 unimp
+ 80000276: 0000 unimp
+ 80000278: 0000 unimp
+ 8000027a: 0000 unimp
+ 8000027c: 0000 unimp
+ 8000027e: 0000 unimp
+ 80000280: 0000 unimp
+ 80000282: 0000 unimp
diff --git a/test/riscv-tests/rv64ud-p-fclass.elf b/test/riscv-tests/rv64ud-p-fclass.elf
new file mode 100644
index 0000000..7c23d49
--- /dev/null
+++ b/test/riscv-tests/rv64ud-p-fclass.elf
Binary files differ
diff --git a/test/riscv-tests/rv64ud-p-fcmp.dump b/test/riscv-tests/rv64ud-p-fcmp.dump
new file mode 100644
index 0000000..3598543
--- /dev/null
+++ b/test/riscv-tests/rv64ud-p-fcmp.dump
@@ -0,0 +1,561 @@
+
+rv64ud-p-fcmp: 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: 00002537 lui a0,0x2
+ 800000ec: 30052073 csrs mstatus,a0
+ 800000f0: 00305073 csrwi fcsr,0
+ 800000f4: 00000297 auipc t0,0x0
+ 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+ 800000fc: 34129073 csrw mepc,t0
+ 80000100: f1402573 csrr a0,mhartid
+ 80000104: 30200073 mret
+
+0000000080000108 <test_2>:
+ 80000108: 00200193 li gp,2
+ 8000010c: 00002517 auipc a0,0x2
+ 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+ 80000114: 00053007 fld ft0,0(a0)
+ 80000118: 00853087 fld ft1,8(a0)
+ 8000011c: 01053107 fld ft2,16(a0)
+ 80000120: 01853683 ld a3,24(a0)
+ 80000124: a2102553 feq.d a0,ft0,ft1
+ 80000128: 001015f3 fsflags a1,zero
+ 8000012c: 00000613 li a2,0
+ 80000130: 2ad51663 bne a0,a3,800003dc <fail>
+ 80000134: 2ac59463 bne a1,a2,800003dc <fail>
+
+0000000080000138 <test_3>:
+ 80000138: 00300193 li gp,3
+ 8000013c: 00002517 auipc a0,0x2
+ 80000140: ee450513 addi a0,a0,-284 # 80002020 <test_3_data>
+ 80000144: 00053007 fld ft0,0(a0)
+ 80000148: 00853087 fld ft1,8(a0)
+ 8000014c: 01053107 fld ft2,16(a0)
+ 80000150: 01853683 ld a3,24(a0)
+ 80000154: a2100553 fle.d a0,ft0,ft1
+ 80000158: 001015f3 fsflags a1,zero
+ 8000015c: 00000613 li a2,0
+ 80000160: 26d51e63 bne a0,a3,800003dc <fail>
+ 80000164: 26c59c63 bne a1,a2,800003dc <fail>
+
+0000000080000168 <test_4>:
+ 80000168: 00400193 li gp,4
+ 8000016c: 00002517 auipc a0,0x2
+ 80000170: ed450513 addi a0,a0,-300 # 80002040 <test_4_data>
+ 80000174: 00053007 fld ft0,0(a0)
+ 80000178: 00853087 fld ft1,8(a0)
+ 8000017c: 01053107 fld ft2,16(a0)
+ 80000180: 01853683 ld a3,24(a0)
+ 80000184: a2101553 flt.d a0,ft0,ft1
+ 80000188: 001015f3 fsflags a1,zero
+ 8000018c: 00000613 li a2,0
+ 80000190: 24d51663 bne a0,a3,800003dc <fail>
+ 80000194: 24c59463 bne a1,a2,800003dc <fail>
+
+0000000080000198 <test_5>:
+ 80000198: 00500193 li gp,5
+ 8000019c: 00002517 auipc a0,0x2
+ 800001a0: ec450513 addi a0,a0,-316 # 80002060 <test_5_data>
+ 800001a4: 00053007 fld ft0,0(a0)
+ 800001a8: 00853087 fld ft1,8(a0)
+ 800001ac: 01053107 fld ft2,16(a0)
+ 800001b0: 01853683 ld a3,24(a0)
+ 800001b4: a2102553 feq.d a0,ft0,ft1
+ 800001b8: 001015f3 fsflags a1,zero
+ 800001bc: 00000613 li a2,0
+ 800001c0: 20d51e63 bne a0,a3,800003dc <fail>
+ 800001c4: 20c59c63 bne a1,a2,800003dc <fail>
+
+00000000800001c8 <test_6>:
+ 800001c8: 00600193 li gp,6
+ 800001cc: 00002517 auipc a0,0x2
+ 800001d0: eb450513 addi a0,a0,-332 # 80002080 <test_6_data>
+ 800001d4: 00053007 fld ft0,0(a0)
+ 800001d8: 00853087 fld ft1,8(a0)
+ 800001dc: 01053107 fld ft2,16(a0)
+ 800001e0: 01853683 ld a3,24(a0)
+ 800001e4: a2100553 fle.d a0,ft0,ft1
+ 800001e8: 001015f3 fsflags a1,zero
+ 800001ec: 00000613 li a2,0
+ 800001f0: 1ed51663 bne a0,a3,800003dc <fail>
+ 800001f4: 1ec59463 bne a1,a2,800003dc <fail>
+
+00000000800001f8 <test_7>:
+ 800001f8: 00700193 li gp,7
+ 800001fc: 00002517 auipc a0,0x2
+ 80000200: ea450513 addi a0,a0,-348 # 800020a0 <test_7_data>
+ 80000204: 00053007 fld ft0,0(a0)
+ 80000208: 00853087 fld ft1,8(a0)
+ 8000020c: 01053107 fld ft2,16(a0)
+ 80000210: 01853683 ld a3,24(a0)
+ 80000214: a2101553 flt.d a0,ft0,ft1
+ 80000218: 001015f3 fsflags a1,zero
+ 8000021c: 00000613 li a2,0
+ 80000220: 1ad51e63 bne a0,a3,800003dc <fail>
+ 80000224: 1ac59c63 bne a1,a2,800003dc <fail>
+
+0000000080000228 <test_8>:
+ 80000228: 00800193 li gp,8
+ 8000022c: 00002517 auipc a0,0x2
+ 80000230: e9450513 addi a0,a0,-364 # 800020c0 <test_8_data>
+ 80000234: 00053007 fld ft0,0(a0)
+ 80000238: 00853087 fld ft1,8(a0)
+ 8000023c: 01053107 fld ft2,16(a0)
+ 80000240: 01853683 ld a3,24(a0)
+ 80000244: a2102553 feq.d a0,ft0,ft1
+ 80000248: 001015f3 fsflags a1,zero
+ 8000024c: 00000613 li a2,0
+ 80000250: 18d51663 bne a0,a3,800003dc <fail>
+ 80000254: 18c59463 bne a1,a2,800003dc <fail>
+
+0000000080000258 <test_9>:
+ 80000258: 00900193 li gp,9
+ 8000025c: 00002517 auipc a0,0x2
+ 80000260: e8450513 addi a0,a0,-380 # 800020e0 <test_9_data>
+ 80000264: 00053007 fld ft0,0(a0)
+ 80000268: 00853087 fld ft1,8(a0)
+ 8000026c: 01053107 fld ft2,16(a0)
+ 80000270: 01853683 ld a3,24(a0)
+ 80000274: a2102553 feq.d a0,ft0,ft1
+ 80000278: 001015f3 fsflags a1,zero
+ 8000027c: 00000613 li a2,0
+ 80000280: 14d51e63 bne a0,a3,800003dc <fail>
+ 80000284: 14c59c63 bne a1,a2,800003dc <fail>
+
+0000000080000288 <test_10>:
+ 80000288: 00a00193 li gp,10
+ 8000028c: 00002517 auipc a0,0x2
+ 80000290: e7450513 addi a0,a0,-396 # 80002100 <test_10_data>
+ 80000294: 00053007 fld ft0,0(a0)
+ 80000298: 00853087 fld ft1,8(a0)
+ 8000029c: 01053107 fld ft2,16(a0)
+ 800002a0: 01853683 ld a3,24(a0)
+ 800002a4: a2102553 feq.d a0,ft0,ft1
+ 800002a8: 001015f3 fsflags a1,zero
+ 800002ac: 01000613 li a2,16
+ 800002b0: 12d51663 bne a0,a3,800003dc <fail>
+ 800002b4: 12c59463 bne a1,a2,800003dc <fail>
+
+00000000800002b8 <test_11>:
+ 800002b8: 00b00193 li gp,11
+ 800002bc: 00002517 auipc a0,0x2
+ 800002c0: e6450513 addi a0,a0,-412 # 80002120 <test_11_data>
+ 800002c4: 00053007 fld ft0,0(a0)
+ 800002c8: 00853087 fld ft1,8(a0)
+ 800002cc: 01053107 fld ft2,16(a0)
+ 800002d0: 01853683 ld a3,24(a0)
+ 800002d4: a2101553 flt.d a0,ft0,ft1
+ 800002d8: 001015f3 fsflags a1,zero
+ 800002dc: 01000613 li a2,16
+ 800002e0: 0ed51e63 bne a0,a3,800003dc <fail>
+ 800002e4: 0ec59c63 bne a1,a2,800003dc <fail>
+
+00000000800002e8 <test_12>:
+ 800002e8: 00c00193 li gp,12
+ 800002ec: 00002517 auipc a0,0x2
+ 800002f0: e5450513 addi a0,a0,-428 # 80002140 <test_12_data>
+ 800002f4: 00053007 fld ft0,0(a0)
+ 800002f8: 00853087 fld ft1,8(a0)
+ 800002fc: 01053107 fld ft2,16(a0)
+ 80000300: 01853683 ld a3,24(a0)
+ 80000304: a2101553 flt.d a0,ft0,ft1
+ 80000308: 001015f3 fsflags a1,zero
+ 8000030c: 01000613 li a2,16
+ 80000310: 0cd51663 bne a0,a3,800003dc <fail>
+ 80000314: 0cc59463 bne a1,a2,800003dc <fail>
+
+0000000080000318 <test_13>:
+ 80000318: 00d00193 li gp,13
+ 8000031c: 00002517 auipc a0,0x2
+ 80000320: e4450513 addi a0,a0,-444 # 80002160 <test_13_data>
+ 80000324: 00053007 fld ft0,0(a0)
+ 80000328: 00853087 fld ft1,8(a0)
+ 8000032c: 01053107 fld ft2,16(a0)
+ 80000330: 01853683 ld a3,24(a0)
+ 80000334: a2101553 flt.d a0,ft0,ft1
+ 80000338: 001015f3 fsflags a1,zero
+ 8000033c: 01000613 li a2,16
+ 80000340: 08d51e63 bne a0,a3,800003dc <fail>
+ 80000344: 08c59c63 bne a1,a2,800003dc <fail>
+
+0000000080000348 <test_14>:
+ 80000348: 00e00193 li gp,14
+ 8000034c: 00002517 auipc a0,0x2
+ 80000350: e3450513 addi a0,a0,-460 # 80002180 <test_14_data>
+ 80000354: 00053007 fld ft0,0(a0)
+ 80000358: 00853087 fld ft1,8(a0)
+ 8000035c: 01053107 fld ft2,16(a0)
+ 80000360: 01853683 ld a3,24(a0)
+ 80000364: a2100553 fle.d a0,ft0,ft1
+ 80000368: 001015f3 fsflags a1,zero
+ 8000036c: 01000613 li a2,16
+ 80000370: 06d51663 bne a0,a3,800003dc <fail>
+ 80000374: 06c59463 bne a1,a2,800003dc <fail>
+
+0000000080000378 <test_15>:
+ 80000378: 00f00193 li gp,15
+ 8000037c: 00002517 auipc a0,0x2
+ 80000380: e2450513 addi a0,a0,-476 # 800021a0 <test_15_data>
+ 80000384: 00053007 fld ft0,0(a0)
+ 80000388: 00853087 fld ft1,8(a0)
+ 8000038c: 01053107 fld ft2,16(a0)
+ 80000390: 01853683 ld a3,24(a0)
+ 80000394: a2100553 fle.d a0,ft0,ft1
+ 80000398: 001015f3 fsflags a1,zero
+ 8000039c: 01000613 li a2,16
+ 800003a0: 02d51e63 bne a0,a3,800003dc <fail>
+ 800003a4: 02c59c63 bne a1,a2,800003dc <fail>
+
+00000000800003a8 <test_16>:
+ 800003a8: 01000193 li gp,16
+ 800003ac: 00002517 auipc a0,0x2
+ 800003b0: e1450513 addi a0,a0,-492 # 800021c0 <test_16_data>
+ 800003b4: 00053007 fld ft0,0(a0)
+ 800003b8: 00853087 fld ft1,8(a0)
+ 800003bc: 01053107 fld ft2,16(a0)
+ 800003c0: 01853683 ld a3,24(a0)
+ 800003c4: a2100553 fle.d a0,ft0,ft1
+ 800003c8: 001015f3 fsflags a1,zero
+ 800003cc: 01000613 li a2,16
+ 800003d0: 00d51663 bne a0,a3,800003dc <fail>
+ 800003d4: 00c59463 bne a1,a2,800003dc <fail>
+ 800003d8: 00301c63 bne zero,gp,800003f0 <pass>
+
+00000000800003dc <fail>:
+ 800003dc: 0ff0000f fence
+ 800003e0: 00018063 beqz gp,800003e0 <fail+0x4>
+ 800003e4: 00119193 slli gp,gp,0x1
+ 800003e8: 0011e193 ori gp,gp,1
+ 800003ec: 00000073 ecall
+
+00000000800003f0 <pass>:
+ 800003f0: 0ff0000f fence
+ 800003f4: 00100193 li gp,1
+ 800003f8: 00000073 ecall
+ 800003fc: c0001073 unimp
+ 80000400: 0000 unimp
+ 80000402: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <test_2_data>:
+ 80002000: 5c28f5c3 0x5c28f5c3
+ 80002004: bff5c28f 0xbff5c28f
+ 80002008: 5c28f5c3 0x5c28f5c3
+ 8000200c: bff5c28f 0xbff5c28f
+ 80002010: 0000 unimp
+ 80002012: 0000 unimp
+ 80002014: 0000 unimp
+ 80002016: 0000 unimp
+ 80002018: 0001 nop
+ 8000201a: 0000 unimp
+ 8000201c: 0000 unimp
+ 8000201e: 0000 unimp
+
+0000000080002020 <test_3_data>:
+ 80002020: 5c28f5c3 0x5c28f5c3
+ 80002024: bff5c28f 0xbff5c28f
+ 80002028: 5c28f5c3 0x5c28f5c3
+ 8000202c: bff5c28f 0xbff5c28f
+ 80002030: 0000 unimp
+ 80002032: 0000 unimp
+ 80002034: 0000 unimp
+ 80002036: 0000 unimp
+ 80002038: 0001 nop
+ 8000203a: 0000 unimp
+ 8000203c: 0000 unimp
+ 8000203e: 0000 unimp
+
+0000000080002040 <test_4_data>:
+ 80002040: 5c28f5c3 0x5c28f5c3
+ 80002044: bff5c28f 0xbff5c28f
+ 80002048: 5c28f5c3 0x5c28f5c3
+ 8000204c: bff5c28f 0xbff5c28f
+ 80002050: 0000 unimp
+ 80002052: 0000 unimp
+ 80002054: 0000 unimp
+ 80002056: 0000 unimp
+ 80002058: 0000 unimp
+ 8000205a: 0000 unimp
+ 8000205c: 0000 unimp
+ 8000205e: 0000 unimp
+
+0000000080002060 <test_5_data>:
+ 80002060: 51ec lw a1,100(a1)
+ 80002062: 1eb8 addi a4,sp,888
+ 80002064: eb85 bnez a5,80002094 <test_6_data+0x14>
+ 80002066: bff5 j 80002062 <test_5_data+0x2>
+ 80002068: 5c28f5c3 0x5c28f5c3
+ 8000206c: bff5c28f 0xbff5c28f
+ 80002070: 0000 unimp
+ 80002072: 0000 unimp
+ 80002074: 0000 unimp
+ 80002076: 0000 unimp
+ 80002078: 0000 unimp
+ 8000207a: 0000 unimp
+ 8000207c: 0000 unimp
+ 8000207e: 0000 unimp
+
+0000000080002080 <test_6_data>:
+ 80002080: 51ec lw a1,100(a1)
+ 80002082: 1eb8 addi a4,sp,888
+ 80002084: eb85 bnez a5,800020b4 <test_7_data+0x14>
+ 80002086: bff5 j 80002082 <test_6_data+0x2>
+ 80002088: 5c28f5c3 0x5c28f5c3
+ 8000208c: bff5c28f 0xbff5c28f
+ 80002090: 0000 unimp
+ 80002092: 0000 unimp
+ 80002094: 0000 unimp
+ 80002096: 0000 unimp
+ 80002098: 0001 nop
+ 8000209a: 0000 unimp
+ 8000209c: 0000 unimp
+ 8000209e: 0000 unimp
+
+00000000800020a0 <test_7_data>:
+ 800020a0: 51ec lw a1,100(a1)
+ 800020a2: 1eb8 addi a4,sp,888
+ 800020a4: eb85 bnez a5,800020d4 <test_8_data+0x14>
+ 800020a6: bff5 j 800020a2 <test_7_data+0x2>
+ 800020a8: 5c28f5c3 0x5c28f5c3
+ 800020ac: bff5c28f 0xbff5c28f
+ 800020b0: 0000 unimp
+ 800020b2: 0000 unimp
+ 800020b4: 0000 unimp
+ 800020b6: 0000 unimp
+ 800020b8: 0001 nop
+ 800020ba: 0000 unimp
+ 800020bc: 0000 unimp
+ 800020be: 0000 unimp
+
+00000000800020c0 <test_8_data>:
+ 800020c0: ffff 0xffff
+ 800020c2: ffff 0xffff
+ 800020c4: ffff 0xffff
+ 800020c6: 7fff 0x7fff
+ 800020c8: 0000 unimp
+ 800020ca: 0000 unimp
+ 800020cc: 0000 unimp
+ 800020ce: 0000 unimp
+ 800020d0: 0000 unimp
+ 800020d2: 0000 unimp
+ 800020d4: 0000 unimp
+ 800020d6: 0000 unimp
+ 800020d8: 0000 unimp
+ 800020da: 0000 unimp
+ 800020dc: 0000 unimp
+ 800020de: 0000 unimp
+
+00000000800020e0 <test_9_data>:
+ 800020e0: ffff 0xffff
+ 800020e2: ffff 0xffff
+ 800020e4: ffff 0xffff
+ 800020e6: 7fff 0x7fff
+ 800020e8: ffff 0xffff
+ 800020ea: ffff 0xffff
+ 800020ec: ffff 0xffff
+ 800020ee: 7fff 0x7fff
+ 800020f0: 0000 unimp
+ 800020f2: 0000 unimp
+ 800020f4: 0000 unimp
+ 800020f6: 0000 unimp
+ 800020f8: 0000 unimp
+ 800020fa: 0000 unimp
+ 800020fc: 0000 unimp
+ 800020fe: 0000 unimp
+
+0000000080002100 <test_10_data>:
+ 80002100: 0001 nop
+ 80002102: 0000 unimp
+ 80002104: 0000 unimp
+ 80002106: 7ff0 ld a2,248(a5)
+ 80002108: 0000 unimp
+ 8000210a: 0000 unimp
+ 8000210c: 0000 unimp
+ 8000210e: 0000 unimp
+ 80002110: 0000 unimp
+ 80002112: 0000 unimp
+ 80002114: 0000 unimp
+ 80002116: 0000 unimp
+ 80002118: 0000 unimp
+ 8000211a: 0000 unimp
+ 8000211c: 0000 unimp
+ 8000211e: 0000 unimp
+
+0000000080002120 <test_11_data>:
+ 80002120: ffff 0xffff
+ 80002122: ffff 0xffff
+ 80002124: ffff 0xffff
+ 80002126: 7fff 0x7fff
+ 80002128: 0000 unimp
+ 8000212a: 0000 unimp
+ 8000212c: 0000 unimp
+ 8000212e: 0000 unimp
+ 80002130: 0000 unimp
+ 80002132: 0000 unimp
+ 80002134: 0000 unimp
+ 80002136: 0000 unimp
+ 80002138: 0000 unimp
+ 8000213a: 0000 unimp
+ 8000213c: 0000 unimp
+ 8000213e: 0000 unimp
+
+0000000080002140 <test_12_data>:
+ 80002140: ffff 0xffff
+ 80002142: ffff 0xffff
+ 80002144: ffff 0xffff
+ 80002146: 7fff 0x7fff
+ 80002148: ffff 0xffff
+ 8000214a: ffff 0xffff
+ 8000214c: ffff 0xffff
+ 8000214e: 7fff 0x7fff
+ 80002150: 0000 unimp
+ 80002152: 0000 unimp
+ 80002154: 0000 unimp
+ 80002156: 0000 unimp
+ 80002158: 0000 unimp
+ 8000215a: 0000 unimp
+ 8000215c: 0000 unimp
+ 8000215e: 0000 unimp
+
+0000000080002160 <test_13_data>:
+ 80002160: 0001 nop
+ 80002162: 0000 unimp
+ 80002164: 0000 unimp
+ 80002166: 7ff0 ld a2,248(a5)
+ 80002168: 0000 unimp
+ 8000216a: 0000 unimp
+ 8000216c: 0000 unimp
+ 8000216e: 0000 unimp
+ 80002170: 0000 unimp
+ 80002172: 0000 unimp
+ 80002174: 0000 unimp
+ 80002176: 0000 unimp
+ 80002178: 0000 unimp
+ 8000217a: 0000 unimp
+ 8000217c: 0000 unimp
+ 8000217e: 0000 unimp
+
+0000000080002180 <test_14_data>:
+ 80002180: ffff 0xffff
+ 80002182: ffff 0xffff
+ 80002184: ffff 0xffff
+ 80002186: 7fff 0x7fff
+ 80002188: 0000 unimp
+ 8000218a: 0000 unimp
+ 8000218c: 0000 unimp
+ 8000218e: 0000 unimp
+ 80002190: 0000 unimp
+ 80002192: 0000 unimp
+ 80002194: 0000 unimp
+ 80002196: 0000 unimp
+ 80002198: 0000 unimp
+ 8000219a: 0000 unimp
+ 8000219c: 0000 unimp
+ 8000219e: 0000 unimp
+
+00000000800021a0 <test_15_data>:
+ 800021a0: ffff 0xffff
+ 800021a2: ffff 0xffff
+ 800021a4: ffff 0xffff
+ 800021a6: 7fff 0x7fff
+ 800021a8: ffff 0xffff
+ 800021aa: ffff 0xffff
+ 800021ac: ffff 0xffff
+ 800021ae: 7fff 0x7fff
+ 800021b0: 0000 unimp
+ 800021b2: 0000 unimp
+ 800021b4: 0000 unimp
+ 800021b6: 0000 unimp
+ 800021b8: 0000 unimp
+ 800021ba: 0000 unimp
+ 800021bc: 0000 unimp
+ 800021be: 0000 unimp
+
+00000000800021c0 <test_16_data>:
+ 800021c0: 0001 nop
+ 800021c2: 0000 unimp
+ 800021c4: 0000 unimp
+ 800021c6: 7ff0 ld a2,248(a5)
+ 800021c8: 0000 unimp
+ 800021ca: 0000 unimp
+ 800021cc: 0000 unimp
+ 800021ce: 0000 unimp
+ 800021d0: 0000 unimp
+ 800021d2: 0000 unimp
+ 800021d4: 0000 unimp
+ 800021d6: 0000 unimp
+ 800021d8: 0000 unimp
+ 800021da: 0000 unimp
+ 800021dc: 0000 unimp
+ 800021de: 0000 unimp
diff --git a/test/riscv-tests/rv64ud-p-fcmp.elf b/test/riscv-tests/rv64ud-p-fcmp.elf
new file mode 100644
index 0000000..4ae6c9b
--- /dev/null
+++ b/test/riscv-tests/rv64ud-p-fcmp.elf
Binary files differ
diff --git a/test/riscv-tests/rv64ud-p-fcvt.dump b/test/riscv-tests/rv64ud-p-fcvt.dump
new file mode 100644
index 0000000..54e2a24
--- /dev/null
+++ b/test/riscv-tests/rv64ud-p-fcvt.dump
@@ -0,0 +1,327 @@
+
+rv64ud-p-fcvt: 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: 00002537 lui a0,0x2
+ 800000ec: 30052073 csrs mstatus,a0
+ 800000f0: 00305073 csrwi fcsr,0
+ 800000f4: 00000297 auipc t0,0x0
+ 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+ 800000fc: 34129073 csrw mepc,t0
+ 80000100: f1402573 csrr a0,mhartid
+ 80000104: 30200073 mret
+
+0000000080000108 <test_2>:
+ 80000108: 00200193 li gp,2
+ 8000010c: 00002517 auipc a0,0x2
+ 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+ 80000114: 00053683 ld a3,0(a0)
+ 80000118: 00200513 li a0,2
+ 8000011c: d2050053 fcvt.d.w ft0,a0
+ 80000120: 00101073 fsflags zero
+ 80000124: e2000553 fmv.x.d a0,ft0
+ 80000128: 1ad51263 bne a0,a3,800002cc <fail>
+
+000000008000012c <test_3>:
+ 8000012c: 00300193 li gp,3
+ 80000130: 00002517 auipc a0,0x2
+ 80000134: ed850513 addi a0,a0,-296 # 80002008 <test_3_data>
+ 80000138: 00053683 ld a3,0(a0)
+ 8000013c: ffe00513 li a0,-2
+ 80000140: d2050053 fcvt.d.w ft0,a0
+ 80000144: 00101073 fsflags zero
+ 80000148: e2000553 fmv.x.d a0,ft0
+ 8000014c: 18d51063 bne a0,a3,800002cc <fail>
+
+0000000080000150 <test_4>:
+ 80000150: 00400193 li gp,4
+ 80000154: 00002517 auipc a0,0x2
+ 80000158: ebc50513 addi a0,a0,-324 # 80002010 <test_4_data>
+ 8000015c: 00053683 ld a3,0(a0)
+ 80000160: 00200513 li a0,2
+ 80000164: d2150053 fcvt.d.wu ft0,a0
+ 80000168: 00101073 fsflags zero
+ 8000016c: e2000553 fmv.x.d a0,ft0
+ 80000170: 14d51e63 bne a0,a3,800002cc <fail>
+
+0000000080000174 <test_5>:
+ 80000174: 00500193 li gp,5
+ 80000178: 00002517 auipc a0,0x2
+ 8000017c: ea050513 addi a0,a0,-352 # 80002018 <test_5_data>
+ 80000180: 00053683 ld a3,0(a0)
+ 80000184: ffe00513 li a0,-2
+ 80000188: d2150053 fcvt.d.wu ft0,a0
+ 8000018c: 00101073 fsflags zero
+ 80000190: e2000553 fmv.x.d a0,ft0
+ 80000194: 12d51c63 bne a0,a3,800002cc <fail>
+
+0000000080000198 <test_6>:
+ 80000198: 00600193 li gp,6
+ 8000019c: 00002517 auipc a0,0x2
+ 800001a0: e8450513 addi a0,a0,-380 # 80002020 <test_6_data>
+ 800001a4: 00053683 ld a3,0(a0)
+ 800001a8: 00200513 li a0,2
+ 800001ac: d2257053 fcvt.d.l ft0,a0
+ 800001b0: 00101073 fsflags zero
+ 800001b4: e2000553 fmv.x.d a0,ft0
+ 800001b8: 10d51a63 bne a0,a3,800002cc <fail>
+
+00000000800001bc <test_7>:
+ 800001bc: 00700193 li gp,7
+ 800001c0: 00002517 auipc a0,0x2
+ 800001c4: e6850513 addi a0,a0,-408 # 80002028 <test_7_data>
+ 800001c8: 00053683 ld a3,0(a0)
+ 800001cc: ffe00513 li a0,-2
+ 800001d0: d2257053 fcvt.d.l ft0,a0
+ 800001d4: 00101073 fsflags zero
+ 800001d8: e2000553 fmv.x.d a0,ft0
+ 800001dc: 0ed51863 bne a0,a3,800002cc <fail>
+
+00000000800001e0 <test_8>:
+ 800001e0: 00800193 li gp,8
+ 800001e4: 00002517 auipc a0,0x2
+ 800001e8: e4c50513 addi a0,a0,-436 # 80002030 <test_8_data>
+ 800001ec: 00053683 ld a3,0(a0)
+ 800001f0: 00200513 li a0,2
+ 800001f4: d2357053 fcvt.d.lu ft0,a0
+ 800001f8: 00101073 fsflags zero
+ 800001fc: e2000553 fmv.x.d a0,ft0
+ 80000200: 0cd51663 bne a0,a3,800002cc <fail>
+
+0000000080000204 <test_9>:
+ 80000204: 00900193 li gp,9
+ 80000208: 00002517 auipc a0,0x2
+ 8000020c: e3050513 addi a0,a0,-464 # 80002038 <test_9_data>
+ 80000210: 00053683 ld a3,0(a0)
+ 80000214: ffe00513 li a0,-2
+ 80000218: d2357053 fcvt.d.lu ft0,a0
+ 8000021c: 00101073 fsflags zero
+ 80000220: e2000553 fmv.x.d a0,ft0
+ 80000224: 0ad51463 bne a0,a3,800002cc <fail>
+
+0000000080000228 <test_10>:
+ 80000228: 00a00193 li gp,10
+ 8000022c: 00002517 auipc a0,0x2
+ 80000230: e1450513 addi a0,a0,-492 # 80002040 <test_10_data>
+ 80000234: 00053007 fld ft0,0(a0)
+ 80000238: 00853087 fld ft1,8(a0)
+ 8000023c: 01053107 fld ft2,16(a0)
+ 80000240: 01853683 ld a3,24(a0)
+ 80000244: 401071d3 fcvt.s.d ft3,ft0
+ 80000248: 420181d3 fcvt.d.s ft3,ft3
+ 8000024c: e2018553 fmv.x.d a0,ft3
+ 80000250: 001015f3 fsflags a1,zero
+ 80000254: 00000613 li a2,0
+ 80000258: 06d51a63 bne a0,a3,800002cc <fail>
+ 8000025c: 06c59863 bne a1,a2,800002cc <fail>
+
+0000000080000260 <test_11>:
+ 80000260: 00b00193 li gp,11
+ 80000264: 00002517 auipc a0,0x2
+ 80000268: dfc50513 addi a0,a0,-516 # 80002060 <test_11_data>
+ 8000026c: 00052007 flw ft0,0(a0)
+ 80000270: 00452087 flw ft1,4(a0)
+ 80000274: 00852107 flw ft2,8(a0)
+ 80000278: 00c52683 lw a3,12(a0)
+ 8000027c: 420001d3 fcvt.d.s ft3,ft0
+ 80000280: 4011f1d3 fcvt.s.d ft3,ft3
+ 80000284: e0018553 fmv.x.w a0,ft3
+ 80000288: 001015f3 fsflags a1,zero
+ 8000028c: 00000613 li a2,0
+ 80000290: 02d51e63 bne a0,a3,800002cc <fail>
+ 80000294: 02c59c63 bne a1,a2,800002cc <fail>
+
+0000000080000298 <test_12>:
+ 80000298: 00002597 auipc a1,0x2
+ 8000029c: dd858593 addi a1,a1,-552 # 80002070 <begin_signature>
+ 800002a0: 0005b603 ld a2,0(a1)
+ 800002a4: f2060153 fmv.d.x ft2,a2
+ 800002a8: 40117153 fcvt.s.d ft2,ft2
+ 800002ac: 42010153 fcvt.d.s ft2,ft2
+ 800002b0: e2010553 fmv.x.d a0,ft2
+ 800002b4: 00001eb7 lui t4,0x1
+ 800002b8: fffe8e9b addiw t4,t4,-1
+ 800002bc: 033e9e93 slli t4,t4,0x33
+ 800002c0: 00c00193 li gp,12
+ 800002c4: 01d51463 bne a0,t4,800002cc <fail>
+ 800002c8: 00301c63 bne zero,gp,800002e0 <pass>
+
+00000000800002cc <fail>:
+ 800002cc: 0ff0000f fence
+ 800002d0: 00018063 beqz gp,800002d0 <fail+0x4>
+ 800002d4: 00119193 slli gp,gp,0x1
+ 800002d8: 0011e193 ori gp,gp,1
+ 800002dc: 00000073 ecall
+
+00000000800002e0 <pass>:
+ 800002e0: 0ff0000f fence
+ 800002e4: 00100193 li gp,1
+ 800002e8: 00000073 ecall
+ 800002ec: c0001073 unimp
+ 800002f0: 0000 unimp
+ 800002f2: 0000 unimp
+ 800002f4: 0000 unimp
+ 800002f6: 0000 unimp
+ 800002f8: 0000 unimp
+ 800002fa: 0000 unimp
+ 800002fc: 0000 unimp
+ 800002fe: 0000 unimp
+ 80000300: 0000 unimp
+ 80000302: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <test_2_data>:
+ 80002000: 0000 unimp
+ 80002002: 0000 unimp
+ 80002004: 0000 unimp
+ 80002006: 4000 lw s0,0(s0)
+
+0000000080002008 <test_3_data>:
+ 80002008: 0000 unimp
+ 8000200a: 0000 unimp
+ 8000200c: 0000 unimp
+ 8000200e: c000 sw s0,0(s0)
+
+0000000080002010 <test_4_data>:
+ 80002010: 0000 unimp
+ 80002012: 0000 unimp
+ 80002014: 0000 unimp
+ 80002016: 4000 lw s0,0(s0)
+
+0000000080002018 <test_5_data>:
+ 80002018: 0000 unimp
+ 8000201a: ffc0 sd s0,184(a5)
+ 8000201c: ffff 0xffff
+ 8000201e: jal gp,8000601e <_end+0x3f9e>
+
+0000000080002020 <test_6_data>:
+ 80002020: 0000 unimp
+ 80002022: 0000 unimp
+ 80002024: 0000 unimp
+ 80002026: 4000 lw s0,0(s0)
+
+0000000080002028 <test_7_data>:
+ 80002028: 0000 unimp
+ 8000202a: 0000 unimp
+ 8000202c: 0000 unimp
+ 8000202e: c000 sw s0,0(s0)
+
+0000000080002030 <test_8_data>:
+ 80002030: 0000 unimp
+ 80002032: 0000 unimp
+ 80002034: 0000 unimp
+ 80002036: 4000 lw s0,0(s0)
+
+0000000080002038 <test_9_data>:
+ 80002038: 0000 unimp
+ 8000203a: 0000 unimp
+ 8000203c: 0000 unimp
+ 8000203e: 43f0 lw a2,68(a5)
+
+0000000080002040 <test_10_data>:
+ 80002040: 0000 unimp
+ 80002042: 0000 unimp
+ 80002044: 0000 unimp
+ 80002046: bff8 fsd fa4,248(a5)
+ 80002048: 0000 unimp
+ 8000204a: 0000 unimp
+ 8000204c: 0000 unimp
+ 8000204e: 0000 unimp
+ 80002050: 0000 unimp
+ 80002052: 0000 unimp
+ 80002054: 0000 unimp
+ 80002056: 0000 unimp
+ 80002058: 0000 unimp
+ 8000205a: 0000 unimp
+ 8000205c: 0000 unimp
+ 8000205e: bff8 fsd fa4,248(a5)
+
+0000000080002060 <test_11_data>:
+ 80002060: 0000 unimp
+ 80002062: bfc0 fsd fs0,184(a5)
+ 80002064: 0000 unimp
+ 80002066: 0000 unimp
+ 80002068: 0000 unimp
+ 8000206a: 0000 unimp
+ 8000206c: 0000 unimp
+ 8000206e: bfc0 fsd fs0,184(a5)
+
+0000000080002070 <begin_signature>:
+ 80002070: 8004 0x8004
+ 80002072: ffff 0xffff
+ 80002074: ffff 0xffff
+ 80002076: 7ffc ld a5,248(a5)
+ 80002078: 0000 unimp
+ 8000207a: 0000 unimp
+ 8000207c: 0000 unimp
+ 8000207e: 0000 unimp
diff --git a/test/riscv-tests/rv64ud-p-fcvt.elf b/test/riscv-tests/rv64ud-p-fcvt.elf
new file mode 100644
index 0000000..995bc81
--- /dev/null
+++ b/test/riscv-tests/rv64ud-p-fcvt.elf
Binary files differ
diff --git a/test/riscv-tests/rv64ud-p-fcvt_w.dump b/test/riscv-tests/rv64ud-p-fcvt_w.dump
new file mode 100644
index 0000000..6094959
--- /dev/null
+++ b/test/riscv-tests/rv64ud-p-fcvt_w.dump
@@ -0,0 +1,1364 @@
+
+rv64ud-p-fcvt_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: 00002537 lui a0,0x2
+ 800000ec: 30052073 csrs mstatus,a0
+ 800000f0: 00305073 csrwi fcsr,0
+ 800000f4: 00000297 auipc t0,0x0
+ 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+ 800000fc: 34129073 csrw mepc,t0
+ 80000100: f1402573 csrr a0,mhartid
+ 80000104: 30200073 mret
+
+0000000080000108 <test_2>:
+ 80000108: 00200193 li gp,2
+ 8000010c: 00002517 auipc a0,0x2
+ 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+ 80000114: 00053007 fld ft0,0(a0)
+ 80000118: 00853087 fld ft1,8(a0)
+ 8000011c: 01053107 fld ft2,16(a0)
+ 80000120: 01853683 ld a3,24(a0)
+ 80000124: c2001553 fcvt.w.d a0,ft0,rtz
+ 80000128: 001015f3 fsflags a1,zero
+ 8000012c: 00100613 li a2,1
+ 80000130: 02d512e3 bne a0,a3,80000954 <fail>
+ 80000134: 02c590e3 bne a1,a2,80000954 <fail>
+
+0000000080000138 <test_3>:
+ 80000138: 00300193 li gp,3
+ 8000013c: 00002517 auipc a0,0x2
+ 80000140: ee450513 addi a0,a0,-284 # 80002020 <test_3_data>
+ 80000144: 00053007 fld ft0,0(a0)
+ 80000148: 00853087 fld ft1,8(a0)
+ 8000014c: 01053107 fld ft2,16(a0)
+ 80000150: 01853683 ld a3,24(a0)
+ 80000154: c2001553 fcvt.w.d a0,ft0,rtz
+ 80000158: 001015f3 fsflags a1,zero
+ 8000015c: 00000613 li a2,0
+ 80000160: 7ed51a63 bne a0,a3,80000954 <fail>
+ 80000164: 7ec59863 bne a1,a2,80000954 <fail>
+
+0000000080000168 <test_4>:
+ 80000168: 00400193 li gp,4
+ 8000016c: 00002517 auipc a0,0x2
+ 80000170: ed450513 addi a0,a0,-300 # 80002040 <test_4_data>
+ 80000174: 00053007 fld ft0,0(a0)
+ 80000178: 00853087 fld ft1,8(a0)
+ 8000017c: 01053107 fld ft2,16(a0)
+ 80000180: 01853683 ld a3,24(a0)
+ 80000184: c2001553 fcvt.w.d a0,ft0,rtz
+ 80000188: 001015f3 fsflags a1,zero
+ 8000018c: 00100613 li a2,1
+ 80000190: 7cd51263 bne a0,a3,80000954 <fail>
+ 80000194: 7cc59063 bne a1,a2,80000954 <fail>
+
+0000000080000198 <test_5>:
+ 80000198: 00500193 li gp,5
+ 8000019c: 00002517 auipc a0,0x2
+ 800001a0: ec450513 addi a0,a0,-316 # 80002060 <test_5_data>
+ 800001a4: 00053007 fld ft0,0(a0)
+ 800001a8: 00853087 fld ft1,8(a0)
+ 800001ac: 01053107 fld ft2,16(a0)
+ 800001b0: 01853683 ld a3,24(a0)
+ 800001b4: c2001553 fcvt.w.d a0,ft0,rtz
+ 800001b8: 001015f3 fsflags a1,zero
+ 800001bc: 00100613 li a2,1
+ 800001c0: 78d51a63 bne a0,a3,80000954 <fail>
+ 800001c4: 78c59863 bne a1,a2,80000954 <fail>
+
+00000000800001c8 <test_6>:
+ 800001c8: 00600193 li gp,6
+ 800001cc: 00002517 auipc a0,0x2
+ 800001d0: eb450513 addi a0,a0,-332 # 80002080 <test_6_data>
+ 800001d4: 00053007 fld ft0,0(a0)
+ 800001d8: 00853087 fld ft1,8(a0)
+ 800001dc: 01053107 fld ft2,16(a0)
+ 800001e0: 01853683 ld a3,24(a0)
+ 800001e4: c2001553 fcvt.w.d a0,ft0,rtz
+ 800001e8: 001015f3 fsflags a1,zero
+ 800001ec: 00000613 li a2,0
+ 800001f0: 76d51263 bne a0,a3,80000954 <fail>
+ 800001f4: 76c59063 bne a1,a2,80000954 <fail>
+
+00000000800001f8 <test_7>:
+ 800001f8: 00700193 li gp,7
+ 800001fc: 00002517 auipc a0,0x2
+ 80000200: ea450513 addi a0,a0,-348 # 800020a0 <test_7_data>
+ 80000204: 00053007 fld ft0,0(a0)
+ 80000208: 00853087 fld ft1,8(a0)
+ 8000020c: 01053107 fld ft2,16(a0)
+ 80000210: 01853683 ld a3,24(a0)
+ 80000214: c2001553 fcvt.w.d a0,ft0,rtz
+ 80000218: 001015f3 fsflags a1,zero
+ 8000021c: 00100613 li a2,1
+ 80000220: 72d51a63 bne a0,a3,80000954 <fail>
+ 80000224: 72c59863 bne a1,a2,80000954 <fail>
+
+0000000080000228 <test_8>:
+ 80000228: 00800193 li gp,8
+ 8000022c: 00002517 auipc a0,0x2
+ 80000230: e9450513 addi a0,a0,-364 # 800020c0 <test_8_data>
+ 80000234: 00053007 fld ft0,0(a0)
+ 80000238: 00853087 fld ft1,8(a0)
+ 8000023c: 01053107 fld ft2,16(a0)
+ 80000240: 01853683 ld a3,24(a0)
+ 80000244: c2001553 fcvt.w.d a0,ft0,rtz
+ 80000248: 001015f3 fsflags a1,zero
+ 8000024c: 01000613 li a2,16
+ 80000250: 70d51263 bne a0,a3,80000954 <fail>
+ 80000254: 70c59063 bne a1,a2,80000954 <fail>
+
+0000000080000258 <test_9>:
+ 80000258: 00900193 li gp,9
+ 8000025c: 00002517 auipc a0,0x2
+ 80000260: e8450513 addi a0,a0,-380 # 800020e0 <test_9_data>
+ 80000264: 00053007 fld ft0,0(a0)
+ 80000268: 00853087 fld ft1,8(a0)
+ 8000026c: 01053107 fld ft2,16(a0)
+ 80000270: 01853683 ld a3,24(a0)
+ 80000274: c2001553 fcvt.w.d a0,ft0,rtz
+ 80000278: 001015f3 fsflags a1,zero
+ 8000027c: 01000613 li a2,16
+ 80000280: 6cd51a63 bne a0,a3,80000954 <fail>
+ 80000284: 6cc59863 bne a1,a2,80000954 <fail>
+
+0000000080000288 <test_12>:
+ 80000288: 00c00193 li gp,12
+ 8000028c: 00002517 auipc a0,0x2
+ 80000290: e7450513 addi a0,a0,-396 # 80002100 <test_12_data>
+ 80000294: 00053007 fld ft0,0(a0)
+ 80000298: 00853087 fld ft1,8(a0)
+ 8000029c: 01053107 fld ft2,16(a0)
+ 800002a0: 01853683 ld a3,24(a0)
+ 800002a4: c2101553 fcvt.wu.d a0,ft0,rtz
+ 800002a8: 001015f3 fsflags a1,zero
+ 800002ac: 01000613 li a2,16
+ 800002b0: 6ad51263 bne a0,a3,80000954 <fail>
+ 800002b4: 6ac59063 bne a1,a2,80000954 <fail>
+
+00000000800002b8 <test_13>:
+ 800002b8: 00d00193 li gp,13
+ 800002bc: 00002517 auipc a0,0x2
+ 800002c0: e6450513 addi a0,a0,-412 # 80002120 <test_13_data>
+ 800002c4: 00053007 fld ft0,0(a0)
+ 800002c8: 00853087 fld ft1,8(a0)
+ 800002cc: 01053107 fld ft2,16(a0)
+ 800002d0: 01853683 ld a3,24(a0)
+ 800002d4: c2101553 fcvt.wu.d a0,ft0,rtz
+ 800002d8: 001015f3 fsflags a1,zero
+ 800002dc: 01000613 li a2,16
+ 800002e0: 66d51a63 bne a0,a3,80000954 <fail>
+ 800002e4: 66c59863 bne a1,a2,80000954 <fail>
+
+00000000800002e8 <test_14>:
+ 800002e8: 00e00193 li gp,14
+ 800002ec: 00002517 auipc a0,0x2
+ 800002f0: e5450513 addi a0,a0,-428 # 80002140 <test_14_data>
+ 800002f4: 00053007 fld ft0,0(a0)
+ 800002f8: 00853087 fld ft1,8(a0)
+ 800002fc: 01053107 fld ft2,16(a0)
+ 80000300: 01853683 ld a3,24(a0)
+ 80000304: c2101553 fcvt.wu.d a0,ft0,rtz
+ 80000308: 001015f3 fsflags a1,zero
+ 8000030c: 00100613 li a2,1
+ 80000310: 64d51263 bne a0,a3,80000954 <fail>
+ 80000314: 64c59063 bne a1,a2,80000954 <fail>
+
+0000000080000318 <test_15>:
+ 80000318: 00f00193 li gp,15
+ 8000031c: 00002517 auipc a0,0x2
+ 80000320: e4450513 addi a0,a0,-444 # 80002160 <test_15_data>
+ 80000324: 00053007 fld ft0,0(a0)
+ 80000328: 00853087 fld ft1,8(a0)
+ 8000032c: 01053107 fld ft2,16(a0)
+ 80000330: 01853683 ld a3,24(a0)
+ 80000334: c2101553 fcvt.wu.d a0,ft0,rtz
+ 80000338: 001015f3 fsflags a1,zero
+ 8000033c: 00100613 li a2,1
+ 80000340: 60d51a63 bne a0,a3,80000954 <fail>
+ 80000344: 60c59863 bne a1,a2,80000954 <fail>
+
+0000000080000348 <test_16>:
+ 80000348: 01000193 li gp,16
+ 8000034c: 00002517 auipc a0,0x2
+ 80000350: e3450513 addi a0,a0,-460 # 80002180 <test_16_data>
+ 80000354: 00053007 fld ft0,0(a0)
+ 80000358: 00853087 fld ft1,8(a0)
+ 8000035c: 01053107 fld ft2,16(a0)
+ 80000360: 01853683 ld a3,24(a0)
+ 80000364: c2101553 fcvt.wu.d a0,ft0,rtz
+ 80000368: 001015f3 fsflags a1,zero
+ 8000036c: 00000613 li a2,0
+ 80000370: 5ed51263 bne a0,a3,80000954 <fail>
+ 80000374: 5ec59063 bne a1,a2,80000954 <fail>
+
+0000000080000378 <test_17>:
+ 80000378: 01100193 li gp,17
+ 8000037c: 00002517 auipc a0,0x2
+ 80000380: e2450513 addi a0,a0,-476 # 800021a0 <test_17_data>
+ 80000384: 00053007 fld ft0,0(a0)
+ 80000388: 00853087 fld ft1,8(a0)
+ 8000038c: 01053107 fld ft2,16(a0)
+ 80000390: 01853683 ld a3,24(a0)
+ 80000394: c2101553 fcvt.wu.d a0,ft0,rtz
+ 80000398: 001015f3 fsflags a1,zero
+ 8000039c: 00100613 li a2,1
+ 800003a0: 5ad51a63 bne a0,a3,80000954 <fail>
+ 800003a4: 5ac59863 bne a1,a2,80000954 <fail>
+
+00000000800003a8 <test_18>:
+ 800003a8: 01200193 li gp,18
+ 800003ac: 00002517 auipc a0,0x2
+ 800003b0: e1450513 addi a0,a0,-492 # 800021c0 <test_18_data>
+ 800003b4: 00053007 fld ft0,0(a0)
+ 800003b8: 00853087 fld ft1,8(a0)
+ 800003bc: 01053107 fld ft2,16(a0)
+ 800003c0: 01853683 ld a3,24(a0)
+ 800003c4: c2101553 fcvt.wu.d a0,ft0,rtz
+ 800003c8: 001015f3 fsflags a1,zero
+ 800003cc: 01000613 li a2,16
+ 800003d0: 58d51263 bne a0,a3,80000954 <fail>
+ 800003d4: 58c59063 bne a1,a2,80000954 <fail>
+
+00000000800003d8 <test_19>:
+ 800003d8: 01300193 li gp,19
+ 800003dc: 00002517 auipc a0,0x2
+ 800003e0: e0450513 addi a0,a0,-508 # 800021e0 <test_19_data>
+ 800003e4: 00053007 fld ft0,0(a0)
+ 800003e8: 00853087 fld ft1,8(a0)
+ 800003ec: 01053107 fld ft2,16(a0)
+ 800003f0: 01853683 ld a3,24(a0)
+ 800003f4: c2101553 fcvt.wu.d a0,ft0,rtz
+ 800003f8: 001015f3 fsflags a1,zero
+ 800003fc: 00000613 li a2,0
+ 80000400: 54d51a63 bne a0,a3,80000954 <fail>
+ 80000404: 54c59863 bne a1,a2,80000954 <fail>
+
+0000000080000408 <test_22>:
+ 80000408: 01600193 li gp,22
+ 8000040c: 00002517 auipc a0,0x2
+ 80000410: df450513 addi a0,a0,-524 # 80002200 <test_22_data>
+ 80000414: 00053007 fld ft0,0(a0)
+ 80000418: 00853087 fld ft1,8(a0)
+ 8000041c: 01053107 fld ft2,16(a0)
+ 80000420: 01853683 ld a3,24(a0)
+ 80000424: c2201553 fcvt.l.d a0,ft0,rtz
+ 80000428: 001015f3 fsflags a1,zero
+ 8000042c: 00100613 li a2,1
+ 80000430: 52d51263 bne a0,a3,80000954 <fail>
+ 80000434: 52c59063 bne a1,a2,80000954 <fail>
+
+0000000080000438 <test_23>:
+ 80000438: 01700193 li gp,23
+ 8000043c: 00002517 auipc a0,0x2
+ 80000440: de450513 addi a0,a0,-540 # 80002220 <test_23_data>
+ 80000444: 00053007 fld ft0,0(a0)
+ 80000448: 00853087 fld ft1,8(a0)
+ 8000044c: 01053107 fld ft2,16(a0)
+ 80000450: 01853683 ld a3,24(a0)
+ 80000454: c2201553 fcvt.l.d a0,ft0,rtz
+ 80000458: 001015f3 fsflags a1,zero
+ 8000045c: 00000613 li a2,0
+ 80000460: 4ed51a63 bne a0,a3,80000954 <fail>
+ 80000464: 4ec59863 bne a1,a2,80000954 <fail>
+
+0000000080000468 <test_24>:
+ 80000468: 01800193 li gp,24
+ 8000046c: 00002517 auipc a0,0x2
+ 80000470: dd450513 addi a0,a0,-556 # 80002240 <test_24_data>
+ 80000474: 00053007 fld ft0,0(a0)
+ 80000478: 00853087 fld ft1,8(a0)
+ 8000047c: 01053107 fld ft2,16(a0)
+ 80000480: 01853683 ld a3,24(a0)
+ 80000484: c2201553 fcvt.l.d a0,ft0,rtz
+ 80000488: 001015f3 fsflags a1,zero
+ 8000048c: 00100613 li a2,1
+ 80000490: 4cd51263 bne a0,a3,80000954 <fail>
+ 80000494: 4cc59063 bne a1,a2,80000954 <fail>
+
+0000000080000498 <test_25>:
+ 80000498: 01900193 li gp,25
+ 8000049c: 00002517 auipc a0,0x2
+ 800004a0: dc450513 addi a0,a0,-572 # 80002260 <test_25_data>
+ 800004a4: 00053007 fld ft0,0(a0)
+ 800004a8: 00853087 fld ft1,8(a0)
+ 800004ac: 01053107 fld ft2,16(a0)
+ 800004b0: 01853683 ld a3,24(a0)
+ 800004b4: c2201553 fcvt.l.d a0,ft0,rtz
+ 800004b8: 001015f3 fsflags a1,zero
+ 800004bc: 00100613 li a2,1
+ 800004c0: 48d51a63 bne a0,a3,80000954 <fail>
+ 800004c4: 48c59863 bne a1,a2,80000954 <fail>
+
+00000000800004c8 <test_26>:
+ 800004c8: 01a00193 li gp,26
+ 800004cc: 00002517 auipc a0,0x2
+ 800004d0: db450513 addi a0,a0,-588 # 80002280 <test_26_data>
+ 800004d4: 00053007 fld ft0,0(a0)
+ 800004d8: 00853087 fld ft1,8(a0)
+ 800004dc: 01053107 fld ft2,16(a0)
+ 800004e0: 01853683 ld a3,24(a0)
+ 800004e4: c2201553 fcvt.l.d a0,ft0,rtz
+ 800004e8: 001015f3 fsflags a1,zero
+ 800004ec: 00000613 li a2,0
+ 800004f0: 46d51263 bne a0,a3,80000954 <fail>
+ 800004f4: 46c59063 bne a1,a2,80000954 <fail>
+
+00000000800004f8 <test_27>:
+ 800004f8: 01b00193 li gp,27
+ 800004fc: 00002517 auipc a0,0x2
+ 80000500: da450513 addi a0,a0,-604 # 800022a0 <test_27_data>
+ 80000504: 00053007 fld ft0,0(a0)
+ 80000508: 00853087 fld ft1,8(a0)
+ 8000050c: 01053107 fld ft2,16(a0)
+ 80000510: 01853683 ld a3,24(a0)
+ 80000514: c2201553 fcvt.l.d a0,ft0,rtz
+ 80000518: 001015f3 fsflags a1,zero
+ 8000051c: 00100613 li a2,1
+ 80000520: 42d51a63 bne a0,a3,80000954 <fail>
+ 80000524: 42c59863 bne a1,a2,80000954 <fail>
+
+0000000080000528 <test_28>:
+ 80000528: 01c00193 li gp,28
+ 8000052c: 00002517 auipc a0,0x2
+ 80000530: d9450513 addi a0,a0,-620 # 800022c0 <test_28_data>
+ 80000534: 00053007 fld ft0,0(a0)
+ 80000538: 00853087 fld ft1,8(a0)
+ 8000053c: 01053107 fld ft2,16(a0)
+ 80000540: 01853683 ld a3,24(a0)
+ 80000544: c2201553 fcvt.l.d a0,ft0,rtz
+ 80000548: 001015f3 fsflags a1,zero
+ 8000054c: 00000613 li a2,0
+ 80000550: 40d51263 bne a0,a3,80000954 <fail>
+ 80000554: 40c59063 bne a1,a2,80000954 <fail>
+
+0000000080000558 <test_29>:
+ 80000558: 01d00193 li gp,29
+ 8000055c: 00002517 auipc a0,0x2
+ 80000560: d8450513 addi a0,a0,-636 # 800022e0 <test_29_data>
+ 80000564: 00053007 fld ft0,0(a0)
+ 80000568: 00853087 fld ft1,8(a0)
+ 8000056c: 01053107 fld ft2,16(a0)
+ 80000570: 01853683 ld a3,24(a0)
+ 80000574: c2201553 fcvt.l.d a0,ft0,rtz
+ 80000578: 001015f3 fsflags a1,zero
+ 8000057c: 00000613 li a2,0
+ 80000580: 3cd51a63 bne a0,a3,80000954 <fail>
+ 80000584: 3cc59863 bne a1,a2,80000954 <fail>
+
+0000000080000588 <test_20>:
+ 80000588: 01400193 li gp,20
+ 8000058c: 00002517 auipc a0,0x2
+ 80000590: d7450513 addi a0,a0,-652 # 80002300 <test_20_data>
+ 80000594: 00053007 fld ft0,0(a0)
+ 80000598: 00853087 fld ft1,8(a0)
+ 8000059c: 01053107 fld ft2,16(a0)
+ 800005a0: 01853683 ld a3,24(a0)
+ 800005a4: c2201553 fcvt.l.d a0,ft0,rtz
+ 800005a8: 001015f3 fsflags a1,zero
+ 800005ac: 01000613 li a2,16
+ 800005b0: 3ad51263 bne a0,a3,80000954 <fail>
+ 800005b4: 3ac59063 bne a1,a2,80000954 <fail>
+
+00000000800005b8 <test_21>:
+ 800005b8: 01500193 li gp,21
+ 800005bc: 00002517 auipc a0,0x2
+ 800005c0: d6450513 addi a0,a0,-668 # 80002320 <test_21_data>
+ 800005c4: 00053007 fld ft0,0(a0)
+ 800005c8: 00853087 fld ft1,8(a0)
+ 800005cc: 01053107 fld ft2,16(a0)
+ 800005d0: 01853683 ld a3,24(a0)
+ 800005d4: c2201553 fcvt.l.d a0,ft0,rtz
+ 800005d8: 001015f3 fsflags a1,zero
+ 800005dc: 01000613 li a2,16
+ 800005e0: 36d51a63 bne a0,a3,80000954 <fail>
+ 800005e4: 36c59863 bne a1,a2,80000954 <fail>
+
+00000000800005e8 <test_32>:
+ 800005e8: 02000193 li gp,32
+ 800005ec: 00002517 auipc a0,0x2
+ 800005f0: d5450513 addi a0,a0,-684 # 80002340 <test_32_data>
+ 800005f4: 00053007 fld ft0,0(a0)
+ 800005f8: 00853087 fld ft1,8(a0)
+ 800005fc: 01053107 fld ft2,16(a0)
+ 80000600: 01853683 ld a3,24(a0)
+ 80000604: c2301553 fcvt.lu.d a0,ft0,rtz
+ 80000608: 001015f3 fsflags a1,zero
+ 8000060c: 01000613 li a2,16
+ 80000610: 34d51263 bne a0,a3,80000954 <fail>
+ 80000614: 34c59063 bne a1,a2,80000954 <fail>
+
+0000000080000618 <test_33>:
+ 80000618: 02100193 li gp,33
+ 8000061c: 00002517 auipc a0,0x2
+ 80000620: d4450513 addi a0,a0,-700 # 80002360 <test_33_data>
+ 80000624: 00053007 fld ft0,0(a0)
+ 80000628: 00853087 fld ft1,8(a0)
+ 8000062c: 01053107 fld ft2,16(a0)
+ 80000630: 01853683 ld a3,24(a0)
+ 80000634: c2301553 fcvt.lu.d a0,ft0,rtz
+ 80000638: 001015f3 fsflags a1,zero
+ 8000063c: 01000613 li a2,16
+ 80000640: 30d51a63 bne a0,a3,80000954 <fail>
+ 80000644: 30c59863 bne a1,a2,80000954 <fail>
+
+0000000080000648 <test_34>:
+ 80000648: 02200193 li gp,34
+ 8000064c: 00002517 auipc a0,0x2
+ 80000650: d3450513 addi a0,a0,-716 # 80002380 <test_34_data>
+ 80000654: 00053007 fld ft0,0(a0)
+ 80000658: 00853087 fld ft1,8(a0)
+ 8000065c: 01053107 fld ft2,16(a0)
+ 80000660: 01853683 ld a3,24(a0)
+ 80000664: c2301553 fcvt.lu.d a0,ft0,rtz
+ 80000668: 001015f3 fsflags a1,zero
+ 8000066c: 00100613 li a2,1
+ 80000670: 2ed51263 bne a0,a3,80000954 <fail>
+ 80000674: 2ec59063 bne a1,a2,80000954 <fail>
+
+0000000080000678 <test_35>:
+ 80000678: 02300193 li gp,35
+ 8000067c: 00002517 auipc a0,0x2
+ 80000680: d2450513 addi a0,a0,-732 # 800023a0 <test_35_data>
+ 80000684: 00053007 fld ft0,0(a0)
+ 80000688: 00853087 fld ft1,8(a0)
+ 8000068c: 01053107 fld ft2,16(a0)
+ 80000690: 01853683 ld a3,24(a0)
+ 80000694: c2301553 fcvt.lu.d a0,ft0,rtz
+ 80000698: 001015f3 fsflags a1,zero
+ 8000069c: 00100613 li a2,1
+ 800006a0: 2ad51a63 bne a0,a3,80000954 <fail>
+ 800006a4: 2ac59863 bne a1,a2,80000954 <fail>
+
+00000000800006a8 <test_36>:
+ 800006a8: 02400193 li gp,36
+ 800006ac: 00002517 auipc a0,0x2
+ 800006b0: d1450513 addi a0,a0,-748 # 800023c0 <test_36_data>
+ 800006b4: 00053007 fld ft0,0(a0)
+ 800006b8: 00853087 fld ft1,8(a0)
+ 800006bc: 01053107 fld ft2,16(a0)
+ 800006c0: 01853683 ld a3,24(a0)
+ 800006c4: c2301553 fcvt.lu.d a0,ft0,rtz
+ 800006c8: 001015f3 fsflags a1,zero
+ 800006cc: 00000613 li a2,0
+ 800006d0: 28d51263 bne a0,a3,80000954 <fail>
+ 800006d4: 28c59063 bne a1,a2,80000954 <fail>
+
+00000000800006d8 <test_37>:
+ 800006d8: 02500193 li gp,37
+ 800006dc: 00002517 auipc a0,0x2
+ 800006e0: d0450513 addi a0,a0,-764 # 800023e0 <test_37_data>
+ 800006e4: 00053007 fld ft0,0(a0)
+ 800006e8: 00853087 fld ft1,8(a0)
+ 800006ec: 01053107 fld ft2,16(a0)
+ 800006f0: 01853683 ld a3,24(a0)
+ 800006f4: c2301553 fcvt.lu.d a0,ft0,rtz
+ 800006f8: 001015f3 fsflags a1,zero
+ 800006fc: 00100613 li a2,1
+ 80000700: 24d51a63 bne a0,a3,80000954 <fail>
+ 80000704: 24c59863 bne a1,a2,80000954 <fail>
+
+0000000080000708 <test_38>:
+ 80000708: 02600193 li gp,38
+ 8000070c: 00002517 auipc a0,0x2
+ 80000710: cf450513 addi a0,a0,-780 # 80002400 <test_38_data>
+ 80000714: 00053007 fld ft0,0(a0)
+ 80000718: 00853087 fld ft1,8(a0)
+ 8000071c: 01053107 fld ft2,16(a0)
+ 80000720: 01853683 ld a3,24(a0)
+ 80000724: c2301553 fcvt.lu.d a0,ft0,rtz
+ 80000728: 001015f3 fsflags a1,zero
+ 8000072c: 01000613 li a2,16
+ 80000730: 22d51263 bne a0,a3,80000954 <fail>
+ 80000734: 22c59063 bne a1,a2,80000954 <fail>
+
+0000000080000738 <test_39>:
+ 80000738: 02700193 li gp,39
+ 8000073c: 00002517 auipc a0,0x2
+ 80000740: ce450513 addi a0,a0,-796 # 80002420 <test_39_data>
+ 80000744: 00053007 fld ft0,0(a0)
+ 80000748: 00853087 fld ft1,8(a0)
+ 8000074c: 01053107 fld ft2,16(a0)
+ 80000750: 01853683 ld a3,24(a0)
+ 80000754: c2301553 fcvt.lu.d a0,ft0,rtz
+ 80000758: 001015f3 fsflags a1,zero
+ 8000075c: 00000613 li a2,0
+ 80000760: 1ed51a63 bne a0,a3,80000954 <fail>
+ 80000764: 1ec59863 bne a1,a2,80000954 <fail>
+
+0000000080000768 <test_42>:
+ 80000768: 00002097 auipc ra,0x2
+ 8000076c: ce808093 addi ra,ra,-792 # 80002450 <tdat_d>
+ 80000770: 0000b087 fld ft1,0(ra)
+ 80000774: c200f0d3 fcvt.w.d ra,ft1
+ 80000778: 80000eb7 lui t4,0x80000
+ 8000077c: fffe8e9b addiw t4,t4,-1
+ 80000780: 02a00193 li gp,42
+ 80000784: 1dd09863 bne ra,t4,80000954 <fail>
+
+0000000080000788 <test_43>:
+ 80000788: 00002097 auipc ra,0x2
+ 8000078c: cc808093 addi ra,ra,-824 # 80002450 <tdat_d>
+ 80000790: 0000b087 fld ft1,0(ra)
+ 80000794: c220f0d3 fcvt.l.d ra,ft1
+ 80000798: fff00e9b addiw t4,zero,-1
+ 8000079c: 03fe9e93 slli t4,t4,0x3f
+ 800007a0: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffffdb8f>
+ 800007a4: 02b00193 li gp,43
+ 800007a8: 1bd09663 bne ra,t4,80000954 <fail>
+
+00000000800007ac <test_44>:
+ 800007ac: 00002097 auipc ra,0x2
+ 800007b0: ca408093 addi ra,ra,-860 # 80002450 <tdat_d>
+ 800007b4: 0100b087 fld ft1,16(ra)
+ 800007b8: c200f0d3 fcvt.w.d ra,ft1
+ 800007bc: 80000eb7 lui t4,0x80000
+ 800007c0: 02c00193 li gp,44
+ 800007c4: 19d09863 bne ra,t4,80000954 <fail>
+
+00000000800007c8 <test_45>:
+ 800007c8: 00002097 auipc ra,0x2
+ 800007cc: c8808093 addi ra,ra,-888 # 80002450 <tdat_d>
+ 800007d0: 0100b087 fld ft1,16(ra)
+ 800007d4: c220f0d3 fcvt.l.d ra,ft1
+ 800007d8: fff00e9b addiw t4,zero,-1
+ 800007dc: 03fe9e93 slli t4,t4,0x3f
+ 800007e0: 02d00193 li gp,45
+ 800007e4: 17d09863 bne ra,t4,80000954 <fail>
+
+00000000800007e8 <test_52>:
+ 800007e8: 00002097 auipc ra,0x2
+ 800007ec: c6808093 addi ra,ra,-920 # 80002450 <tdat_d>
+ 800007f0: 0080b087 fld ft1,8(ra)
+ 800007f4: c200f0d3 fcvt.w.d ra,ft1
+ 800007f8: 80000eb7 lui t4,0x80000
+ 800007fc: fffe8e9b addiw t4,t4,-1
+ 80000800: 03400193 li gp,52
+ 80000804: 15d09863 bne ra,t4,80000954 <fail>
+
+0000000080000808 <test_53>:
+ 80000808: 00002097 auipc ra,0x2
+ 8000080c: c4808093 addi ra,ra,-952 # 80002450 <tdat_d>
+ 80000810: 0080b087 fld ft1,8(ra)
+ 80000814: c220f0d3 fcvt.l.d ra,ft1
+ 80000818: fff00e9b addiw t4,zero,-1
+ 8000081c: 03fe9e93 slli t4,t4,0x3f
+ 80000820: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffffdb8f>
+ 80000824: 03500193 li gp,53
+ 80000828: 13d09663 bne ra,t4,80000954 <fail>
+
+000000008000082c <test_54>:
+ 8000082c: 00002097 auipc ra,0x2
+ 80000830: c2408093 addi ra,ra,-988 # 80002450 <tdat_d>
+ 80000834: 0180b087 fld ft1,24(ra)
+ 80000838: c200f0d3 fcvt.w.d ra,ft1
+ 8000083c: 80000eb7 lui t4,0x80000
+ 80000840: fffe8e9b addiw t4,t4,-1
+ 80000844: 03600193 li gp,54
+ 80000848: 11d09663 bne ra,t4,80000954 <fail>
+
+000000008000084c <test_55>:
+ 8000084c: 00002097 auipc ra,0x2
+ 80000850: c0408093 addi ra,ra,-1020 # 80002450 <tdat_d>
+ 80000854: 0180b087 fld ft1,24(ra)
+ 80000858: c220f0d3 fcvt.l.d ra,ft1
+ 8000085c: fff00e9b addiw t4,zero,-1
+ 80000860: 03fe9e93 slli t4,t4,0x3f
+ 80000864: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffffdb8f>
+ 80000868: 03700193 li gp,55
+ 8000086c: 0fd09463 bne ra,t4,80000954 <fail>
+
+0000000080000870 <test_62>:
+ 80000870: 00002097 auipc ra,0x2
+ 80000874: be008093 addi ra,ra,-1056 # 80002450 <tdat_d>
+ 80000878: 0000b087 fld ft1,0(ra)
+ 8000087c: c210f0d3 fcvt.wu.d ra,ft1
+ 80000880: fff00e93 li t4,-1
+ 80000884: 03e00193 li gp,62
+ 80000888: 0dd09663 bne ra,t4,80000954 <fail>
+
+000000008000088c <test_63>:
+ 8000088c: 00002097 auipc ra,0x2
+ 80000890: bc408093 addi ra,ra,-1084 # 80002450 <tdat_d>
+ 80000894: 0080b087 fld ft1,8(ra)
+ 80000898: c210f0d3 fcvt.wu.d ra,ft1
+ 8000089c: fff00e93 li t4,-1
+ 800008a0: 03f00193 li gp,63
+ 800008a4: 0bd09863 bne ra,t4,80000954 <fail>
+
+00000000800008a8 <test_64>:
+ 800008a8: 00002097 auipc ra,0x2
+ 800008ac: ba808093 addi ra,ra,-1112 # 80002450 <tdat_d>
+ 800008b0: 0100b087 fld ft1,16(ra)
+ 800008b4: c210f0d3 fcvt.wu.d ra,ft1
+ 800008b8: 00000e93 li t4,0
+ 800008bc: 04000193 li gp,64
+ 800008c0: 09d09a63 bne ra,t4,80000954 <fail>
+
+00000000800008c4 <test_65>:
+ 800008c4: 00002097 auipc ra,0x2
+ 800008c8: b8c08093 addi ra,ra,-1140 # 80002450 <tdat_d>
+ 800008cc: 0180b087 fld ft1,24(ra)
+ 800008d0: c210f0d3 fcvt.wu.d ra,ft1
+ 800008d4: fff00e93 li t4,-1
+ 800008d8: 04100193 li gp,65
+ 800008dc: 07d09c63 bne ra,t4,80000954 <fail>
+
+00000000800008e0 <test_66>:
+ 800008e0: 00002097 auipc ra,0x2
+ 800008e4: b7008093 addi ra,ra,-1168 # 80002450 <tdat_d>
+ 800008e8: 0000b087 fld ft1,0(ra)
+ 800008ec: c230f0d3 fcvt.lu.d ra,ft1
+ 800008f0: fff00e93 li t4,-1
+ 800008f4: 04200193 li gp,66
+ 800008f8: 05d09e63 bne ra,t4,80000954 <fail>
+
+00000000800008fc <test_67>:
+ 800008fc: 00002097 auipc ra,0x2
+ 80000900: b5408093 addi ra,ra,-1196 # 80002450 <tdat_d>
+ 80000904: 0080b087 fld ft1,8(ra)
+ 80000908: c230f0d3 fcvt.lu.d ra,ft1
+ 8000090c: fff00e93 li t4,-1
+ 80000910: 04300193 li gp,67
+ 80000914: 05d09063 bne ra,t4,80000954 <fail>
+
+0000000080000918 <test_68>:
+ 80000918: 00002097 auipc ra,0x2
+ 8000091c: b3808093 addi ra,ra,-1224 # 80002450 <tdat_d>
+ 80000920: 0100b087 fld ft1,16(ra)
+ 80000924: c230f0d3 fcvt.lu.d ra,ft1
+ 80000928: 00000e93 li t4,0
+ 8000092c: 04400193 li gp,68
+ 80000930: 03d09263 bne ra,t4,80000954 <fail>
+
+0000000080000934 <test_69>:
+ 80000934: 00002097 auipc ra,0x2
+ 80000938: b1c08093 addi ra,ra,-1252 # 80002450 <tdat_d>
+ 8000093c: 0180b087 fld ft1,24(ra)
+ 80000940: c230f0d3 fcvt.lu.d ra,ft1
+ 80000944: fff00e93 li t4,-1
+ 80000948: 04500193 li gp,69
+ 8000094c: 01d09463 bne ra,t4,80000954 <fail>
+ 80000950: 00301c63 bne zero,gp,80000968 <pass>
+
+0000000080000954 <fail>:
+ 80000954: 0ff0000f fence
+ 80000958: 00018063 beqz gp,80000958 <fail+0x4>
+ 8000095c: 00119193 slli gp,gp,0x1
+ 80000960: 0011e193 ori gp,gp,1
+ 80000964: 00000073 ecall
+
+0000000080000968 <pass>:
+ 80000968: 0ff0000f fence
+ 8000096c: 00100193 li gp,1
+ 80000970: 00000073 ecall
+ 80000974: c0001073 unimp
+ 80000978: 0000 unimp
+ 8000097a: 0000 unimp
+ 8000097c: 0000 unimp
+ 8000097e: 0000 unimp
+ 80000980: 0000 unimp
+ 80000982: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <test_2_data>:
+ 80002000: 999a add s3,s3,t1
+ 80002002: 9999 andi a1,a1,-26
+ 80002004: 9999 andi a1,a1,-26
+ 80002006: bff1 j 80001fe2 <fromhost+0xfa2>
+ 80002008: 0000 unimp
+ 8000200a: 0000 unimp
+ 8000200c: 0000 unimp
+ 8000200e: 0000 unimp
+ 80002010: 0000 unimp
+ 80002012: 0000 unimp
+ 80002014: 0000 unimp
+ 80002016: 0000 unimp
+ 80002018: ffff 0xffff
+ 8000201a: ffff 0xffff
+ 8000201c: ffff 0xffff
+ 8000201e: ffff 0xffff
+
+0000000080002020 <test_3_data>:
+ 80002020: 0000 unimp
+ 80002022: 0000 unimp
+ 80002024: 0000 unimp
+ 80002026: bff0 fsd fa2,248(a5)
+ 80002028: 0000 unimp
+ 8000202a: 0000 unimp
+ 8000202c: 0000 unimp
+ 8000202e: 0000 unimp
+ 80002030: 0000 unimp
+ 80002032: 0000 unimp
+ 80002034: 0000 unimp
+ 80002036: 0000 unimp
+ 80002038: ffff 0xffff
+ 8000203a: ffff 0xffff
+ 8000203c: ffff 0xffff
+ 8000203e: ffff 0xffff
+
+0000000080002040 <test_4_data>:
+ 80002040: cccd beqz s1,800020fa <test_9_data+0x1a>
+ 80002042: cccc sw a1,28(s1)
+ 80002044: cccc sw a1,28(s1)
+ 80002046: bfec fsd fa1,248(a5)
+ 80002048: 0000 unimp
+ 8000204a: 0000 unimp
+ 8000204c: 0000 unimp
+ 8000204e: 0000 unimp
+ 80002050: 0000 unimp
+ 80002052: 0000 unimp
+ 80002054: 0000 unimp
+ 80002056: 0000 unimp
+ 80002058: 0000 unimp
+ 8000205a: 0000 unimp
+ 8000205c: 0000 unimp
+ 8000205e: 0000 unimp
+
+0000000080002060 <test_5_data>:
+ 80002060: cccd beqz s1,8000211a <test_12_data+0x1a>
+ 80002062: cccc sw a1,28(s1)
+ 80002064: cccc sw a1,28(s1)
+ 80002066: 3fec fld fa1,248(a5)
+ 80002068: 0000 unimp
+ 8000206a: 0000 unimp
+ 8000206c: 0000 unimp
+ 8000206e: 0000 unimp
+ 80002070: 0000 unimp
+ 80002072: 0000 unimp
+ 80002074: 0000 unimp
+ 80002076: 0000 unimp
+ 80002078: 0000 unimp
+ 8000207a: 0000 unimp
+ 8000207c: 0000 unimp
+ 8000207e: 0000 unimp
+
+0000000080002080 <test_6_data>:
+ 80002080: 0000 unimp
+ 80002082: 0000 unimp
+ 80002084: 0000 unimp
+ 80002086: 3ff0 fld fa2,248(a5)
+ 80002088: 0000 unimp
+ 8000208a: 0000 unimp
+ 8000208c: 0000 unimp
+ 8000208e: 0000 unimp
+ 80002090: 0000 unimp
+ 80002092: 0000 unimp
+ 80002094: 0000 unimp
+ 80002096: 0000 unimp
+ 80002098: 0001 nop
+ 8000209a: 0000 unimp
+ 8000209c: 0000 unimp
+ 8000209e: 0000 unimp
+
+00000000800020a0 <test_7_data>:
+ 800020a0: 999a add s3,s3,t1
+ 800020a2: 9999 andi a1,a1,-26
+ 800020a4: 9999 andi a1,a1,-26
+ 800020a6: 3ff1 addiw t6,t6,-4
+ 800020a8: 0000 unimp
+ 800020aa: 0000 unimp
+ 800020ac: 0000 unimp
+ 800020ae: 0000 unimp
+ 800020b0: 0000 unimp
+ 800020b2: 0000 unimp
+ 800020b4: 0000 unimp
+ 800020b6: 0000 unimp
+ 800020b8: 0001 nop
+ 800020ba: 0000 unimp
+ 800020bc: 0000 unimp
+ 800020be: 0000 unimp
+
+00000000800020c0 <test_8_data>:
+ 800020c0: 0000 unimp
+ 800020c2: c000 sw s0,0(s0)
+ 800020c4: c1e65a0b 0xc1e65a0b
+ 800020c8: 0000 unimp
+ 800020ca: 0000 unimp
+ 800020cc: 0000 unimp
+ 800020ce: 0000 unimp
+ 800020d0: 0000 unimp
+ 800020d2: 0000 unimp
+ 800020d4: 0000 unimp
+ 800020d6: 0000 unimp
+ 800020d8: 0000 unimp
+ 800020da: 8000 0x8000
+ 800020dc: ffff 0xffff
+ 800020de: ffff 0xffff
+
+00000000800020e0 <test_9_data>:
+ 800020e0: 0000 unimp
+ 800020e2: c000 sw s0,0(s0)
+ 800020e4: 41e65a0b 0x41e65a0b
+ 800020e8: 0000 unimp
+ 800020ea: 0000 unimp
+ 800020ec: 0000 unimp
+ 800020ee: 0000 unimp
+ 800020f0: 0000 unimp
+ 800020f2: 0000 unimp
+ 800020f4: 0000 unimp
+ 800020f6: 0000 unimp
+ 800020f8: ffff 0xffff
+ 800020fa: 7fff 0x7fff
+ 800020fc: 0000 unimp
+ 800020fe: 0000 unimp
+
+0000000080002100 <test_12_data>:
+ 80002100: 0000 unimp
+ 80002102: 0000 unimp
+ 80002104: 0000 unimp
+ 80002106: c008 sw a0,0(s0)
+ 80002108: 0000 unimp
+ 8000210a: 0000 unimp
+ 8000210c: 0000 unimp
+ 8000210e: 0000 unimp
+ 80002110: 0000 unimp
+ 80002112: 0000 unimp
+ 80002114: 0000 unimp
+ 80002116: 0000 unimp
+ 80002118: 0000 unimp
+ 8000211a: 0000 unimp
+ 8000211c: 0000 unimp
+ 8000211e: 0000 unimp
+
+0000000080002120 <test_13_data>:
+ 80002120: 0000 unimp
+ 80002122: 0000 unimp
+ 80002124: 0000 unimp
+ 80002126: bff0 fsd fa2,248(a5)
+ 80002128: 0000 unimp
+ 8000212a: 0000 unimp
+ 8000212c: 0000 unimp
+ 8000212e: 0000 unimp
+ 80002130: 0000 unimp
+ 80002132: 0000 unimp
+ 80002134: 0000 unimp
+ 80002136: 0000 unimp
+ 80002138: 0000 unimp
+ 8000213a: 0000 unimp
+ 8000213c: 0000 unimp
+ 8000213e: 0000 unimp
+
+0000000080002140 <test_14_data>:
+ 80002140: cccd beqz s1,800021fa <test_19_data+0x1a>
+ 80002142: cccc sw a1,28(s1)
+ 80002144: cccc sw a1,28(s1)
+ 80002146: bfec fsd fa1,248(a5)
+ 80002148: 0000 unimp
+ 8000214a: 0000 unimp
+ 8000214c: 0000 unimp
+ 8000214e: 0000 unimp
+ 80002150: 0000 unimp
+ 80002152: 0000 unimp
+ 80002154: 0000 unimp
+ 80002156: 0000 unimp
+ 80002158: 0000 unimp
+ 8000215a: 0000 unimp
+ 8000215c: 0000 unimp
+ 8000215e: 0000 unimp
+
+0000000080002160 <test_15_data>:
+ 80002160: cccd beqz s1,8000221a <test_22_data+0x1a>
+ 80002162: cccc sw a1,28(s1)
+ 80002164: cccc sw a1,28(s1)
+ 80002166: 3fec fld fa1,248(a5)
+ 80002168: 0000 unimp
+ 8000216a: 0000 unimp
+ 8000216c: 0000 unimp
+ 8000216e: 0000 unimp
+ 80002170: 0000 unimp
+ 80002172: 0000 unimp
+ 80002174: 0000 unimp
+ 80002176: 0000 unimp
+ 80002178: 0000 unimp
+ 8000217a: 0000 unimp
+ 8000217c: 0000 unimp
+ 8000217e: 0000 unimp
+
+0000000080002180 <test_16_data>:
+ 80002180: 0000 unimp
+ 80002182: 0000 unimp
+ 80002184: 0000 unimp
+ 80002186: 3ff0 fld fa2,248(a5)
+ 80002188: 0000 unimp
+ 8000218a: 0000 unimp
+ 8000218c: 0000 unimp
+ 8000218e: 0000 unimp
+ 80002190: 0000 unimp
+ 80002192: 0000 unimp
+ 80002194: 0000 unimp
+ 80002196: 0000 unimp
+ 80002198: 0001 nop
+ 8000219a: 0000 unimp
+ 8000219c: 0000 unimp
+ 8000219e: 0000 unimp
+
+00000000800021a0 <test_17_data>:
+ 800021a0: 999a add s3,s3,t1
+ 800021a2: 9999 andi a1,a1,-26
+ 800021a4: 9999 andi a1,a1,-26
+ 800021a6: 3ff1 addiw t6,t6,-4
+ 800021a8: 0000 unimp
+ 800021aa: 0000 unimp
+ 800021ac: 0000 unimp
+ 800021ae: 0000 unimp
+ 800021b0: 0000 unimp
+ 800021b2: 0000 unimp
+ 800021b4: 0000 unimp
+ 800021b6: 0000 unimp
+ 800021b8: 0001 nop
+ 800021ba: 0000 unimp
+ 800021bc: 0000 unimp
+ 800021be: 0000 unimp
+
+00000000800021c0 <test_18_data>:
+ 800021c0: 0000 unimp
+ 800021c2: c000 sw s0,0(s0)
+ 800021c4: c1e65a0b 0xc1e65a0b
+ 800021c8: 0000 unimp
+ 800021ca: 0000 unimp
+ 800021cc: 0000 unimp
+ 800021ce: 0000 unimp
+ 800021d0: 0000 unimp
+ 800021d2: 0000 unimp
+ 800021d4: 0000 unimp
+ 800021d6: 0000 unimp
+ 800021d8: 0000 unimp
+ 800021da: 0000 unimp
+ 800021dc: 0000 unimp
+ 800021de: 0000 unimp
+
+00000000800021e0 <test_19_data>:
+ 800021e0: 0000 unimp
+ 800021e2: c000 sw s0,0(s0)
+ 800021e4: 41e65a0b 0x41e65a0b
+ 800021e8: 0000 unimp
+ 800021ea: 0000 unimp
+ 800021ec: 0000 unimp
+ 800021ee: 0000 unimp
+ 800021f0: 0000 unimp
+ 800021f2: 0000 unimp
+ 800021f4: 0000 unimp
+ 800021f6: 0000 unimp
+ 800021f8: 5e00 lw s0,56(a2)
+ 800021fa: b2d0 fsd fa2,160(a3)
+ 800021fc: ffff 0xffff
+ 800021fe: ffff 0xffff
+
+0000000080002200 <test_22_data>:
+ 80002200: 999a add s3,s3,t1
+ 80002202: 9999 andi a1,a1,-26
+ 80002204: 9999 andi a1,a1,-26
+ 80002206: bff1 j 800021e2 <test_19_data+0x2>
+ 80002208: 0000 unimp
+ 8000220a: 0000 unimp
+ 8000220c: 0000 unimp
+ 8000220e: 0000 unimp
+ 80002210: 0000 unimp
+ 80002212: 0000 unimp
+ 80002214: 0000 unimp
+ 80002216: 0000 unimp
+ 80002218: ffff 0xffff
+ 8000221a: ffff 0xffff
+ 8000221c: ffff 0xffff
+ 8000221e: ffff 0xffff
+
+0000000080002220 <test_23_data>:
+ 80002220: 0000 unimp
+ 80002222: 0000 unimp
+ 80002224: 0000 unimp
+ 80002226: bff0 fsd fa2,248(a5)
+ 80002228: 0000 unimp
+ 8000222a: 0000 unimp
+ 8000222c: 0000 unimp
+ 8000222e: 0000 unimp
+ 80002230: 0000 unimp
+ 80002232: 0000 unimp
+ 80002234: 0000 unimp
+ 80002236: 0000 unimp
+ 80002238: ffff 0xffff
+ 8000223a: ffff 0xffff
+ 8000223c: ffff 0xffff
+ 8000223e: ffff 0xffff
+
+0000000080002240 <test_24_data>:
+ 80002240: cccd beqz s1,800022fa <test_29_data+0x1a>
+ 80002242: cccc sw a1,28(s1)
+ 80002244: cccc sw a1,28(s1)
+ 80002246: bfec fsd fa1,248(a5)
+ 80002248: 0000 unimp
+ 8000224a: 0000 unimp
+ 8000224c: 0000 unimp
+ 8000224e: 0000 unimp
+ 80002250: 0000 unimp
+ 80002252: 0000 unimp
+ 80002254: 0000 unimp
+ 80002256: 0000 unimp
+ 80002258: 0000 unimp
+ 8000225a: 0000 unimp
+ 8000225c: 0000 unimp
+ 8000225e: 0000 unimp
+
+0000000080002260 <test_25_data>:
+ 80002260: cccd beqz s1,8000231a <test_20_data+0x1a>
+ 80002262: cccc sw a1,28(s1)
+ 80002264: cccc sw a1,28(s1)
+ 80002266: 3fec fld fa1,248(a5)
+ 80002268: 0000 unimp
+ 8000226a: 0000 unimp
+ 8000226c: 0000 unimp
+ 8000226e: 0000 unimp
+ 80002270: 0000 unimp
+ 80002272: 0000 unimp
+ 80002274: 0000 unimp
+ 80002276: 0000 unimp
+ 80002278: 0000 unimp
+ 8000227a: 0000 unimp
+ 8000227c: 0000 unimp
+ 8000227e: 0000 unimp
+
+0000000080002280 <test_26_data>:
+ 80002280: 0000 unimp
+ 80002282: 0000 unimp
+ 80002284: 0000 unimp
+ 80002286: 3ff0 fld fa2,248(a5)
+ 80002288: 0000 unimp
+ 8000228a: 0000 unimp
+ 8000228c: 0000 unimp
+ 8000228e: 0000 unimp
+ 80002290: 0000 unimp
+ 80002292: 0000 unimp
+ 80002294: 0000 unimp
+ 80002296: 0000 unimp
+ 80002298: 0001 nop
+ 8000229a: 0000 unimp
+ 8000229c: 0000 unimp
+ 8000229e: 0000 unimp
+
+00000000800022a0 <test_27_data>:
+ 800022a0: 999a add s3,s3,t1
+ 800022a2: 9999 andi a1,a1,-26
+ 800022a4: 9999 andi a1,a1,-26
+ 800022a6: 3ff1 addiw t6,t6,-4
+ 800022a8: 0000 unimp
+ 800022aa: 0000 unimp
+ 800022ac: 0000 unimp
+ 800022ae: 0000 unimp
+ 800022b0: 0000 unimp
+ 800022b2: 0000 unimp
+ 800022b4: 0000 unimp
+ 800022b6: 0000 unimp
+ 800022b8: 0001 nop
+ 800022ba: 0000 unimp
+ 800022bc: 0000 unimp
+ 800022be: 0000 unimp
+
+00000000800022c0 <test_28_data>:
+ 800022c0: 0000 unimp
+ 800022c2: c000 sw s0,0(s0)
+ 800022c4: c1e65a0b 0xc1e65a0b
+ 800022c8: 0000 unimp
+ 800022ca: 0000 unimp
+ 800022cc: 0000 unimp
+ 800022ce: 0000 unimp
+ 800022d0: 0000 unimp
+ 800022d2: 0000 unimp
+ 800022d4: 0000 unimp
+ 800022d6: 0000 unimp
+ 800022d8: a200 fsd fs0,0(a2)
+ 800022da: ffff4d2f 0xffff4d2f
+ 800022de: ffff 0xffff
+
+00000000800022e0 <test_29_data>:
+ 800022e0: 0000 unimp
+ 800022e2: c000 sw s0,0(s0)
+ 800022e4: 41e65a0b 0x41e65a0b
+ 800022e8: 0000 unimp
+ 800022ea: 0000 unimp
+ 800022ec: 0000 unimp
+ 800022ee: 0000 unimp
+ 800022f0: 0000 unimp
+ 800022f2: 0000 unimp
+ 800022f4: 0000 unimp
+ 800022f6: 0000 unimp
+ 800022f8: 5e00 lw s0,56(a2)
+ 800022fa: b2d0 fsd fa2,160(a3)
+ 800022fc: 0000 unimp
+ 800022fe: 0000 unimp
+
+0000000080002300 <test_20_data>:
+ 80002300: db80 sw s0,48(a5)
+ 80002302: 90d9 srli s1,s1,0x36
+ 80002304: 0556 slli a0,a0,0x15
+ 80002306: c3fa sw t5,196(sp)
+ 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: 8000 0x8000
+
+0000000080002320 <test_21_data>:
+ 80002320: db80 sw s0,48(a5)
+ 80002322: 90d9 srli s1,s1,0x36
+ 80002324: 0556 slli a0,a0,0x15
+ 80002326: 43fa lw t2,156(sp)
+ 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: ffff 0xffff
+ 8000233a: ffff 0xffff
+ 8000233c: ffff 0xffff
+ 8000233e: 7fff 0x7fff
+
+0000000080002340 <test_32_data>:
+ 80002340: 0000 unimp
+ 80002342: 0000 unimp
+ 80002344: 0000 unimp
+ 80002346: c008 sw a0,0(s0)
+ 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
+
+0000000080002360 <test_33_data>:
+ 80002360: 0000 unimp
+ 80002362: 0000 unimp
+ 80002364: 0000 unimp
+ 80002366: bff0 fsd fa2,248(a5)
+ 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
+
+0000000080002380 <test_34_data>:
+ 80002380: cccd beqz s1,8000243a <test_39_data+0x1a>
+ 80002382: cccc sw a1,28(s1)
+ 80002384: cccc sw a1,28(s1)
+ 80002386: bfec fsd fa1,248(a5)
+ 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
+
+00000000800023a0 <test_35_data>:
+ 800023a0: cccd beqz s1,8000245a <tdat_d+0xa>
+ 800023a2: cccc sw a1,28(s1)
+ 800023a4: cccc sw a1,28(s1)
+ 800023a6: 3fec fld fa1,248(a5)
+ 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
+
+00000000800023c0 <test_36_data>:
+ 800023c0: 0000 unimp
+ 800023c2: 0000 unimp
+ 800023c4: 0000 unimp
+ 800023c6: 3ff0 fld fa2,248(a5)
+ 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: 0001 nop
+ 800023da: 0000 unimp
+ 800023dc: 0000 unimp
+ 800023de: 0000 unimp
+
+00000000800023e0 <test_37_data>:
+ 800023e0: 999a add s3,s3,t1
+ 800023e2: 9999 andi a1,a1,-26
+ 800023e4: 9999 andi a1,a1,-26
+ 800023e6: 3ff1 addiw t6,t6,-4
+ 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: 0001 nop
+ 800023fa: 0000 unimp
+ 800023fc: 0000 unimp
+ 800023fe: 0000 unimp
+
+0000000080002400 <test_38_data>:
+ 80002400: 0000 unimp
+ 80002402: c000 sw s0,0(s0)
+ 80002404: c1e65a0b 0xc1e65a0b
+ 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
+
+0000000080002420 <test_39_data>:
+ 80002420: 0000 unimp
+ 80002422: c000 sw s0,0(s0)
+ 80002424: 41e65a0b 0x41e65a0b
+ 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: 5e00 lw s0,56(a2)
+ 8000243a: b2d0 fsd fa2,160(a3)
+ 8000243c: 0000 unimp
+ 8000243e: 0000 unimp
+
+0000000080002440 <begin_signature>:
+ 80002440: ffff 0xffff
+ 80002442: ffff 0xffff
+ 80002444: ffff 0xffff
+ 80002446: 7fff 0x7fff
+ 80002448: 0000 unimp
+ 8000244a: ff80 sd s0,56(a5)
+ 8000244c: 0000 unimp
+ 8000244e: 7f80 ld s0,56(a5)
+
+0000000080002450 <tdat_d>:
+ 80002450: ffff 0xffff
+ 80002452: ffff 0xffff
+ 80002454: ffff 0xffff
+ 80002456: ffff 0xffff
+ 80002458: ffff 0xffff
+ 8000245a: ffff 0xffff
+ 8000245c: ffff 0xffff
+ 8000245e: 7fff 0x7fff
+ 80002460: 0000 unimp
+ 80002462: 0000 unimp
+ 80002464: 0000 unimp
+ 80002466: fff0 sd a2,248(a5)
+ 80002468: 0000 unimp
+ 8000246a: 0000 unimp
+ 8000246c: 0000 unimp
+ 8000246e: 7ff0 ld a2,248(a5)
diff --git a/test/riscv-tests/rv64ud-p-fcvt_w.elf b/test/riscv-tests/rv64ud-p-fcvt_w.elf
new file mode 100644
index 0000000..4db28d5
--- /dev/null
+++ b/test/riscv-tests/rv64ud-p-fcvt_w.elf
Binary files differ
diff --git a/test/riscv-tests/rv64ud-p-fdiv.dump b/test/riscv-tests/rv64ud-p-fdiv.dump
new file mode 100644
index 0000000..ee1330c
--- /dev/null
+++ b/test/riscv-tests/rv64ud-p-fdiv.dump
@@ -0,0 +1,375 @@
+
+rv64ud-p-fdiv: 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: 00002537 lui a0,0x2
+ 800000ec: 30052073 csrs mstatus,a0
+ 800000f0: 00305073 csrwi fcsr,0
+ 800000f4: 00000297 auipc t0,0x0
+ 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+ 800000fc: 34129073 csrw mepc,t0
+ 80000100: f1402573 csrr a0,mhartid
+ 80000104: 30200073 mret
+
+0000000080000108 <test_2>:
+ 80000108: 00200193 li gp,2
+ 8000010c: 00002517 auipc a0,0x2
+ 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+ 80000114: 00053007 fld ft0,0(a0)
+ 80000118: 00853087 fld ft1,8(a0)
+ 8000011c: 01053107 fld ft2,16(a0)
+ 80000120: 01853683 ld a3,24(a0)
+ 80000124: 1a1071d3 fdiv.d ft3,ft0,ft1
+ 80000128: e2018553 fmv.x.d a0,ft3
+ 8000012c: 001015f3 fsflags a1,zero
+ 80000130: 00100613 li a2,1
+ 80000134: 16d51c63 bne a0,a3,800002ac <fail>
+ 80000138: 16c59a63 bne a1,a2,800002ac <fail>
+
+000000008000013c <test_3>:
+ 8000013c: 00300193 li gp,3
+ 80000140: 00002517 auipc a0,0x2
+ 80000144: ee050513 addi a0,a0,-288 # 80002020 <test_3_data>
+ 80000148: 00053007 fld ft0,0(a0)
+ 8000014c: 00853087 fld ft1,8(a0)
+ 80000150: 01053107 fld ft2,16(a0)
+ 80000154: 01853683 ld a3,24(a0)
+ 80000158: 1a1071d3 fdiv.d ft3,ft0,ft1
+ 8000015c: e2018553 fmv.x.d a0,ft3
+ 80000160: 001015f3 fsflags a1,zero
+ 80000164: 00100613 li a2,1
+ 80000168: 14d51263 bne a0,a3,800002ac <fail>
+ 8000016c: 14c59063 bne a1,a2,800002ac <fail>
+
+0000000080000170 <test_4>:
+ 80000170: 00400193 li gp,4
+ 80000174: 00002517 auipc a0,0x2
+ 80000178: ecc50513 addi a0,a0,-308 # 80002040 <test_4_data>
+ 8000017c: 00053007 fld ft0,0(a0)
+ 80000180: 00853087 fld ft1,8(a0)
+ 80000184: 01053107 fld ft2,16(a0)
+ 80000188: 01853683 ld a3,24(a0)
+ 8000018c: 1a1071d3 fdiv.d ft3,ft0,ft1
+ 80000190: e2018553 fmv.x.d a0,ft3
+ 80000194: 001015f3 fsflags a1,zero
+ 80000198: 00000613 li a2,0
+ 8000019c: 10d51863 bne a0,a3,800002ac <fail>
+ 800001a0: 10c59663 bne a1,a2,800002ac <fail>
+
+00000000800001a4 <test_5>:
+ 800001a4: 00500193 li gp,5
+ 800001a8: 00002517 auipc a0,0x2
+ 800001ac: eb850513 addi a0,a0,-328 # 80002060 <test_5_data>
+ 800001b0: 00053007 fld ft0,0(a0)
+ 800001b4: 00853087 fld ft1,8(a0)
+ 800001b8: 01053107 fld ft2,16(a0)
+ 800001bc: 01853683 ld a3,24(a0)
+ 800001c0: 5a0071d3 fsqrt.d ft3,ft0
+ 800001c4: e2018553 fmv.x.d a0,ft3
+ 800001c8: 001015f3 fsflags a1,zero
+ 800001cc: 00100613 li a2,1
+ 800001d0: 0cd51e63 bne a0,a3,800002ac <fail>
+ 800001d4: 0cc59c63 bne a1,a2,800002ac <fail>
+
+00000000800001d8 <test_6>:
+ 800001d8: 00600193 li gp,6
+ 800001dc: 00002517 auipc a0,0x2
+ 800001e0: ea450513 addi a0,a0,-348 # 80002080 <test_6_data>
+ 800001e4: 00053007 fld ft0,0(a0)
+ 800001e8: 00853087 fld ft1,8(a0)
+ 800001ec: 01053107 fld ft2,16(a0)
+ 800001f0: 01853683 ld a3,24(a0)
+ 800001f4: 5a0071d3 fsqrt.d ft3,ft0
+ 800001f8: e2018553 fmv.x.d a0,ft3
+ 800001fc: 001015f3 fsflags a1,zero
+ 80000200: 00000613 li a2,0
+ 80000204: 0ad51463 bne a0,a3,800002ac <fail>
+ 80000208: 0ac59263 bne a1,a2,800002ac <fail>
+
+000000008000020c <test_16>:
+ 8000020c: 01000193 li gp,16
+ 80000210: 00002517 auipc a0,0x2
+ 80000214: e9050513 addi a0,a0,-368 # 800020a0 <test_16_data>
+ 80000218: 00053007 fld ft0,0(a0)
+ 8000021c: 00853087 fld ft1,8(a0)
+ 80000220: 01053107 fld ft2,16(a0)
+ 80000224: 01853683 ld a3,24(a0)
+ 80000228: 5a0071d3 fsqrt.d ft3,ft0
+ 8000022c: e2018553 fmv.x.d a0,ft3
+ 80000230: 001015f3 fsflags a1,zero
+ 80000234: 01000613 li a2,16
+ 80000238: 06d51a63 bne a0,a3,800002ac <fail>
+ 8000023c: 06c59863 bne a1,a2,800002ac <fail>
+
+0000000080000240 <test_7>:
+ 80000240: 00700193 li gp,7
+ 80000244: 00002517 auipc a0,0x2
+ 80000248: e7c50513 addi a0,a0,-388 # 800020c0 <test_7_data>
+ 8000024c: 00053007 fld ft0,0(a0)
+ 80000250: 00853087 fld ft1,8(a0)
+ 80000254: 01053107 fld ft2,16(a0)
+ 80000258: 01853683 ld a3,24(a0)
+ 8000025c: 5a0071d3 fsqrt.d ft3,ft0
+ 80000260: e2018553 fmv.x.d a0,ft3
+ 80000264: 001015f3 fsflags a1,zero
+ 80000268: 00100613 li a2,1
+ 8000026c: 04d51063 bne a0,a3,800002ac <fail>
+ 80000270: 02c59e63 bne a1,a2,800002ac <fail>
+
+0000000080000274 <test_8>:
+ 80000274: 00800193 li gp,8
+ 80000278: 00002517 auipc a0,0x2
+ 8000027c: e6850513 addi a0,a0,-408 # 800020e0 <test_8_data>
+ 80000280: 00053007 fld ft0,0(a0)
+ 80000284: 00853087 fld ft1,8(a0)
+ 80000288: 01053107 fld ft2,16(a0)
+ 8000028c: 01853683 ld a3,24(a0)
+ 80000290: 5a0071d3 fsqrt.d ft3,ft0
+ 80000294: e2018553 fmv.x.d a0,ft3
+ 80000298: 001015f3 fsflags a1,zero
+ 8000029c: 00100613 li a2,1
+ 800002a0: 00d51663 bne a0,a3,800002ac <fail>
+ 800002a4: 00c59463 bne a1,a2,800002ac <fail>
+ 800002a8: 00301c63 bne zero,gp,800002c0 <pass>
+
+00000000800002ac <fail>:
+ 800002ac: 0ff0000f fence
+ 800002b0: 00018063 beqz gp,800002b0 <fail+0x4>
+ 800002b4: 00119193 slli gp,gp,0x1
+ 800002b8: 0011e193 ori gp,gp,1
+ 800002bc: 00000073 ecall
+
+00000000800002c0 <pass>:
+ 800002c0: 0ff0000f fence
+ 800002c4: 00100193 li gp,1
+ 800002c8: 00000073 ecall
+ 800002cc: c0001073 unimp
+ 800002d0: 0000 unimp
+ 800002d2: 0000 unimp
+ 800002d4: 0000 unimp
+ 800002d6: 0000 unimp
+ 800002d8: 0000 unimp
+ 800002da: 0000 unimp
+ 800002dc: 0000 unimp
+ 800002de: 0000 unimp
+ 800002e0: 0000 unimp
+ 800002e2: 0000 unimp
+ 800002e4: 0000 unimp
+ 800002e6: 0000 unimp
+ 800002e8: 0000 unimp
+ 800002ea: 0000 unimp
+ 800002ec: 0000 unimp
+ 800002ee: 0000 unimp
+ 800002f0: 0000 unimp
+ 800002f2: 0000 unimp
+ 800002f4: 0000 unimp
+ 800002f6: 0000 unimp
+ 800002f8: 0000 unimp
+ 800002fa: 0000 unimp
+ 800002fc: 0000 unimp
+ 800002fe: 0000 unimp
+ 80000300: 0000 unimp
+ 80000302: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <test_2_data>:
+ 80002000: d4f1 beqz s1,80001fcc <fromhost+0xf8c>
+ 80002002: 53c8 lw a0,36(a5)
+ 80002004: 400921fb 0x400921fb
+ 80002008: b0dd j 800018ee <fromhost+0x8ae>
+ 8000200a: 89f1 andi a1,a1,28
+ 8000200c: bf0a fsd ft2,440(sp)
+ 8000200e: 4005 c.li zero,1
+ 80002010: 0000 unimp
+ 80002012: 0000 unimp
+ 80002014: 0000 unimp
+ 80002016: 0000 unimp
+ 80002018: 83ec 0x83ec
+ 8000201a: 7ddbf6c3 0x7ddbf6c3
+ 8000201e: 3ff2 fld ft11,312(sp)
+
+0000000080002020 <test_3_data>:
+ 80002020: 0000 unimp
+ 80002022: 0000 unimp
+ 80002024: 4800 lw s0,16(s0)
+ 80002026: 6666c093 xori ra,a3,1638
+ 8000202a: 6666 ld a2,88(sp)
+ 8000202c: 4c66 lw s8,88(sp)
+ 8000202e: 00004093 xori ra,zero,0
+ 80002032: 0000 unimp
+ 80002034: 0000 unimp
+ 80002036: 0000 unimp
+ 80002038: 29a5 addiw s3,s3,9
+ 8000203a: 3e19 addiw t3,t3,-26
+ 8000203c: f8b4 sd a3,112(s1)
+ 8000203e: jal t6,7ff1dd8c <_start-0xe2274>
+
+0000000080002040 <test_4_data>:
+ 80002040: d4f1 beqz s1,8000200c <test_2_data+0xc>
+ 80002042: 53c8 lw a0,36(a5)
+ 80002044: 400921fb 0x400921fb
+ 80002048: 0000 unimp
+ 8000204a: 0000 unimp
+ 8000204c: 0000 unimp
+ 8000204e: 3ff0 fld fa2,248(a5)
+ 80002050: 0000 unimp
+ 80002052: 0000 unimp
+ 80002054: 0000 unimp
+ 80002056: 0000 unimp
+ 80002058: d4f1 beqz s1,80002024 <test_3_data+0x4>
+ 8000205a: 53c8 lw a0,36(a5)
+ 8000205c: 400921fb 0x400921fb
+
+0000000080002060 <test_5_data>:
+ 80002060: d4f1 beqz s1,8000202c <test_3_data+0xc>
+ 80002062: 53c8 lw a0,36(a5)
+ 80002064: 400921fb 0x400921fb
+ 80002068: 0000 unimp
+ 8000206a: 0000 unimp
+ 8000206c: 0000 unimp
+ 8000206e: 0000 unimp
+ 80002070: 0000 unimp
+ 80002072: 0000 unimp
+ 80002074: 0000 unimp
+ 80002076: 0000 unimp
+ 80002078: 916f587b 0x916f587b
+ 8000207c: 5bf8 lw a4,116(a5)
+ 8000207e: 3ffc fld fa5,248(a5)
+
+0000000080002080 <test_6_data>:
+ 80002080: 0000 unimp
+ 80002082: 0000 unimp
+ 80002084: 8800 0x8800
+ 80002086: 000040c3 fmadd.s ft1,ft0,ft0,ft0,rmm
+ 8000208a: 0000 unimp
+ 8000208c: 0000 unimp
+ 8000208e: 0000 unimp
+ 80002090: 0000 unimp
+ 80002092: 0000 unimp
+ 80002094: 0000 unimp
+ 80002096: 0000 unimp
+ 80002098: 0000 unimp
+ 8000209a: 0000 unimp
+ 8000209c: 0000 unimp
+ 8000209e: 4059 c.li zero,22
+
+00000000800020a0 <test_16_data>:
+ 800020a0: 0000 unimp
+ 800020a2: 0000 unimp
+ 800020a4: 0000 unimp
+ 800020a6: bff0 fsd fa2,248(a5)
+ 800020a8: 0000 unimp
+ 800020aa: 0000 unimp
+ 800020ac: 0000 unimp
+ 800020ae: 0000 unimp
+ 800020b0: 0000 unimp
+ 800020b2: 0000 unimp
+ 800020b4: 0000 unimp
+ 800020b6: 0000 unimp
+ 800020b8: 0000 unimp
+ 800020ba: 0000 unimp
+ 800020bc: 0000 unimp
+ 800020be: 7ff8 ld a4,248(a5)
+
+00000000800020c0 <test_7_data>:
+ 800020c0: 0000 unimp
+ 800020c2: 0000 unimp
+ 800020c4: 6000 ld s0,0(s0)
+ 800020c6: 4065 c.li zero,25
+ 800020c8: 0000 unimp
+ 800020ca: 0000 unimp
+ 800020cc: 0000 unimp
+ 800020ce: 0000 unimp
+ 800020d0: 0000 unimp
+ 800020d2: 0000 unimp
+ 800020d4: 0000 unimp
+ 800020d6: 0000 unimp
+ 800020d8: 74f5 lui s1,0xffffd
+ 800020da: ce96 sw t0,92(sp)
+ 800020dc: 2744 fld fs1,136(a4)
+ 800020de: 402a 0x402a
+
+00000000800020e0 <test_8_data>:
+ 800020e0: a105 j 80002500 <_end+0x400>
+ 800020e2: c70a sw sp,140(sp)
+ 800020e4: 94df 3e85 0000 0x3e8594df
+ 800020ea: 0000 unimp
+ 800020ec: 0000 unimp
+ 800020ee: 0000 unimp
+ 800020f0: 0000 unimp
+ 800020f2: 0000 unimp
+ 800020f4: 0000 unimp
+ 800020f6: 0000 unimp
+ 800020f8: 7f99 lui t6,0xfffe6
+ 800020fa: 4789c0e3 blt s3,s8,80002d5a <_end+0xc5a>
+ 800020fe: 3f3a fld ft10,424(sp)
diff --git a/test/riscv-tests/rv64ud-p-fdiv.elf b/test/riscv-tests/rv64ud-p-fdiv.elf
new file mode 100644
index 0000000..d62c776
--- /dev/null
+++ b/test/riscv-tests/rv64ud-p-fdiv.elf
Binary files differ
diff --git a/test/riscv-tests/rv64ud-p-fmadd.dump b/test/riscv-tests/rv64ud-p-fmadd.dump
new file mode 100644
index 0000000..c04db2d
--- /dev/null
+++ b/test/riscv-tests/rv64ud-p-fmadd.dump
@@ -0,0 +1,507 @@
+
+rv64ud-p-fmadd: 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: 00002537 lui a0,0x2
+ 800000ec: 30052073 csrs mstatus,a0
+ 800000f0: 00305073 csrwi fcsr,0
+ 800000f4: 00000297 auipc t0,0x0
+ 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+ 800000fc: 34129073 csrw mepc,t0
+ 80000100: f1402573 csrr a0,mhartid
+ 80000104: 30200073 mret
+
+0000000080000108 <test_2>:
+ 80000108: 00200193 li gp,2
+ 8000010c: 00002517 auipc a0,0x2
+ 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+ 80000114: 00053007 fld ft0,0(a0)
+ 80000118: 00853087 fld ft1,8(a0)
+ 8000011c: 01053107 fld ft2,16(a0)
+ 80000120: 01853683 ld a3,24(a0)
+ 80000124: 121071c3 fmadd.d ft3,ft0,ft1,ft2
+ 80000128: e2018553 fmv.x.d a0,ft3
+ 8000012c: 001015f3 fsflags a1,zero
+ 80000130: 00000613 li a2,0
+ 80000134: 24d51463 bne a0,a3,8000037c <fail>
+ 80000138: 24c59263 bne a1,a2,8000037c <fail>
+
+000000008000013c <test_3>:
+ 8000013c: 00300193 li gp,3
+ 80000140: 00002517 auipc a0,0x2
+ 80000144: ee050513 addi a0,a0,-288 # 80002020 <test_3_data>
+ 80000148: 00053007 fld ft0,0(a0)
+ 8000014c: 00853087 fld ft1,8(a0)
+ 80000150: 01053107 fld ft2,16(a0)
+ 80000154: 01853683 ld a3,24(a0)
+ 80000158: 121071c3 fmadd.d ft3,ft0,ft1,ft2
+ 8000015c: e2018553 fmv.x.d a0,ft3
+ 80000160: 001015f3 fsflags a1,zero
+ 80000164: 00100613 li a2,1
+ 80000168: 20d51a63 bne a0,a3,8000037c <fail>
+ 8000016c: 20c59863 bne a1,a2,8000037c <fail>
+
+0000000080000170 <test_4>:
+ 80000170: 00400193 li gp,4
+ 80000174: 00002517 auipc a0,0x2
+ 80000178: ecc50513 addi a0,a0,-308 # 80002040 <test_4_data>
+ 8000017c: 00053007 fld ft0,0(a0)
+ 80000180: 00853087 fld ft1,8(a0)
+ 80000184: 01053107 fld ft2,16(a0)
+ 80000188: 01853683 ld a3,24(a0)
+ 8000018c: 121071c3 fmadd.d ft3,ft0,ft1,ft2
+ 80000190: e2018553 fmv.x.d a0,ft3
+ 80000194: 001015f3 fsflags a1,zero
+ 80000198: 00000613 li a2,0
+ 8000019c: 1ed51063 bne a0,a3,8000037c <fail>
+ 800001a0: 1cc59e63 bne a1,a2,8000037c <fail>
+
+00000000800001a4 <test_5>:
+ 800001a4: 00500193 li gp,5
+ 800001a8: 00002517 auipc a0,0x2
+ 800001ac: eb850513 addi a0,a0,-328 # 80002060 <test_5_data>
+ 800001b0: 00053007 fld ft0,0(a0)
+ 800001b4: 00853087 fld ft1,8(a0)
+ 800001b8: 01053107 fld ft2,16(a0)
+ 800001bc: 01853683 ld a3,24(a0)
+ 800001c0: 121071cf fnmadd.d ft3,ft0,ft1,ft2
+ 800001c4: e2018553 fmv.x.d a0,ft3
+ 800001c8: 001015f3 fsflags a1,zero
+ 800001cc: 00000613 li a2,0
+ 800001d0: 1ad51663 bne a0,a3,8000037c <fail>
+ 800001d4: 1ac59463 bne a1,a2,8000037c <fail>
+
+00000000800001d8 <test_6>:
+ 800001d8: 00600193 li gp,6
+ 800001dc: 00002517 auipc a0,0x2
+ 800001e0: ea450513 addi a0,a0,-348 # 80002080 <test_6_data>
+ 800001e4: 00053007 fld ft0,0(a0)
+ 800001e8: 00853087 fld ft1,8(a0)
+ 800001ec: 01053107 fld ft2,16(a0)
+ 800001f0: 01853683 ld a3,24(a0)
+ 800001f4: 121071cf fnmadd.d ft3,ft0,ft1,ft2
+ 800001f8: e2018553 fmv.x.d a0,ft3
+ 800001fc: 001015f3 fsflags a1,zero
+ 80000200: 00100613 li a2,1
+ 80000204: 16d51c63 bne a0,a3,8000037c <fail>
+ 80000208: 16c59a63 bne a1,a2,8000037c <fail>
+
+000000008000020c <test_7>:
+ 8000020c: 00700193 li gp,7
+ 80000210: 00002517 auipc a0,0x2
+ 80000214: e9050513 addi a0,a0,-368 # 800020a0 <test_7_data>
+ 80000218: 00053007 fld ft0,0(a0)
+ 8000021c: 00853087 fld ft1,8(a0)
+ 80000220: 01053107 fld ft2,16(a0)
+ 80000224: 01853683 ld a3,24(a0)
+ 80000228: 121071cf fnmadd.d ft3,ft0,ft1,ft2
+ 8000022c: e2018553 fmv.x.d a0,ft3
+ 80000230: 001015f3 fsflags a1,zero
+ 80000234: 00000613 li a2,0
+ 80000238: 14d51263 bne a0,a3,8000037c <fail>
+ 8000023c: 14c59063 bne a1,a2,8000037c <fail>
+
+0000000080000240 <test_8>:
+ 80000240: 00800193 li gp,8
+ 80000244: 00002517 auipc a0,0x2
+ 80000248: e7c50513 addi a0,a0,-388 # 800020c0 <test_8_data>
+ 8000024c: 00053007 fld ft0,0(a0)
+ 80000250: 00853087 fld ft1,8(a0)
+ 80000254: 01053107 fld ft2,16(a0)
+ 80000258: 01853683 ld a3,24(a0)
+ 8000025c: 121071c7 fmsub.d ft3,ft0,ft1,ft2
+ 80000260: e2018553 fmv.x.d a0,ft3
+ 80000264: 001015f3 fsflags a1,zero
+ 80000268: 00000613 li a2,0
+ 8000026c: 10d51863 bne a0,a3,8000037c <fail>
+ 80000270: 10c59663 bne a1,a2,8000037c <fail>
+
+0000000080000274 <test_9>:
+ 80000274: 00900193 li gp,9
+ 80000278: 00002517 auipc a0,0x2
+ 8000027c: e6850513 addi a0,a0,-408 # 800020e0 <test_9_data>
+ 80000280: 00053007 fld ft0,0(a0)
+ 80000284: 00853087 fld ft1,8(a0)
+ 80000288: 01053107 fld ft2,16(a0)
+ 8000028c: 01853683 ld a3,24(a0)
+ 80000290: 121071c7 fmsub.d ft3,ft0,ft1,ft2
+ 80000294: e2018553 fmv.x.d a0,ft3
+ 80000298: 001015f3 fsflags a1,zero
+ 8000029c: 00100613 li a2,1
+ 800002a0: 0cd51e63 bne a0,a3,8000037c <fail>
+ 800002a4: 0cc59c63 bne a1,a2,8000037c <fail>
+
+00000000800002a8 <test_10>:
+ 800002a8: 00a00193 li gp,10
+ 800002ac: 00002517 auipc a0,0x2
+ 800002b0: e5450513 addi a0,a0,-428 # 80002100 <test_10_data>
+ 800002b4: 00053007 fld ft0,0(a0)
+ 800002b8: 00853087 fld ft1,8(a0)
+ 800002bc: 01053107 fld ft2,16(a0)
+ 800002c0: 01853683 ld a3,24(a0)
+ 800002c4: 121071c7 fmsub.d ft3,ft0,ft1,ft2
+ 800002c8: e2018553 fmv.x.d a0,ft3
+ 800002cc: 001015f3 fsflags a1,zero
+ 800002d0: 00000613 li a2,0
+ 800002d4: 0ad51463 bne a0,a3,8000037c <fail>
+ 800002d8: 0ac59263 bne a1,a2,8000037c <fail>
+
+00000000800002dc <test_11>:
+ 800002dc: 00b00193 li gp,11
+ 800002e0: 00002517 auipc a0,0x2
+ 800002e4: e4050513 addi a0,a0,-448 # 80002120 <test_11_data>
+ 800002e8: 00053007 fld ft0,0(a0)
+ 800002ec: 00853087 fld ft1,8(a0)
+ 800002f0: 01053107 fld ft2,16(a0)
+ 800002f4: 01853683 ld a3,24(a0)
+ 800002f8: 121071cb fnmsub.d ft3,ft0,ft1,ft2
+ 800002fc: e2018553 fmv.x.d a0,ft3
+ 80000300: 001015f3 fsflags a1,zero
+ 80000304: 00000613 li a2,0
+ 80000308: 06d51a63 bne a0,a3,8000037c <fail>
+ 8000030c: 06c59863 bne a1,a2,8000037c <fail>
+
+0000000080000310 <test_12>:
+ 80000310: 00c00193 li gp,12
+ 80000314: 00002517 auipc a0,0x2
+ 80000318: e2c50513 addi a0,a0,-468 # 80002140 <test_12_data>
+ 8000031c: 00053007 fld ft0,0(a0)
+ 80000320: 00853087 fld ft1,8(a0)
+ 80000324: 01053107 fld ft2,16(a0)
+ 80000328: 01853683 ld a3,24(a0)
+ 8000032c: 121071cb fnmsub.d ft3,ft0,ft1,ft2
+ 80000330: e2018553 fmv.x.d a0,ft3
+ 80000334: 001015f3 fsflags a1,zero
+ 80000338: 00100613 li a2,1
+ 8000033c: 04d51063 bne a0,a3,8000037c <fail>
+ 80000340: 02c59e63 bne a1,a2,8000037c <fail>
+
+0000000080000344 <test_13>:
+ 80000344: 00d00193 li gp,13
+ 80000348: 00002517 auipc a0,0x2
+ 8000034c: e1850513 addi a0,a0,-488 # 80002160 <test_13_data>
+ 80000350: 00053007 fld ft0,0(a0)
+ 80000354: 00853087 fld ft1,8(a0)
+ 80000358: 01053107 fld ft2,16(a0)
+ 8000035c: 01853683 ld a3,24(a0)
+ 80000360: 121071cb fnmsub.d ft3,ft0,ft1,ft2
+ 80000364: e2018553 fmv.x.d a0,ft3
+ 80000368: 001015f3 fsflags a1,zero
+ 8000036c: 00000613 li a2,0
+ 80000370: 00d51663 bne a0,a3,8000037c <fail>
+ 80000374: 00c59463 bne a1,a2,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 <test_2_data>:
+ 80002000: 0000 unimp
+ 80002002: 0000 unimp
+ 80002004: 0000 unimp
+ 80002006: 3ff0 fld fa2,248(a5)
+ 80002008: 0000 unimp
+ 8000200a: 0000 unimp
+ 8000200c: 0000 unimp
+ 8000200e: 4004 lw s1,0(s0)
+ 80002010: 0000 unimp
+ 80002012: 0000 unimp
+ 80002014: 0000 unimp
+ 80002016: 3ff0 fld fa2,248(a5)
+ 80002018: 0000 unimp
+ 8000201a: 0000 unimp
+ 8000201c: 0000 unimp
+ 8000201e: 400c lw a1,0(s0)
+
+0000000080002020 <test_3_data>:
+ 80002020: 0000 unimp
+ 80002022: 0000 unimp
+ 80002024: 0000 unimp
+ 80002026: bff0 fsd fa2,248(a5)
+ 80002028: 6666 ld a2,88(sp)
+ 8000202a: 6666 ld a2,88(sp)
+ 8000202c: 4c66 lw s8,88(sp)
+ 8000202e: 999ac093 xori ra,s5,-1639
+ 80002032: 9999 andi a1,a1,-26
+ 80002034: 9999 andi a1,a1,-26
+ 80002036: 3ff1 addiw t6,t6,-4
+ 80002038: cccc sw a1,28(s1)
+ 8000203a: cccc sw a1,28(s1)
+ 8000203c: 50cc lw a1,36(s1)
+ 8000203e: xori ra,zero,0
+
+0000000080002040 <test_4_data>:
+ 80002040: 0000 unimp
+ 80002042: 0000 unimp
+ 80002044: 0000 unimp
+ 80002046: 4000 lw s0,0(s0)
+ 80002048: 0000 unimp
+ 8000204a: 0000 unimp
+ 8000204c: 0000 unimp
+ 8000204e: c014 sw a3,0(s0)
+ 80002050: 0000 unimp
+ 80002052: 0000 unimp
+ 80002054: 0000 unimp
+ 80002056: c000 sw s0,0(s0)
+ 80002058: 0000 unimp
+ 8000205a: 0000 unimp
+ 8000205c: 0000 unimp
+ 8000205e: c028 sw a0,64(s0)
+
+0000000080002060 <test_5_data>:
+ 80002060: 0000 unimp
+ 80002062: 0000 unimp
+ 80002064: 0000 unimp
+ 80002066: 3ff0 fld fa2,248(a5)
+ 80002068: 0000 unimp
+ 8000206a: 0000 unimp
+ 8000206c: 0000 unimp
+ 8000206e: 4004 lw s1,0(s0)
+ 80002070: 0000 unimp
+ 80002072: 0000 unimp
+ 80002074: 0000 unimp
+ 80002076: 3ff0 fld fa2,248(a5)
+ 80002078: 0000 unimp
+ 8000207a: 0000 unimp
+ 8000207c: 0000 unimp
+ 8000207e: c00c sw a1,0(s0)
+
+0000000080002080 <test_6_data>:
+ 80002080: 0000 unimp
+ 80002082: 0000 unimp
+ 80002084: 0000 unimp
+ 80002086: bff0 fsd fa2,248(a5)
+ 80002088: 6666 ld a2,88(sp)
+ 8000208a: 6666 ld a2,88(sp)
+ 8000208c: 4c66 lw s8,88(sp)
+ 8000208e: 999ac093 xori ra,s5,-1639
+ 80002092: 9999 andi a1,a1,-26
+ 80002094: 9999 andi a1,a1,-26
+ 80002096: 3ff1 addiw t6,t6,-4
+ 80002098: cccc sw a1,28(s1)
+ 8000209a: cccc sw a1,28(s1)
+ 8000209c: 50cc lw a1,36(s1)
+ 8000209e: xori ra,ra,0
+
+00000000800020a0 <test_7_data>:
+ 800020a0: 0000 unimp
+ 800020a2: 0000 unimp
+ 800020a4: 0000 unimp
+ 800020a6: 4000 lw s0,0(s0)
+ 800020a8: 0000 unimp
+ 800020aa: 0000 unimp
+ 800020ac: 0000 unimp
+ 800020ae: c014 sw a3,0(s0)
+ 800020b0: 0000 unimp
+ 800020b2: 0000 unimp
+ 800020b4: 0000 unimp
+ 800020b6: c000 sw s0,0(s0)
+ 800020b8: 0000 unimp
+ 800020ba: 0000 unimp
+ 800020bc: 0000 unimp
+ 800020be: 4028 lw a0,64(s0)
+
+00000000800020c0 <test_8_data>:
+ 800020c0: 0000 unimp
+ 800020c2: 0000 unimp
+ 800020c4: 0000 unimp
+ 800020c6: 3ff0 fld fa2,248(a5)
+ 800020c8: 0000 unimp
+ 800020ca: 0000 unimp
+ 800020cc: 0000 unimp
+ 800020ce: 4004 lw s1,0(s0)
+ 800020d0: 0000 unimp
+ 800020d2: 0000 unimp
+ 800020d4: 0000 unimp
+ 800020d6: 3ff0 fld fa2,248(a5)
+ 800020d8: 0000 unimp
+ 800020da: 0000 unimp
+ 800020dc: 0000 unimp
+ 800020de: 3ff8 fld fa4,248(a5)
+
+00000000800020e0 <test_9_data>:
+ 800020e0: 0000 unimp
+ 800020e2: 0000 unimp
+ 800020e4: 0000 unimp
+ 800020e6: bff0 fsd fa2,248(a5)
+ 800020e8: 6666 ld a2,88(sp)
+ 800020ea: 6666 ld a2,88(sp)
+ 800020ec: 4c66 lw s8,88(sp)
+ 800020ee: 999ac093 xori ra,s5,-1639
+ 800020f2: 9999 andi a1,a1,-26
+ 800020f4: 9999 andi a1,a1,-26
+ 800020f6: 3ff1 addiw t6,t6,-4
+ 800020f8: 0000 unimp
+ 800020fa: 0000 unimp
+ 800020fc: 4800 lw s0,16(s0)
+ 800020fe: xori ra,zero,0
+
+0000000080002100 <test_10_data>:
+ 80002100: 0000 unimp
+ 80002102: 0000 unimp
+ 80002104: 0000 unimp
+ 80002106: 4000 lw s0,0(s0)
+ 80002108: 0000 unimp
+ 8000210a: 0000 unimp
+ 8000210c: 0000 unimp
+ 8000210e: c014 sw a3,0(s0)
+ 80002110: 0000 unimp
+ 80002112: 0000 unimp
+ 80002114: 0000 unimp
+ 80002116: c000 sw s0,0(s0)
+ 80002118: 0000 unimp
+ 8000211a: 0000 unimp
+ 8000211c: 0000 unimp
+ 8000211e: c020 sw s0,64(s0)
+
+0000000080002120 <test_11_data>:
+ 80002120: 0000 unimp
+ 80002122: 0000 unimp
+ 80002124: 0000 unimp
+ 80002126: 3ff0 fld fa2,248(a5)
+ 80002128: 0000 unimp
+ 8000212a: 0000 unimp
+ 8000212c: 0000 unimp
+ 8000212e: 4004 lw s1,0(s0)
+ 80002130: 0000 unimp
+ 80002132: 0000 unimp
+ 80002134: 0000 unimp
+ 80002136: 3ff0 fld fa2,248(a5)
+ 80002138: 0000 unimp
+ 8000213a: 0000 unimp
+ 8000213c: 0000 unimp
+ 8000213e: bff8 fsd fa4,248(a5)
+
+0000000080002140 <test_12_data>:
+ 80002140: 0000 unimp
+ 80002142: 0000 unimp
+ 80002144: 0000 unimp
+ 80002146: bff0 fsd fa2,248(a5)
+ 80002148: 6666 ld a2,88(sp)
+ 8000214a: 6666 ld a2,88(sp)
+ 8000214c: 4c66 lw s8,88(sp)
+ 8000214e: 999ac093 xori ra,s5,-1639
+ 80002152: 9999 andi a1,a1,-26
+ 80002154: 9999 andi a1,a1,-26
+ 80002156: 3ff1 addiw t6,t6,-4
+ 80002158: 0000 unimp
+ 8000215a: 0000 unimp
+ 8000215c: 4800 lw s0,16(s0)
+ 8000215e: xori ra,ra,0
+
+0000000080002160 <test_13_data>:
+ 80002160: 0000 unimp
+ 80002162: 0000 unimp
+ 80002164: 0000 unimp
+ 80002166: 4000 lw s0,0(s0)
+ 80002168: 0000 unimp
+ 8000216a: 0000 unimp
+ 8000216c: 0000 unimp
+ 8000216e: c014 sw a3,0(s0)
+ 80002170: 0000 unimp
+ 80002172: 0000 unimp
+ 80002174: 0000 unimp
+ 80002176: c000 sw s0,0(s0)
+ 80002178: 0000 unimp
+ 8000217a: 0000 unimp
+ 8000217c: 0000 unimp
+ 8000217e: 4020 lw s0,64(s0)
diff --git a/test/riscv-tests/rv64ud-p-fmadd.elf b/test/riscv-tests/rv64ud-p-fmadd.elf
new file mode 100644
index 0000000..e1b977b
--- /dev/null
+++ b/test/riscv-tests/rv64ud-p-fmadd.elf
Binary files differ
diff --git a/test/riscv-tests/rv64ud-p-fmin.dump b/test/riscv-tests/rv64ud-p-fmin.dump
new file mode 100644
index 0000000..1024cdd
--- /dev/null
+++ b/test/riscv-tests/rv64ud-p-fmin.dump
@@ -0,0 +1,704 @@
+
+rv64ud-p-fmin: 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: 00002537 lui a0,0x2
+ 800000ec: 30052073 csrs mstatus,a0
+ 800000f0: 00305073 csrwi fcsr,0
+ 800000f4: 00000297 auipc t0,0x0
+ 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+ 800000fc: 34129073 csrw mepc,t0
+ 80000100: f1402573 csrr a0,mhartid
+ 80000104: 30200073 mret
+
+0000000080000108 <test_2>:
+ 80000108: 00200193 li gp,2
+ 8000010c: 00002517 auipc a0,0x2
+ 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+ 80000114: 00053007 fld ft0,0(a0)
+ 80000118: 00853087 fld ft1,8(a0)
+ 8000011c: 01053107 fld ft2,16(a0)
+ 80000120: 01853683 ld a3,24(a0)
+ 80000124: 2a1001d3 fmin.d ft3,ft0,ft1
+ 80000128: e2018553 fmv.x.d a0,ft3
+ 8000012c: 001015f3 fsflags a1,zero
+ 80000130: 00000613 li a2,0
+ 80000134: 38d51063 bne a0,a3,800004b4 <fail>
+ 80000138: 36c59e63 bne a1,a2,800004b4 <fail>
+
+000000008000013c <test_3>:
+ 8000013c: 00300193 li gp,3
+ 80000140: 00002517 auipc a0,0x2
+ 80000144: ee050513 addi a0,a0,-288 # 80002020 <test_3_data>
+ 80000148: 00053007 fld ft0,0(a0)
+ 8000014c: 00853087 fld ft1,8(a0)
+ 80000150: 01053107 fld ft2,16(a0)
+ 80000154: 01853683 ld a3,24(a0)
+ 80000158: 2a1001d3 fmin.d ft3,ft0,ft1
+ 8000015c: e2018553 fmv.x.d a0,ft3
+ 80000160: 001015f3 fsflags a1,zero
+ 80000164: 00000613 li a2,0
+ 80000168: 34d51663 bne a0,a3,800004b4 <fail>
+ 8000016c: 34c59463 bne a1,a2,800004b4 <fail>
+
+0000000080000170 <test_4>:
+ 80000170: 00400193 li gp,4
+ 80000174: 00002517 auipc a0,0x2
+ 80000178: ecc50513 addi a0,a0,-308 # 80002040 <test_4_data>
+ 8000017c: 00053007 fld ft0,0(a0)
+ 80000180: 00853087 fld ft1,8(a0)
+ 80000184: 01053107 fld ft2,16(a0)
+ 80000188: 01853683 ld a3,24(a0)
+ 8000018c: 2a1001d3 fmin.d ft3,ft0,ft1
+ 80000190: e2018553 fmv.x.d a0,ft3
+ 80000194: 001015f3 fsflags a1,zero
+ 80000198: 00000613 li a2,0
+ 8000019c: 30d51c63 bne a0,a3,800004b4 <fail>
+ 800001a0: 30c59a63 bne a1,a2,800004b4 <fail>
+
+00000000800001a4 <test_5>:
+ 800001a4: 00500193 li gp,5
+ 800001a8: 00002517 auipc a0,0x2
+ 800001ac: eb850513 addi a0,a0,-328 # 80002060 <test_5_data>
+ 800001b0: 00053007 fld ft0,0(a0)
+ 800001b4: 00853087 fld ft1,8(a0)
+ 800001b8: 01053107 fld ft2,16(a0)
+ 800001bc: 01853683 ld a3,24(a0)
+ 800001c0: 2a1001d3 fmin.d ft3,ft0,ft1
+ 800001c4: e2018553 fmv.x.d a0,ft3
+ 800001c8: 001015f3 fsflags a1,zero
+ 800001cc: 00000613 li a2,0
+ 800001d0: 2ed51263 bne a0,a3,800004b4 <fail>
+ 800001d4: 2ec59063 bne a1,a2,800004b4 <fail>
+
+00000000800001d8 <test_6>:
+ 800001d8: 00600193 li gp,6
+ 800001dc: 00002517 auipc a0,0x2
+ 800001e0: ea450513 addi a0,a0,-348 # 80002080 <test_6_data>
+ 800001e4: 00053007 fld ft0,0(a0)
+ 800001e8: 00853087 fld ft1,8(a0)
+ 800001ec: 01053107 fld ft2,16(a0)
+ 800001f0: 01853683 ld a3,24(a0)
+ 800001f4: 2a1001d3 fmin.d ft3,ft0,ft1
+ 800001f8: e2018553 fmv.x.d a0,ft3
+ 800001fc: 001015f3 fsflags a1,zero
+ 80000200: 00000613 li a2,0
+ 80000204: 2ad51863 bne a0,a3,800004b4 <fail>
+ 80000208: 2ac59663 bne a1,a2,800004b4 <fail>
+
+000000008000020c <test_7>:
+ 8000020c: 00700193 li gp,7
+ 80000210: 00002517 auipc a0,0x2
+ 80000214: e9050513 addi a0,a0,-368 # 800020a0 <test_7_data>
+ 80000218: 00053007 fld ft0,0(a0)
+ 8000021c: 00853087 fld ft1,8(a0)
+ 80000220: 01053107 fld ft2,16(a0)
+ 80000224: 01853683 ld a3,24(a0)
+ 80000228: 2a1001d3 fmin.d ft3,ft0,ft1
+ 8000022c: e2018553 fmv.x.d a0,ft3
+ 80000230: 001015f3 fsflags a1,zero
+ 80000234: 00000613 li a2,0
+ 80000238: 26d51e63 bne a0,a3,800004b4 <fail>
+ 8000023c: 26c59c63 bne a1,a2,800004b4 <fail>
+
+0000000080000240 <test_12>:
+ 80000240: 00c00193 li gp,12
+ 80000244: 00002517 auipc a0,0x2
+ 80000248: e7c50513 addi a0,a0,-388 # 800020c0 <test_12_data>
+ 8000024c: 00053007 fld ft0,0(a0)
+ 80000250: 00853087 fld ft1,8(a0)
+ 80000254: 01053107 fld ft2,16(a0)
+ 80000258: 01853683 ld a3,24(a0)
+ 8000025c: 2a1011d3 fmax.d ft3,ft0,ft1
+ 80000260: e2018553 fmv.x.d a0,ft3
+ 80000264: 001015f3 fsflags a1,zero
+ 80000268: 00000613 li a2,0
+ 8000026c: 24d51463 bne a0,a3,800004b4 <fail>
+ 80000270: 24c59263 bne a1,a2,800004b4 <fail>
+
+0000000080000274 <test_13>:
+ 80000274: 00d00193 li gp,13
+ 80000278: 00002517 auipc a0,0x2
+ 8000027c: e6850513 addi a0,a0,-408 # 800020e0 <test_13_data>
+ 80000280: 00053007 fld ft0,0(a0)
+ 80000284: 00853087 fld ft1,8(a0)
+ 80000288: 01053107 fld ft2,16(a0)
+ 8000028c: 01853683 ld a3,24(a0)
+ 80000290: 2a1011d3 fmax.d ft3,ft0,ft1
+ 80000294: e2018553 fmv.x.d a0,ft3
+ 80000298: 001015f3 fsflags a1,zero
+ 8000029c: 00000613 li a2,0
+ 800002a0: 20d51a63 bne a0,a3,800004b4 <fail>
+ 800002a4: 20c59863 bne a1,a2,800004b4 <fail>
+
+00000000800002a8 <test_14>:
+ 800002a8: 00e00193 li gp,14
+ 800002ac: 00002517 auipc a0,0x2
+ 800002b0: e5450513 addi a0,a0,-428 # 80002100 <test_14_data>
+ 800002b4: 00053007 fld ft0,0(a0)
+ 800002b8: 00853087 fld ft1,8(a0)
+ 800002bc: 01053107 fld ft2,16(a0)
+ 800002c0: 01853683 ld a3,24(a0)
+ 800002c4: 2a1011d3 fmax.d ft3,ft0,ft1
+ 800002c8: e2018553 fmv.x.d a0,ft3
+ 800002cc: 001015f3 fsflags a1,zero
+ 800002d0: 00000613 li a2,0
+ 800002d4: 1ed51063 bne a0,a3,800004b4 <fail>
+ 800002d8: 1cc59e63 bne a1,a2,800004b4 <fail>
+
+00000000800002dc <test_15>:
+ 800002dc: 00f00193 li gp,15
+ 800002e0: 00002517 auipc a0,0x2
+ 800002e4: e4050513 addi a0,a0,-448 # 80002120 <test_15_data>
+ 800002e8: 00053007 fld ft0,0(a0)
+ 800002ec: 00853087 fld ft1,8(a0)
+ 800002f0: 01053107 fld ft2,16(a0)
+ 800002f4: 01853683 ld a3,24(a0)
+ 800002f8: 2a1011d3 fmax.d ft3,ft0,ft1
+ 800002fc: e2018553 fmv.x.d a0,ft3
+ 80000300: 001015f3 fsflags a1,zero
+ 80000304: 00000613 li a2,0
+ 80000308: 1ad51663 bne a0,a3,800004b4 <fail>
+ 8000030c: 1ac59463 bne a1,a2,800004b4 <fail>
+
+0000000080000310 <test_16>:
+ 80000310: 01000193 li gp,16
+ 80000314: 00002517 auipc a0,0x2
+ 80000318: e2c50513 addi a0,a0,-468 # 80002140 <test_16_data>
+ 8000031c: 00053007 fld ft0,0(a0)
+ 80000320: 00853087 fld ft1,8(a0)
+ 80000324: 01053107 fld ft2,16(a0)
+ 80000328: 01853683 ld a3,24(a0)
+ 8000032c: 2a1011d3 fmax.d ft3,ft0,ft1
+ 80000330: e2018553 fmv.x.d a0,ft3
+ 80000334: 001015f3 fsflags a1,zero
+ 80000338: 00000613 li a2,0
+ 8000033c: 16d51c63 bne a0,a3,800004b4 <fail>
+ 80000340: 16c59a63 bne a1,a2,800004b4 <fail>
+
+0000000080000344 <test_17>:
+ 80000344: 01100193 li gp,17
+ 80000348: 00002517 auipc a0,0x2
+ 8000034c: e1850513 addi a0,a0,-488 # 80002160 <test_17_data>
+ 80000350: 00053007 fld ft0,0(a0)
+ 80000354: 00853087 fld ft1,8(a0)
+ 80000358: 01053107 fld ft2,16(a0)
+ 8000035c: 01853683 ld a3,24(a0)
+ 80000360: 2a1011d3 fmax.d ft3,ft0,ft1
+ 80000364: e2018553 fmv.x.d a0,ft3
+ 80000368: 001015f3 fsflags a1,zero
+ 8000036c: 00000613 li a2,0
+ 80000370: 14d51263 bne a0,a3,800004b4 <fail>
+ 80000374: 14c59063 bne a1,a2,800004b4 <fail>
+
+0000000080000378 <test_20>:
+ 80000378: 01400193 li gp,20
+ 8000037c: 00002517 auipc a0,0x2
+ 80000380: e0450513 addi a0,a0,-508 # 80002180 <test_20_data>
+ 80000384: 00053007 fld ft0,0(a0)
+ 80000388: 00853087 fld ft1,8(a0)
+ 8000038c: 01053107 fld ft2,16(a0)
+ 80000390: 01853683 ld a3,24(a0)
+ 80000394: 2a1011d3 fmax.d ft3,ft0,ft1
+ 80000398: e2018553 fmv.x.d a0,ft3
+ 8000039c: 001015f3 fsflags a1,zero
+ 800003a0: 01000613 li a2,16
+ 800003a4: 10d51863 bne a0,a3,800004b4 <fail>
+ 800003a8: 10c59663 bne a1,a2,800004b4 <fail>
+
+00000000800003ac <test_21>:
+ 800003ac: 01500193 li gp,21
+ 800003b0: 00002517 auipc a0,0x2
+ 800003b4: df050513 addi a0,a0,-528 # 800021a0 <test_21_data>
+ 800003b8: 00053007 fld ft0,0(a0)
+ 800003bc: 00853087 fld ft1,8(a0)
+ 800003c0: 01053107 fld ft2,16(a0)
+ 800003c4: 01853683 ld a3,24(a0)
+ 800003c8: 2a1011d3 fmax.d ft3,ft0,ft1
+ 800003cc: e2018553 fmv.x.d a0,ft3
+ 800003d0: 001015f3 fsflags a1,zero
+ 800003d4: 00000613 li a2,0
+ 800003d8: 0cd51e63 bne a0,a3,800004b4 <fail>
+ 800003dc: 0cc59c63 bne a1,a2,800004b4 <fail>
+
+00000000800003e0 <test_30>:
+ 800003e0: 01e00193 li gp,30
+ 800003e4: 00002517 auipc a0,0x2
+ 800003e8: ddc50513 addi a0,a0,-548 # 800021c0 <test_30_data>
+ 800003ec: 00053007 fld ft0,0(a0)
+ 800003f0: 00853087 fld ft1,8(a0)
+ 800003f4: 01053107 fld ft2,16(a0)
+ 800003f8: 01853683 ld a3,24(a0)
+ 800003fc: 2a1001d3 fmin.d ft3,ft0,ft1
+ 80000400: e2018553 fmv.x.d a0,ft3
+ 80000404: 001015f3 fsflags a1,zero
+ 80000408: 00000613 li a2,0
+ 8000040c: 0ad51463 bne a0,a3,800004b4 <fail>
+ 80000410: 0ac59263 bne a1,a2,800004b4 <fail>
+
+0000000080000414 <test_31>:
+ 80000414: 01f00193 li gp,31
+ 80000418: 00002517 auipc a0,0x2
+ 8000041c: dc850513 addi a0,a0,-568 # 800021e0 <test_31_data>
+ 80000420: 00053007 fld ft0,0(a0)
+ 80000424: 00853087 fld ft1,8(a0)
+ 80000428: 01053107 fld ft2,16(a0)
+ 8000042c: 01853683 ld a3,24(a0)
+ 80000430: 2a1001d3 fmin.d ft3,ft0,ft1
+ 80000434: e2018553 fmv.x.d a0,ft3
+ 80000438: 001015f3 fsflags a1,zero
+ 8000043c: 00000613 li a2,0
+ 80000440: 06d51a63 bne a0,a3,800004b4 <fail>
+ 80000444: 06c59863 bne a1,a2,800004b4 <fail>
+
+0000000080000448 <test_32>:
+ 80000448: 02000193 li gp,32
+ 8000044c: 00002517 auipc a0,0x2
+ 80000450: db450513 addi a0,a0,-588 # 80002200 <test_32_data>
+ 80000454: 00053007 fld ft0,0(a0)
+ 80000458: 00853087 fld ft1,8(a0)
+ 8000045c: 01053107 fld ft2,16(a0)
+ 80000460: 01853683 ld a3,24(a0)
+ 80000464: 2a1011d3 fmax.d ft3,ft0,ft1
+ 80000468: e2018553 fmv.x.d a0,ft3
+ 8000046c: 001015f3 fsflags a1,zero
+ 80000470: 00000613 li a2,0
+ 80000474: 04d51063 bne a0,a3,800004b4 <fail>
+ 80000478: 02c59e63 bne a1,a2,800004b4 <fail>
+
+000000008000047c <test_33>:
+ 8000047c: 02100193 li gp,33
+ 80000480: 00002517 auipc a0,0x2
+ 80000484: da050513 addi a0,a0,-608 # 80002220 <test_33_data>
+ 80000488: 00053007 fld ft0,0(a0)
+ 8000048c: 00853087 fld ft1,8(a0)
+ 80000490: 01053107 fld ft2,16(a0)
+ 80000494: 01853683 ld a3,24(a0)
+ 80000498: 2a1011d3 fmax.d ft3,ft0,ft1
+ 8000049c: e2018553 fmv.x.d a0,ft3
+ 800004a0: 001015f3 fsflags a1,zero
+ 800004a4: 00000613 li a2,0
+ 800004a8: 00d51663 bne a0,a3,800004b4 <fail>
+ 800004ac: 00c59463 bne a1,a2,800004b4 <fail>
+ 800004b0: 00301c63 bne zero,gp,800004c8 <pass>
+
+00000000800004b4 <fail>:
+ 800004b4: 0ff0000f fence
+ 800004b8: 00018063 beqz gp,800004b8 <fail+0x4>
+ 800004bc: 00119193 slli gp,gp,0x1
+ 800004c0: 0011e193 ori gp,gp,1
+ 800004c4: 00000073 ecall
+
+00000000800004c8 <pass>:
+ 800004c8: 0ff0000f fence
+ 800004cc: 00100193 li gp,1
+ 800004d0: 00000073 ecall
+ 800004d4: c0001073 unimp
+ 800004d8: 0000 unimp
+ 800004da: 0000 unimp
+ 800004dc: 0000 unimp
+ 800004de: 0000 unimp
+ 800004e0: 0000 unimp
+ 800004e2: 0000 unimp
+ 800004e4: 0000 unimp
+ 800004e6: 0000 unimp
+ 800004e8: 0000 unimp
+ 800004ea: 0000 unimp
+ 800004ec: 0000 unimp
+ 800004ee: 0000 unimp
+ 800004f0: 0000 unimp
+ 800004f2: 0000 unimp
+ 800004f4: 0000 unimp
+ 800004f6: 0000 unimp
+ 800004f8: 0000 unimp
+ 800004fa: 0000 unimp
+ 800004fc: 0000 unimp
+ 800004fe: 0000 unimp
+ 80000500: 0000 unimp
+ 80000502: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <test_2_data>:
+ 80002000: 0000 unimp
+ 80002002: 0000 unimp
+ 80002004: 0000 unimp
+ 80002006: 4004 lw s1,0(s0)
+ 80002008: 0000 unimp
+ 8000200a: 0000 unimp
+ 8000200c: 0000 unimp
+ 8000200e: 3ff0 fld fa2,248(a5)
+ 80002010: 0000 unimp
+ 80002012: 0000 unimp
+ 80002014: 0000 unimp
+ 80002016: 0000 unimp
+ 80002018: 0000 unimp
+ 8000201a: 0000 unimp
+ 8000201c: 0000 unimp
+ 8000201e: 3ff0 fld fa2,248(a5)
+
+0000000080002020 <test_3_data>:
+ 80002020: 6666 ld a2,88(sp)
+ 80002022: 6666 ld a2,88(sp)
+ 80002024: 4c66 lw s8,88(sp)
+ 80002026: 999ac093 xori ra,s5,-1639
+ 8000202a: 9999 andi a1,a1,-26
+ 8000202c: 9999 andi a1,a1,-26
+ 8000202e: 3ff1 addiw t6,t6,-4
+ 80002030: 0000 unimp
+ 80002032: 0000 unimp
+ 80002034: 0000 unimp
+ 80002036: 0000 unimp
+ 80002038: 6666 ld a2,88(sp)
+ 8000203a: 6666 ld a2,88(sp)
+ 8000203c: 4c66 lw s8,88(sp)
+ 8000203e: xori ra,s5,-1639
+
+0000000080002040 <test_4_data>:
+ 80002040: 999a add s3,s3,t1
+ 80002042: 9999 andi a1,a1,-26
+ 80002044: 9999 andi a1,a1,-26
+ 80002046: 3ff1 addiw t6,t6,-4
+ 80002048: 6666 ld a2,88(sp)
+ 8000204a: 6666 ld a2,88(sp)
+ 8000204c: 4c66 lw s8,88(sp)
+ 8000204e: 0000c093 xori ra,ra,0
+ 80002052: 0000 unimp
+ 80002054: 0000 unimp
+ 80002056: 0000 unimp
+ 80002058: 6666 ld a2,88(sp)
+ 8000205a: 6666 ld a2,88(sp)
+ 8000205c: 4c66 lw s8,88(sp)
+ 8000205e: not ra,t6
+
+0000000080002060 <test_5_data>:
+ 80002060: ffff 0xffff
+ 80002062: ffff 0xffff
+ 80002064: ffff 0xffff
+ 80002066: 7fff 0x7fff
+ 80002068: 6666 ld a2,88(sp)
+ 8000206a: 6666 ld a2,88(sp)
+ 8000206c: 4c66 lw s8,88(sp)
+ 8000206e: 0000c093 xori ra,ra,0
+ 80002072: 0000 unimp
+ 80002074: 0000 unimp
+ 80002076: 0000 unimp
+ 80002078: 6666 ld a2,88(sp)
+ 8000207a: 6666 ld a2,88(sp)
+ 8000207c: 4c66 lw s8,88(sp)
+ 8000207e: xori ra,gp,-689
+
+0000000080002080 <test_6_data>:
+ 80002080: d4f1 beqz s1,8000204c <test_4_data+0xc>
+ 80002082: 53c8 lw a0,36(a5)
+ 80002084: 400921fb 0x400921fb
+ 80002088: 8c3a mv s8,a4
+ 8000208a: e230 sd a2,64(a2)
+ 8000208c: 798e ld s3,224(sp)
+ 8000208e: 3e45 addiw t3,t3,-15
+ 80002090: 0000 unimp
+ 80002092: 0000 unimp
+ 80002094: 0000 unimp
+ 80002096: 0000 unimp
+ 80002098: 8c3a mv s8,a4
+ 8000209a: e230 sd a2,64(a2)
+ 8000209c: 798e ld s3,224(sp)
+ 8000209e: 3e45 addiw t3,t3,-15
+
+00000000800020a0 <test_7_data>:
+ 800020a0: 0000 unimp
+ 800020a2: 0000 unimp
+ 800020a4: 0000 unimp
+ 800020a6: bff0 fsd fa2,248(a5)
+ 800020a8: 0000 unimp
+ 800020aa: 0000 unimp
+ 800020ac: 0000 unimp
+ 800020ae: c000 sw s0,0(s0)
+ 800020b0: 0000 unimp
+ 800020b2: 0000 unimp
+ 800020b4: 0000 unimp
+ 800020b6: 0000 unimp
+ 800020b8: 0000 unimp
+ 800020ba: 0000 unimp
+ 800020bc: 0000 unimp
+ 800020be: c000 sw s0,0(s0)
+
+00000000800020c0 <test_12_data>:
+ 800020c0: 0000 unimp
+ 800020c2: 0000 unimp
+ 800020c4: 0000 unimp
+ 800020c6: 4004 lw s1,0(s0)
+ 800020c8: 0000 unimp
+ 800020ca: 0000 unimp
+ 800020cc: 0000 unimp
+ 800020ce: 3ff0 fld fa2,248(a5)
+ 800020d0: 0000 unimp
+ 800020d2: 0000 unimp
+ 800020d4: 0000 unimp
+ 800020d6: 0000 unimp
+ 800020d8: 0000 unimp
+ 800020da: 0000 unimp
+ 800020dc: 0000 unimp
+ 800020de: 4004 lw s1,0(s0)
+
+00000000800020e0 <test_13_data>:
+ 800020e0: 6666 ld a2,88(sp)
+ 800020e2: 6666 ld a2,88(sp)
+ 800020e4: 4c66 lw s8,88(sp)
+ 800020e6: 999ac093 xori ra,s5,-1639
+ 800020ea: 9999 andi a1,a1,-26
+ 800020ec: 9999 andi a1,a1,-26
+ 800020ee: 3ff1 addiw t6,t6,-4
+ 800020f0: 0000 unimp
+ 800020f2: 0000 unimp
+ 800020f4: 0000 unimp
+ 800020f6: 0000 unimp
+ 800020f8: 999a add s3,s3,t1
+ 800020fa: 9999 andi a1,a1,-26
+ 800020fc: 9999 andi a1,a1,-26
+ 800020fe: 3ff1 addiw t6,t6,-4
+
+0000000080002100 <test_14_data>:
+ 80002100: 999a add s3,s3,t1
+ 80002102: 9999 andi a1,a1,-26
+ 80002104: 9999 andi a1,a1,-26
+ 80002106: 3ff1 addiw t6,t6,-4
+ 80002108: 6666 ld a2,88(sp)
+ 8000210a: 6666 ld a2,88(sp)
+ 8000210c: 4c66 lw s8,88(sp)
+ 8000210e: 0000c093 xori ra,ra,0
+ 80002112: 0000 unimp
+ 80002114: 0000 unimp
+ 80002116: 0000 unimp
+ 80002118: 999a add s3,s3,t1
+ 8000211a: 9999 andi a1,a1,-26
+ 8000211c: 9999 andi a1,a1,-26
+ 8000211e: 3ff1 addiw t6,t6,-4
+
+0000000080002120 <test_15_data>:
+ 80002120: ffff 0xffff
+ 80002122: ffff 0xffff
+ 80002124: ffff 0xffff
+ 80002126: 7fff 0x7fff
+ 80002128: 6666 ld a2,88(sp)
+ 8000212a: 6666 ld a2,88(sp)
+ 8000212c: 4c66 lw s8,88(sp)
+ 8000212e: 0000c093 xori ra,ra,0
+ 80002132: 0000 unimp
+ 80002134: 0000 unimp
+ 80002136: 0000 unimp
+ 80002138: 6666 ld a2,88(sp)
+ 8000213a: 6666 ld a2,88(sp)
+ 8000213c: 4c66 lw s8,88(sp)
+ 8000213e: xori ra,gp,-689
+
+0000000080002140 <test_16_data>:
+ 80002140: d4f1 beqz s1,8000210c <test_14_data+0xc>
+ 80002142: 53c8 lw a0,36(a5)
+ 80002144: 400921fb 0x400921fb
+ 80002148: 8c3a mv s8,a4
+ 8000214a: e230 sd a2,64(a2)
+ 8000214c: 798e ld s3,224(sp)
+ 8000214e: 3e45 addiw t3,t3,-15
+ 80002150: 0000 unimp
+ 80002152: 0000 unimp
+ 80002154: 0000 unimp
+ 80002156: 0000 unimp
+ 80002158: d4f1 beqz s1,80002124 <test_15_data+0x4>
+ 8000215a: 53c8 lw a0,36(a5)
+ 8000215c: 400921fb 0x400921fb
+
+0000000080002160 <test_17_data>:
+ 80002160: 0000 unimp
+ 80002162: 0000 unimp
+ 80002164: 0000 unimp
+ 80002166: bff0 fsd fa2,248(a5)
+ 80002168: 0000 unimp
+ 8000216a: 0000 unimp
+ 8000216c: 0000 unimp
+ 8000216e: c000 sw s0,0(s0)
+ 80002170: 0000 unimp
+ 80002172: 0000 unimp
+ 80002174: 0000 unimp
+ 80002176: 0000 unimp
+ 80002178: 0000 unimp
+ 8000217a: 0000 unimp
+ 8000217c: 0000 unimp
+ 8000217e: bff0 fsd fa2,248(a5)
+
+0000000080002180 <test_20_data>:
+ 80002180: 0001 nop
+ 80002182: 0000 unimp
+ 80002184: 0000 unimp
+ 80002186: 7ff0 ld a2,248(a5)
+ 80002188: 0000 unimp
+ 8000218a: 0000 unimp
+ 8000218c: 0000 unimp
+ 8000218e: 3ff0 fld fa2,248(a5)
+ 80002190: 0000 unimp
+ 80002192: 0000 unimp
+ 80002194: 0000 unimp
+ 80002196: 0000 unimp
+ 80002198: 0000 unimp
+ 8000219a: 0000 unimp
+ 8000219c: 0000 unimp
+ 8000219e: 3ff0 fld fa2,248(a5)
+
+00000000800021a0 <test_21_data>:
+ 800021a0: ffff 0xffff
+ 800021a2: ffff 0xffff
+ 800021a4: ffff 0xffff
+ 800021a6: 7fff 0x7fff
+ 800021a8: ffff 0xffff
+ 800021aa: ffff 0xffff
+ 800021ac: ffff 0xffff
+ 800021ae: 7fff 0x7fff
+ 800021b0: 0000 unimp
+ 800021b2: 0000 unimp
+ 800021b4: 0000 unimp
+ 800021b6: 0000 unimp
+ 800021b8: 0000 unimp
+ 800021ba: 0000 unimp
+ 800021bc: 0000 unimp
+ 800021be: 7ff8 ld a4,248(a5)
+
+00000000800021c0 <test_30_data>:
+ 800021c0: 0000 unimp
+ 800021c2: 0000 unimp
+ 800021c4: 0000 unimp
+ 800021c6: 8000 0x8000
+ 800021c8: 0000 unimp
+ 800021ca: 0000 unimp
+ 800021cc: 0000 unimp
+ 800021ce: 0000 unimp
+ 800021d0: 0000 unimp
+ 800021d2: 0000 unimp
+ 800021d4: 0000 unimp
+ 800021d6: 0000 unimp
+ 800021d8: 0000 unimp
+ 800021da: 0000 unimp
+ 800021dc: 0000 unimp
+ 800021de: 8000 0x8000
+
+00000000800021e0 <test_31_data>:
+ 800021e0: 0000 unimp
+ 800021e2: 0000 unimp
+ 800021e4: 0000 unimp
+ 800021e6: 0000 unimp
+ 800021e8: 0000 unimp
+ 800021ea: 0000 unimp
+ 800021ec: 0000 unimp
+ 800021ee: 8000 0x8000
+ 800021f0: 0000 unimp
+ 800021f2: 0000 unimp
+ 800021f4: 0000 unimp
+ 800021f6: 0000 unimp
+ 800021f8: 0000 unimp
+ 800021fa: 0000 unimp
+ 800021fc: 0000 unimp
+ 800021fe: 8000 0x8000
+
+0000000080002200 <test_32_data>:
+ 80002200: 0000 unimp
+ 80002202: 0000 unimp
+ 80002204: 0000 unimp
+ 80002206: 8000 0x8000
+ 80002208: 0000 unimp
+ 8000220a: 0000 unimp
+ 8000220c: 0000 unimp
+ 8000220e: 0000 unimp
+ 80002210: 0000 unimp
+ 80002212: 0000 unimp
+ 80002214: 0000 unimp
+ 80002216: 0000 unimp
+ 80002218: 0000 unimp
+ 8000221a: 0000 unimp
+ 8000221c: 0000 unimp
+ 8000221e: 0000 unimp
+
+0000000080002220 <test_33_data>:
+ 80002220: 0000 unimp
+ 80002222: 0000 unimp
+ 80002224: 0000 unimp
+ 80002226: 0000 unimp
+ 80002228: 0000 unimp
+ 8000222a: 0000 unimp
+ 8000222c: 0000 unimp
+ 8000222e: 8000 0x8000
+ 80002230: 0000 unimp
+ 80002232: 0000 unimp
+ 80002234: 0000 unimp
+ 80002236: 0000 unimp
+ 80002238: 0000 unimp
+ 8000223a: 0000 unimp
+ 8000223c: 0000 unimp
+ 8000223e: 0000 unimp
diff --git a/test/riscv-tests/rv64ud-p-fmin.elf b/test/riscv-tests/rv64ud-p-fmin.elf
new file mode 100644
index 0000000..34c1ccb
--- /dev/null
+++ b/test/riscv-tests/rv64ud-p-fmin.elf
Binary files differ
diff --git a/test/riscv-tests/rv64ud-v-fadd.dump b/test/riscv-tests/rv64ud-v-fadd.dump
new file mode 100644
index 0000000..fef4675
--- /dev/null
+++ b/test/riscv-tests/rv64ud-v-fadd.dump
@@ -0,0 +1,1163 @@
+
+rv64ud-v-fadd: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 00c0006f j 8000000c <handle_reset>
+
+0000000080000004 <nmi_vector>:
+ 80000004: 2580206f j 8000225c <wtf>
+
+0000000080000008 <trap_vector>:
+ 80000008: 2540206f j 8000225c <wtf>
+
+000000008000000c <handle_reset>:
+ 8000000c: 00000297 auipc t0,0x0
+ 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+ 80000014: 30529073 csrw mtvec,t0
+ 80000018: 00009117 auipc sp,0x9
+ 8000001c: 6b810113 addi sp,sp,1720 # 800096d0 <_end+0xee0>
+ 80000020: f14022f3 csrr t0,mhartid
+ 80000024: 00c29293 slli t0,t0,0xc
+ 80000028: 00510133 add sp,sp,t0
+ 8000002c: 34011073 csrw mscratch,sp
+ 80000030: 00003517 auipc a0,0x3
+ 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart>
+ 80000038: 09d0206f j 800028d4 <vm_boot>
+
+000000008000003c <pop_tf>:
+ 8000003c: 10853283 ld t0,264(a0)
+ 80000040: 14129073 csrw sepc,t0
+ 80000044: 00853083 ld ra,8(a0)
+ 80000048: 01053103 ld sp,16(a0)
+ 8000004c: 01853183 ld gp,24(a0)
+ 80000050: 02053203 ld tp,32(a0)
+ 80000054: 02853283 ld t0,40(a0)
+ 80000058: 03053303 ld t1,48(a0)
+ 8000005c: 03853383 ld t2,56(a0)
+ 80000060: 04053403 ld s0,64(a0)
+ 80000064: 04853483 ld s1,72(a0)
+ 80000068: 05853583 ld a1,88(a0)
+ 8000006c: 06053603 ld a2,96(a0)
+ 80000070: 06853683 ld a3,104(a0)
+ 80000074: 07053703 ld a4,112(a0)
+ 80000078: 07853783 ld a5,120(a0)
+ 8000007c: 08053803 ld a6,128(a0)
+ 80000080: 08853883 ld a7,136(a0)
+ 80000084: 09053903 ld s2,144(a0)
+ 80000088: 09853983 ld s3,152(a0)
+ 8000008c: 0a053a03 ld s4,160(a0)
+ 80000090: 0a853a83 ld s5,168(a0)
+ 80000094: 0b053b03 ld s6,176(a0)
+ 80000098: 0b853b83 ld s7,184(a0)
+ 8000009c: 0c053c03 ld s8,192(a0)
+ 800000a0: 0c853c83 ld s9,200(a0)
+ 800000a4: 0d053d03 ld s10,208(a0)
+ 800000a8: 0d853d83 ld s11,216(a0)
+ 800000ac: 0e053e03 ld t3,224(a0)
+ 800000b0: 0e853e83 ld t4,232(a0)
+ 800000b4: 0f053f03 ld t5,240(a0)
+ 800000b8: 0f853f83 ld t6,248(a0)
+ 800000bc: 05053503 ld a0,80(a0)
+ 800000c0: 10200073 sret
+
+00000000800000c4 <trap_entry>:
+ 800000c4: 14011173 csrrw sp,sscratch,sp
+ 800000c8: 00113423 sd ra,8(sp)
+ 800000cc: 00313c23 sd gp,24(sp)
+ 800000d0: 02413023 sd tp,32(sp)
+ 800000d4: 02513423 sd t0,40(sp)
+ 800000d8: 02613823 sd t1,48(sp)
+ 800000dc: 02713c23 sd t2,56(sp)
+ 800000e0: 04813023 sd s0,64(sp)
+ 800000e4: 04913423 sd s1,72(sp)
+ 800000e8: 04a13823 sd a0,80(sp)
+ 800000ec: 04b13c23 sd a1,88(sp)
+ 800000f0: 06c13023 sd a2,96(sp)
+ 800000f4: 06d13423 sd a3,104(sp)
+ 800000f8: 06e13823 sd a4,112(sp)
+ 800000fc: 06f13c23 sd a5,120(sp)
+ 80000100: 09013023 sd a6,128(sp)
+ 80000104: 09113423 sd a7,136(sp)
+ 80000108: 09213823 sd s2,144(sp)
+ 8000010c: 09313c23 sd s3,152(sp)
+ 80000110: 0b413023 sd s4,160(sp)
+ 80000114: 0b513423 sd s5,168(sp)
+ 80000118: 0b613823 sd s6,176(sp)
+ 8000011c: 0b713c23 sd s7,184(sp)
+ 80000120: 0d813023 sd s8,192(sp)
+ 80000124: 0d913423 sd s9,200(sp)
+ 80000128: 0da13823 sd s10,208(sp)
+ 8000012c: 0db13c23 sd s11,216(sp)
+ 80000130: 0fc13023 sd t3,224(sp)
+ 80000134: 0fd13423 sd t4,232(sp)
+ 80000138: 0fe13823 sd t5,240(sp)
+ 8000013c: 0ff13c23 sd t6,248(sp)
+ 80000140: 140112f3 csrrw t0,sscratch,sp
+ 80000144: 00513823 sd t0,16(sp)
+ 80000148: 100022f3 csrr t0,sstatus
+ 8000014c: 10513023 sd t0,256(sp)
+ 80000150: 141022f3 csrr t0,sepc
+ 80000154: 10513423 sd t0,264(sp)
+ 80000158: 143022f3 csrr t0,stval
+ 8000015c: 10513823 sd t0,272(sp)
+ 80000160: 142022f3 csrr t0,scause
+ 80000164: 10513c23 sd t0,280(sp)
+ 80000168: 00010513 mv a0,sp
+ 8000016c: 4300206f j 8000259c <handle_trap>
+
+Disassembly of section .text:
+
+0000000080002000 <memcpy>:
+ 80002000: 00c5e7b3 or a5,a1,a2
+ 80002004: 00f567b3 or a5,a0,a5
+ 80002008: 0077f793 andi a5,a5,7
+ 8000200c: 00c506b3 add a3,a0,a2
+ 80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+ 80002014: 00c58633 add a2,a1,a2
+ 80002018: 00050793 mv a5,a0
+ 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+ 80002020: 00158593 addi a1,a1,1
+ 80002024: fff5c703 lbu a4,-1(a1)
+ 80002028: 00178793 addi a5,a5,1
+ 8000202c: fee78fa3 sb a4,-1(a5)
+ 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+ 80002034: 00008067 ret
+ 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+ 8000203c: 00050793 mv a5,a0
+ 80002040: 00858593 addi a1,a1,8
+ 80002044: ff85b703 ld a4,-8(a1)
+ 80002048: 00878793 addi a5,a5,8
+ 8000204c: fee7bc23 sd a4,-8(a5)
+ 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+ 80002054: 00008067 ret
+ 80002058: 00008067 ret
+
+000000008000205c <memset>:
+ 8000205c: 00c567b3 or a5,a0,a2
+ 80002060: 0077f793 andi a5,a5,7
+ 80002064: 00c50633 add a2,a0,a2
+ 80002068: 0ff5f593 andi a1,a1,255
+ 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c>
+ 80002070: 00050793 mv a5,a0
+ 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c>
+ 80002078: 00178793 addi a5,a5,1
+ 8000207c: feb78fa3 sb a1,-1(a5)
+ 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+ 80002084: 00008067 ret
+ 80002088: 00859793 slli a5,a1,0x8
+ 8000208c: 00b7e5b3 or a1,a5,a1
+ 80002090: 01059793 slli a5,a1,0x10
+ 80002094: 00b7e7b3 or a5,a5,a1
+ 80002098: 02079593 slli a1,a5,0x20
+ 8000209c: 00f5e5b3 or a1,a1,a5
+ 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28>
+ 800020a4: 00050793 mv a5,a0
+ 800020a8: 00878793 addi a5,a5,8
+ 800020ac: feb7bc23 sd a1,-8(a5)
+ 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c>
+ 800020b4: 00008067 ret
+ 800020b8: 00008067 ret
+
+00000000800020bc <strlen>:
+ 800020bc: 00054783 lbu a5,0(a0)
+ 800020c0: 00050713 mv a4,a0
+ 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20>
+ 800020c8: 00150513 addi a0,a0,1
+ 800020cc: 00054783 lbu a5,0(a0)
+ 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc>
+ 800020d4: 40e50533 sub a0,a0,a4
+ 800020d8: 00008067 ret
+ 800020dc: 00000513 li a0,0
+ 800020e0: 00008067 ret
+
+00000000800020e4 <strcmp>:
+ 800020e4: 00150513 addi a0,a0,1
+ 800020e8: fff54783 lbu a5,-1(a0)
+ 800020ec: 00158593 addi a1,a1,1
+ 800020f0: fff5c703 lbu a4,-1(a1)
+ 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24>
+ 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp>
+ 800020fc: 0007851b sext.w a0,a5
+ 80002100: 40e5053b subw a0,a0,a4
+ 80002104: 00008067 ret
+ 80002108: 00000513 li a0,0
+ 8000210c: ff5ff06f j 80002100 <strcmp+0x1c>
+
+0000000080002110 <memcmp>:
+ 80002110: 00b567b3 or a5,a0,a1
+ 80002114: 0077f793 andi a5,a5,7
+ 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c>
+ 8000211c: ff867693 andi a3,a2,-8
+ 80002120: 00d506b3 add a3,a0,a3
+ 80002124: 00050813 mv a6,a0
+ 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c>
+ 8000212c: 00053703 ld a4,0(a0)
+ 80002130: 0005b783 ld a5,0(a1)
+ 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38>
+ 80002138: 0240006f j 8000215c <memcmp+0x4c>
+ 8000213c: 00053703 ld a4,0(a0)
+ 80002140: 0005b783 ld a5,0(a1)
+ 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44>
+ 80002148: 00850513 addi a0,a0,8
+ 8000214c: 00858593 addi a1,a1,8
+ 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c>
+ 80002154: 41050833 sub a6,a0,a6
+ 80002158: 41060633 sub a2,a2,a6
+ 8000215c: 00c58633 add a2,a1,a2
+ 80002160: 0140006f j 80002174 <memcmp+0x64>
+ 80002164: 00158593 addi a1,a1,1
+ 80002168: fff54783 lbu a5,-1(a0)
+ 8000216c: fff5c703 lbu a4,-1(a1)
+ 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74>
+ 80002174: 00150513 addi a0,a0,1
+ 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54>
+ 8000217c: 00000513 li a0,0
+ 80002180: 00008067 ret
+ 80002184: 40e7853b subw a0,a5,a4
+ 80002188: 00008067 ret
+
+000000008000218c <strcpy>:
+ 8000218c: 00050793 mv a5,a0
+ 80002190: 00158593 addi a1,a1,1
+ 80002194: fff5c703 lbu a4,-1(a1)
+ 80002198: 00178793 addi a5,a5,1
+ 8000219c: fee78fa3 sb a4,-1(a5)
+ 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4>
+ 800021a4: 00008067 ret
+
+00000000800021a8 <atol>:
+ 800021a8: 00054783 lbu a5,0(a0)
+ 800021ac: 02000713 li a4,32
+ 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18>
+ 800021b4: 00150513 addi a0,a0,1
+ 800021b8: 00054783 lbu a5,0(a0)
+ 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc>
+ 800021c0: fd57871b addiw a4,a5,-43
+ 800021c4: 0fd77713 andi a4,a4,253
+ 800021c8: 04070263 beqz a4,8000220c <atol+0x64>
+ 800021cc: 00054683 lbu a3,0(a0)
+ 800021d0: 00050793 mv a5,a0
+ 800021d4: 00000613 li a2,0
+ 800021d8: 04068863 beqz a3,80002228 <atol+0x80>
+ 800021dc: 00000513 li a0,0
+ 800021e0: 00178793 addi a5,a5,1
+ 800021e4: fd06859b addiw a1,a3,-48
+ 800021e8: 00251713 slli a4,a0,0x2
+ 800021ec: 0007c683 lbu a3,0(a5)
+ 800021f0: 00a70533 add a0,a4,a0
+ 800021f4: 00151513 slli a0,a0,0x1
+ 800021f8: 00a58533 add a0,a1,a0
+ 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38>
+ 80002200: 00060463 beqz a2,80002208 <atol+0x60>
+ 80002204: 40a00533 neg a0,a0
+ 80002208: 00008067 ret
+ 8000220c: 00154683 lbu a3,1(a0)
+ 80002210: fd378793 addi a5,a5,-45
+ 80002214: 0017b613 seqz a2,a5
+ 80002218: 00150793 addi a5,a0,1
+ 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34>
+ 80002220: 00000513 li a0,0
+ 80002224: fddff06f j 80002200 <atol+0x58>
+ 80002228: 00000513 li a0,0
+ 8000222c: 00008067 ret
+
+0000000080002230 <terminate>:
+ 80002230: fffff797 auipc a5,0xfffff
+ 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost>
+ 80002238: 0007b703 ld a4,0(a5)
+ 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20>
+ 80002240: fffff717 auipc a4,0xfffff
+ 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost>
+ 80002248: 0007b703 ld a4,0(a5)
+ 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10>
+ 80002250: fffff797 auipc a5,0xfffff
+ 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost>
+ 80002258: 0000006f j 80002258 <terminate+0x28>
+
+000000008000225c <wtf>:
+ 8000225c: ff010113 addi sp,sp,-16
+ 80002260: 34900513 li a0,841
+ 80002264: 00113423 sd ra,8(sp)
+ 80002268: fc9ff0ef jal ra,80002230 <terminate>
+
+000000008000226c <printhex>:
+ 8000226c: fe010113 addi sp,sp,-32
+ 80002270: 01710713 addi a4,sp,23
+ 80002274: 00710813 addi a6,sp,7
+ 80002278: 00900593 li a1,9
+ 8000227c: 00f57793 andi a5,a0,15
+ 80002280: 03000613 li a2,48
+ 80002284: 0ff7f693 andi a3,a5,255
+ 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24>
+ 8000228c: 05700613 li a2,87
+ 80002290: 00c687bb addw a5,a3,a2
+ 80002294: 00f70023 sb a5,0(a4)
+ 80002298: fff70713 addi a4,a4,-1
+ 8000229c: 00455513 srli a0,a0,0x4
+ 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10>
+ 800022a4: 00814783 lbu a5,8(sp)
+ 800022a8: 00010c23 sb zero,24(sp)
+ 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88>
+ 800022b0: 10100513 li a0,257
+ 800022b4: 00810693 addi a3,sp,8
+ 800022b8: fffff717 auipc a4,0xfffff
+ 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost>
+ 800022c0: 03051513 slli a0,a0,0x30
+ 800022c4: 00073583 ld a1,0(a4)
+ 800022c8: 00168693 addi a3,a3,1
+ 800022cc: 00a7e633 or a2,a5,a0
+ 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78>
+ 800022d4: fffff797 auipc a5,0xfffff
+ 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost>
+ 800022dc: 00073783 ld a5,0(a4)
+ 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68>
+ 800022e4: 0006c783 lbu a5,0(a3)
+ 800022e8: fffff597 auipc a1,0xfffff
+ 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost>
+ 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58>
+ 800022f4: 02010113 addi sp,sp,32
+ 800022f8: 00008067 ret
+
+00000000800022fc <handle_fault>:
+ 800022fc: fffff8b7 lui a7,0xfffff
+ 80002300: 01150733 add a4,a0,a7
+ 80002304: 0003e7b7 lui a5,0x3e
+ 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154>
+ 8000230c: 00c55693 srli a3,a0,0xc
+ 80002310: 60068813 addi a6,a3,1536
+ 80002314: 00002617 auipc a2,0x2
+ 80002318: cec60613 addi a2,a2,-788 # 80004000 <pt>
+ 8000231c: 00381793 slli a5,a6,0x3
+ 80002320: 00f607b3 add a5,a2,a5
+ 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000>
+ 80002328: 01157533 and a0,a0,a7
+ 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110>
+ 80002330: 00006797 auipc a5,0x6
+ 80002334: 4b878793 addi a5,a5,1208 # 800087e8 <freelist_head>
+ 80002338: 0007b583 ld a1,0(a5)
+ 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0>
+ 80002340: 0085b783 ld a5,8(a1)
+ 80002344: 00006717 auipc a4,0x6
+ 80002348: 49c70713 addi a4,a4,1180 # 800087e0 <freelist_tail>
+ 8000234c: 00073703 ld a4,0(a4)
+ 80002350: 00006897 auipc a7,0x6
+ 80002354: 48f8bc23 sd a5,1176(a7) # 800087e8 <freelist_head>
+ 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148>
+ 8000235c: 0005b783 ld a5,0(a1)
+ 80002360: 00381893 slli a7,a6,0x3
+ 80002364: 011608b3 add a7,a2,a7
+ 80002368: 00c7d793 srli a5,a5,0xc
+ 8000236c: 00a79793 slli a5,a5,0xa
+ 80002370: 0df7e313 ori t1,a5,223
+ 80002374: 01f7e713 ori a4,a5,31
+ 80002378: 0068b023 sd t1,0(a7)
+ 8000237c: 12050073 sfence.vma a0
+ 80002380: 00006797 auipc a5,0x6
+ 80002384: 07078793 addi a5,a5,112 # 800083f0 <user_mapping>
+ 80002388: 00469693 slli a3,a3,0x4
+ 8000238c: 00d786b3 add a3,a5,a3
+ 80002390: 0006b783 ld a5,0(a3)
+ 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200>
+ 80002398: 0005b783 ld a5,0(a1)
+ 8000239c: 00f6b023 sd a5,0(a3)
+ 800023a0: 0085b783 ld a5,8(a1)
+ 800023a4: 00f6b423 sd a5,8(a3)
+ 800023a8: 000407b7 lui a5,0x40
+ 800023ac: 1007a8f3 csrrs a7,sstatus,a5
+ 800023b0: ffe007b7 lui a5,0xffe00
+ 800023b4: 00f507b3 add a5,a0,a5
+ 800023b8: 000015b7 lui a1,0x1
+ 800023bc: 00050693 mv a3,a0
+ 800023c0: 00b785b3 add a1,a5,a1
+ 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf7810>
+ 800023c8: 0087be83 ld t4,8(a5)
+ 800023cc: 0107be03 ld t3,16(a5)
+ 800023d0: 0187b303 ld t1,24(a5)
+ 800023d4: 01e6b023 sd t5,0(a3)
+ 800023d8: 01d6b423 sd t4,8(a3)
+ 800023dc: 01c6b823 sd t3,16(a3)
+ 800023e0: 0066bc23 sd t1,24(a3)
+ 800023e4: 02078793 addi a5,a5,32
+ 800023e8: 02068693 addi a3,a3,32
+ 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8>
+ 800023f0: 10089073 csrw sstatus,a7
+ 800023f4: 00381813 slli a6,a6,0x3
+ 800023f8: 01060633 add a2,a2,a6
+ 800023fc: 00e63023 sd a4,0(a2)
+ 80002400: 12050073 sfence.vma a0
+ 80002404: 0000100f fence.i
+ 80002408: 00008067 ret
+ 8000240c: 04077693 andi a3,a4,64
+ 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128>
+ 80002414: 04076713 ori a4,a4,64
+ 80002418: 00e7b023 sd a4,0(a5)
+ 8000241c: 12050073 sfence.vma a0
+ 80002420: 00008067 ret
+ 80002424: 08077693 andi a3,a4,128
+ 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250>
+ 8000242c: 00f00693 li a3,15
+ 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250>
+ 80002434: 08076713 ori a4,a4,128
+ 80002438: 00e7b023 sd a4,0(a5)
+ 8000243c: 12050073 sfence.vma a0
+ 80002440: 00008067 ret
+ 80002444: 00006797 auipc a5,0x6
+ 80002448: 3807be23 sd zero,924(a5) # 800087e0 <freelist_tail>
+ 8000244c: f11ff06f j 8000235c <handle_fault+0x60>
+ 80002450: 10100613 li a2,257
+ 80002454: 04100713 li a4,65
+ 80002458: 00001697 auipc a3,0x1
+ 8000245c: 8a068693 addi a3,a3,-1888 # 80002cf8 <pass+0x10>
+ 80002460: fffff797 auipc a5,0xfffff
+ 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost>
+ 80002468: 03061613 slli a2,a2,0x30
+ 8000246c: 0007b503 ld a0,0(a5)
+ 80002470: 00168693 addi a3,a3,1
+ 80002474: 00c765b3 or a1,a4,a2
+ 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190>
+ 8000247c: fffff717 auipc a4,0xfffff
+ 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost>
+ 80002484: 0007b703 ld a4,0(a5)
+ 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180>
+ 8000248c: 0006c703 lbu a4,0(a3)
+ 80002490: fffff517 auipc a0,0xfffff
+ 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost>
+ 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170>
+ 8000249c: ff010113 addi sp,sp,-16
+ 800024a0: 00300513 li a0,3
+ 800024a4: 00113423 sd ra,8(sp)
+ 800024a8: d89ff0ef jal ra,80002230 <terminate>
+ 800024ac: 10100693 li a3,257
+ 800024b0: 04100713 li a4,65
+ 800024b4: 00001617 auipc a2,0x1
+ 800024b8: 8d460613 addi a2,a2,-1836 # 80002d88 <pass+0xa0>
+ 800024bc: fffff797 auipc a5,0xfffff
+ 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost>
+ 800024c4: 03069693 slli a3,a3,0x30
+ 800024c8: 0007b503 ld a0,0(a5)
+ 800024cc: 00160613 addi a2,a2,1
+ 800024d0: 00d765b3 or a1,a4,a3
+ 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec>
+ 800024d8: fffff717 auipc a4,0xfffff
+ 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost>
+ 800024e0: 0007b703 ld a4,0(a5)
+ 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc>
+ 800024e8: 00064703 lbu a4,0(a2)
+ 800024ec: fffff517 auipc a0,0xfffff
+ 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost>
+ 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc>
+ 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0>
+ 800024fc: 10100693 li a3,257
+ 80002500: 04100713 li a4,65
+ 80002504: 00001617 auipc a2,0x1
+ 80002508: 89c60613 addi a2,a2,-1892 # 80002da0 <pass+0xb8>
+ 8000250c: fffff797 auipc a5,0xfffff
+ 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost>
+ 80002514: 03069693 slli a3,a3,0x30
+ 80002518: 0007b503 ld a0,0(a5)
+ 8000251c: 00160613 addi a2,a2,1
+ 80002520: 00d765b3 or a1,a4,a3
+ 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c>
+ 80002528: fffff717 auipc a4,0xfffff
+ 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost>
+ 80002530: 0007b703 ld a4,0(a5)
+ 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c>
+ 80002538: 00064703 lbu a4,0(a2)
+ 8000253c: fffff517 auipc a0,0xfffff
+ 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost>
+ 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c>
+ 80002548: f55ff06f j 8000249c <handle_fault+0x1a0>
+ 8000254c: 10100613 li a2,257
+ 80002550: 04100713 li a4,65
+ 80002554: 00000697 auipc a3,0x0
+ 80002558: 7ec68693 addi a3,a3,2028 # 80002d40 <pass+0x58>
+ 8000255c: fffff797 auipc a5,0xfffff
+ 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost>
+ 80002564: 03061613 slli a2,a2,0x30
+ 80002568: 0007b503 ld a0,0(a5)
+ 8000256c: 00168693 addi a3,a3,1
+ 80002570: 00c765b3 or a1,a4,a2
+ 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c>
+ 80002578: fffff717 auipc a4,0xfffff
+ 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost>
+ 80002580: 0007b703 ld a4,0(a5)
+ 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c>
+ 80002588: 0006c703 lbu a4,0(a3)
+ 8000258c: fffff517 auipc a0,0xfffff
+ 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost>
+ 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c>
+ 80002598: f05ff06f j 8000249c <handle_fault+0x1a0>
+
+000000008000259c <handle_trap>:
+ 8000259c: 11853583 ld a1,280(a0)
+ 800025a0: f9010113 addi sp,sp,-112
+ 800025a4: 06813023 sd s0,96(sp)
+ 800025a8: 06113423 sd ra,104(sp)
+ 800025ac: 04913c23 sd s1,88(sp)
+ 800025b0: 05213823 sd s2,80(sp)
+ 800025b4: 05313423 sd s3,72(sp)
+ 800025b8: 05413023 sd s4,64(sp)
+ 800025bc: 03513c23 sd s5,56(sp)
+ 800025c0: 03613823 sd s6,48(sp)
+ 800025c4: 03713423 sd s7,40(sp)
+ 800025c8: 03813023 sd s8,32(sp)
+ 800025cc: 01913c23 sd s9,24(sp)
+ 800025d0: 01a13823 sd s10,16(sp)
+ 800025d4: 01b13423 sd s11,8(sp)
+ 800025d8: 00800793 li a5,8
+ 800025dc: 00050413 mv s0,a0
+ 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178>
+ 800025e4: 00200793 li a5,2
+ 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac>
+ 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c>
+ 800025f0: 00100713 li a4,1
+ 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64>
+ 800025f8: 00f00793 li a5,15
+ 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248>
+ 80002600: 11043503 ld a0,272(s0)
+ 80002604: cf9ff0ef jal ra,800022fc <handle_fault>
+ 80002608: 00040513 mv a0,s0
+ 8000260c: 06013403 ld s0,96(sp)
+ 80002610: 06813083 ld ra,104(sp)
+ 80002614: 05813483 ld s1,88(sp)
+ 80002618: 05013903 ld s2,80(sp)
+ 8000261c: 04813983 ld s3,72(sp)
+ 80002620: 04013a03 ld s4,64(sp)
+ 80002624: 03813a83 ld s5,56(sp)
+ 80002628: 03013b03 ld s6,48(sp)
+ 8000262c: 02813b83 ld s7,40(sp)
+ 80002630: 02013c03 ld s8,32(sp)
+ 80002634: 01813c83 ld s9,24(sp)
+ 80002638: 01013d03 ld s10,16(sp)
+ 8000263c: 00813d83 ld s11,8(sp)
+ 80002640: 07010113 addi sp,sp,112
+ 80002644: 9f9fd06f j 8000003c <pop_tf>
+ 80002648: 10853703 ld a4,264(a0)
+ 8000264c: 00377793 andi a5,a4,3
+ 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128>
+ 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0>
+ 80002658: 00301073 fssr zero
+ 8000265c: 00072703 lw a4,0(a4)
+ 80002660: 0007a783 lw a5,0(a5)
+ 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120>
+ 80002668: 10100513 li a0,257
+ 8000266c: 04100793 li a5,65
+ 80002670: 00001697 auipc a3,0x1
+ 80002674: 80868693 addi a3,a3,-2040 # 80002e78 <pass+0x190>
+ 80002678: fffff717 auipc a4,0xfffff
+ 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost>
+ 80002680: 03051513 slli a0,a0,0x30
+ 80002684: 00073583 ld a1,0(a4)
+ 80002688: 00168693 addi a3,a3,1
+ 8000268c: 00a7e633 or a2,a5,a0
+ 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108>
+ 80002694: fffff797 auipc a5,0xfffff
+ 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost>
+ 8000269c: 00073783 ld a5,0(a4)
+ 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8>
+ 800026a4: 0006c783 lbu a5,0(a3)
+ 800026a8: fffff597 auipc a1,0xfffff
+ 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost>
+ 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8>
+ 800026b4: 00300513 li a0,3
+ 800026b8: b79ff0ef jal ra,80002230 <terminate>
+ 800026bc: 00100513 li a0,1
+ 800026c0: b71ff0ef jal ra,80002230 <terminate>
+ 800026c4: 10100793 li a5,257
+ 800026c8: 00000617 auipc a2,0x0
+ 800026cc: 78860613 addi a2,a2,1928 # 80002e50 <pass+0x168>
+ 800026d0: 04100693 li a3,65
+ 800026d4: fffff717 auipc a4,0xfffff
+ 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost>
+ 800026dc: 03079793 slli a5,a5,0x30
+ 800026e0: 00073503 ld a0,0(a4)
+ 800026e4: 00160613 addi a2,a2,1
+ 800026e8: 00f6e5b3 or a1,a3,a5
+ 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164>
+ 800026f0: fffff697 auipc a3,0xfffff
+ 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost>
+ 800026f8: 00073683 ld a3,0(a4)
+ 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154>
+ 80002700: 00064683 lbu a3,0(a2)
+ 80002704: fffff517 auipc a0,0xfffff
+ 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost>
+ 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144>
+ 80002710: fa5ff06f j 800026b4 <handle_trap+0x118>
+ 80002714: 05052983 lw s3,80(a0)
+ 80002718: 00001437 lui s0,0x1
+ 8000271c: 00006d17 auipc s10,0x6
+ 80002720: cd4d0d13 addi s10,s10,-812 # 800083f0 <user_mapping>
+ 80002724: 00002b97 auipc s7,0x2
+ 80002728: 8dcb8b93 addi s7,s7,-1828 # 80004000 <pt>
+ 8000272c: 00040b37 lui s6,0x40
+ 80002730: ffe00ab7 lui s5,0xffe00
+ 80002734: 00006a17 auipc s4,0x6
+ 80002738: 0aca0a13 addi s4,s4,172 # 800087e0 <freelist_tail>
+ 8000273c: 0003f937 lui s2,0x3f
+ 80002740: 01c0006f j 8000275c <handle_trap+0x1c0>
+ 80002744: 00f73423 sd a5,8(a4)
+ 80002748: 00006717 auipc a4,0x6
+ 8000274c: 08f73c23 sd a5,152(a4) # 800087e0 <freelist_tail>
+ 80002750: 000017b7 lui a5,0x1
+ 80002754: 00f40433 add s0,s0,a5
+ 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308>
+ 8000275c: 00c45793 srli a5,s0,0xc
+ 80002760: 00479493 slli s1,a5,0x4
+ 80002764: 009d0733 add a4,s10,s1
+ 80002768: 00073703 ld a4,0(a4)
+ 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4>
+ 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00>
+ 80002774: 00379793 slli a5,a5,0x3
+ 80002778: 00fb87b3 add a5,s7,a5
+ 8000277c: 0007bc03 ld s8,0(a5)
+ 80002780: 040c7793 andi a5,s8,64
+ 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0>
+ 80002788: 100b2cf3 csrrs s9,sstatus,s6
+ 8000278c: 01540db3 add s11,s0,s5
+ 80002790: 00001637 lui a2,0x1
+ 80002794: 000d8593 mv a1,s11
+ 80002798: 00040513 mv a0,s0
+ 8000279c: 975ff0ef jal ra,80002110 <memcmp>
+ 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220>
+ 800027a4: 080c7c13 andi s8,s8,128
+ 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298>
+ 800027ac: 00001637 lui a2,0x1
+ 800027b0: 000d8593 mv a1,s11
+ 800027b4: 00040513 mv a0,s0
+ 800027b8: 849ff0ef jal ra,80002000 <memcpy>
+ 800027bc: 009d07b3 add a5,s10,s1
+ 800027c0: 100c9073 csrw sstatus,s9
+ 800027c4: 000a3703 ld a4,0(s4)
+ 800027c8: 0007b023 sd zero,0(a5)
+ 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8>
+ 800027d0: 00006717 auipc a4,0x6
+ 800027d4: 00f73823 sd a5,16(a4) # 800087e0 <freelist_tail>
+ 800027d8: 00006717 auipc a4,0x6
+ 800027dc: 00f73823 sd a5,16(a4) # 800087e8 <freelist_head>
+ 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4>
+ 800027e4: 10100793 li a5,257
+ 800027e8: 04100613 li a2,65
+ 800027ec: 00000697 auipc a3,0x0
+ 800027f0: 6bc68693 addi a3,a3,1724 # 80002ea8 <pass+0x1c0>
+ 800027f4: fffff717 auipc a4,0xfffff
+ 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost>
+ 800027fc: 03079793 slli a5,a5,0x30
+ 80002800: 00073503 ld a0,0(a4)
+ 80002804: 00168693 addi a3,a3,1
+ 80002808: 00f665b3 or a1,a2,a5
+ 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284>
+ 80002810: fffff617 auipc a2,0xfffff
+ 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost>
+ 80002818: 00073603 ld a2,0(a4)
+ 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274>
+ 80002820: 0006c603 lbu a2,0(a3)
+ 80002824: ffffe517 auipc a0,0xffffe
+ 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost>
+ 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264>
+ 80002830: e85ff06f j 800026b4 <handle_trap+0x118>
+ 80002834: 10100793 li a5,257
+ 80002838: 04100613 li a2,65
+ 8000283c: 00000697 auipc a3,0x0
+ 80002840: 5dc68693 addi a3,a3,1500 # 80002e18 <pass+0x130>
+ 80002844: ffffe717 auipc a4,0xffffe
+ 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost>
+ 8000284c: 03079793 slli a5,a5,0x30
+ 80002850: 00168693 addi a3,a3,1
+ 80002854: 00f665b3 or a1,a2,a5
+ 80002858: 00073603 ld a2,0(a4)
+ 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310>
+ 80002860: ffffe617 auipc a2,0xffffe
+ 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost>
+ 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc>
+ 8000286c: 10100793 li a5,257
+ 80002870: 04100613 li a2,65
+ 80002874: 00000697 auipc a3,0x0
+ 80002878: 56c68693 addi a3,a3,1388 # 80002de0 <pass+0xf8>
+ 8000287c: ffffe717 auipc a4,0xffffe
+ 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost>
+ 80002884: 03079793 slli a5,a5,0x30
+ 80002888: 00168693 addi a3,a3,1
+ 8000288c: 00f665b3 or a1,a2,a5
+ 80002890: 00073603 ld a2,0(a4)
+ 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324>
+ 80002898: ffffe617 auipc a2,0xffffe
+ 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost>
+ 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4>
+ 800028a4: 00098513 mv a0,s3
+ 800028a8: 989ff0ef jal ra,80002230 <terminate>
+ 800028ac: 0006c603 lbu a2,0(a3)
+ 800028b0: ffffe517 auipc a0,0xffffe
+ 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost>
+ 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4>
+ 800028bc: df9ff06f j 800026b4 <handle_trap+0x118>
+ 800028c0: 0006c603 lbu a2,0(a3)
+ 800028c4: ffffe517 auipc a0,0xffffe
+ 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost>
+ 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec>
+ 800028d0: de5ff06f j 800026b4 <handle_trap+0x118>
+
+00000000800028d4 <vm_boot>:
+ 800028d4: f14027f3 csrr a5,mhartid
+ 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198>
+ 800028dc: 00002697 auipc a3,0x2
+ 800028e0: 72468693 addi a3,a3,1828 # 80005000 <pt+0x1000>
+ 800028e4: 00003717 auipc a4,0x3
+ 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <pt+0x2000>
+ 800028ec: 00c6d693 srli a3,a3,0xc
+ 800028f0: 00c75713 srli a4,a4,0xc
+ 800028f4: 00004797 auipc a5,0x4
+ 800028f8: 70c78793 addi a5,a5,1804 # 80007000 <pt+0x3000>
+ 800028fc: 00a69693 slli a3,a3,0xa
+ 80002900: 00a71713 slli a4,a4,0xa
+ 80002904: 0016e693 ori a3,a3,1
+ 80002908: 00176713 ori a4,a4,1
+ 8000290c: 00c7d793 srli a5,a5,0xc
+ 80002910: 00001897 auipc a7,0x1
+ 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <pt>
+ 80002918: 00a79793 slli a5,a5,0xa
+ 8000291c: 00002697 auipc a3,0x2
+ 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <pt+0xff8>
+ 80002924: 20000737 lui a4,0x20000
+ 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31>
+ 8000292c: fff00593 li a1,-1
+ 80002930: 0017e793 ori a5,a5,1
+ 80002934: 00001617 auipc a2,0x1
+ 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <pt>
+ 8000293c: ed010113 addi sp,sp,-304
+ 80002940: 03f59813 slli a6,a1,0x3f
+ 80002944: 00004697 auipc a3,0x4
+ 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <pt+0x2ff8>
+ 8000294c: 00002717 auipc a4,0x2
+ 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <pt+0x1000>
+ 80002954: 00c65793 srli a5,a2,0xc
+ 80002958: 12113423 sd ra,296(sp)
+ 8000295c: 12813023 sd s0,288(sp)
+ 80002960: 0107e7b3 or a5,a5,a6
+ 80002964: 18079073 csrw satp,a5
+ 80002968: 01f00793 li a5,31
+ 8000296c: 00000297 auipc t0,0x0
+ 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac>
+ 80002974: 305292f3 csrrw t0,mtvec,t0
+ 80002978: 3b059073 csrw pmpaddr0,a1
+ 8000297c: 3a079073 csrw pmpcfg0,a5
+ 80002980: bff00813 li a6,-1025
+ 80002984: 01581813 slli a6,a6,0x15
+ 80002988: ffffd797 auipc a5,0xffffd
+ 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry>
+ 80002990: 010787b3 add a5,a5,a6
+ 80002994: 10579073 csrw stvec,a5
+ 80002998: 340027f3 csrr a5,mscratch
+ 8000299c: 010787b3 add a5,a5,a6
+ 800029a0: 14079073 csrw sscratch,a5
+ 800029a4: 0000b7b7 lui a5,0xb
+ 800029a8: 1007879b addiw a5,a5,256
+ 800029ac: 30279073 csrw medeleg,a5
+ 800029b0: 0001e7b7 lui a5,0x1e
+ 800029b4: 30079073 csrw mstatus,a5
+ 800029b8: 30405073 csrwi mie,0
+ 800029bc: 00005697 auipc a3,0x5
+ 800029c0: 64468693 addi a3,a3,1604 # 80008000 <freelist_nodes>
+ 800029c4: 010687b3 add a5,a3,a6
+ 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20>
+ 800029cc: 00006617 auipc a2,0x6
+ 800029d0: e0f63e23 sd a5,-484(a2) # 800087e8 <freelist_head>
+ 800029d4: 00006797 auipc a5,0x6
+ 800029d8: e0e7b623 sd a4,-500(a5) # 800087e0 <freelist_tail>
+ 800029dc: 00006317 auipc t1,0x6
+ 800029e0: a1430313 addi t1,t1,-1516 # 800083f0 <user_mapping>
+ 800029e4: 02d00793 li a5,45
+ 800029e8: 000808b7 lui a7,0x80
+ 800029ec: 01080813 addi a6,a6,16
+ 800029f0: 03f7871b addiw a4,a5,63
+ 800029f4: 02071713 slli a4,a4,0x20
+ 800029f8: 0017d61b srliw a2,a5,0x1
+ 800029fc: 02075713 srli a4,a4,0x20
+ 80002a00: 00c7c7b3 xor a5,a5,a2
+ 80002a04: 01170733 add a4,a4,a7
+ 80002a08: 010685b3 add a1,a3,a6
+ 80002a0c: 00c71713 slli a4,a4,0xc
+ 80002a10: 0057979b slliw a5,a5,0x5
+ 80002a14: 00e6b023 sd a4,0(a3)
+ 80002a18: 00b6b423 sd a1,8(a3)
+ 80002a1c: 0207f793 andi a5,a5,32
+ 80002a20: 01068693 addi a3,a3,16
+ 80002a24: 00c7e7b3 or a5,a5,a2
+ 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c>
+ 80002a2c: 00050413 mv s0,a0
+ 80002a30: 12000613 li a2,288
+ 80002a34: 00000593 li a1,0
+ 80002a38: 00010513 mv a0,sp
+ 80002a3c: 00006797 auipc a5,0x6
+ 80002a40: 9a07b623 sd zero,-1620(a5) # 800083e8 <freelist_nodes+0x3e8>
+ 80002a44: e18ff0ef jal ra,8000205c <memset>
+ 80002a48: 800007b7 lui a5,0x80000
+ 80002a4c: 00f40433 add s0,s0,a5
+ 80002a50: 00010513 mv a0,sp
+ 80002a54: 10813423 sd s0,264(sp)
+ 80002a58: de4fd0ef jal ra,8000003c <pop_tf>
+ 80002a5c: 12813083 ld ra,296(sp)
+ 80002a60: 12013403 ld s0,288(sp)
+ 80002a64: 13010113 addi sp,sp,304
+ 80002a68: 00008067 ret
+ 80002a6c: 0d28d7b7 lui a5,0xd28d
+ 80002a70: 000805b7 lui a1,0x80
+ 80002a74: 47678793 addi a5,a5,1142 # d28d476 <_start-0x72d72b8a>
+ 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004>
+ 80002a7c: 00100613 li a2,1
+ 80002a80: 00b7f733 and a4,a5,a1
+ 80002a84: 01f61613 slli a2,a2,0x1f
+ 80002a88: 0017f693 andi a3,a5,1
+ 80002a8c: 02079793 slli a5,a5,0x20
+ 80002a90: 0207d793 srli a5,a5,0x20
+ 80002a94: 00c70733 add a4,a4,a2
+ 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8>
+ 80002a9c: 0007202f amoadd.w zero,zero,(a4)
+ 80002aa0: 0017d793 srli a5,a5,0x1
+ 80002aa4: 00b7f733 and a4,a5,a1
+ 80002aa8: 0017f693 andi a3,a5,1
+ 80002aac: 02079793 slli a5,a5,0x20
+ 80002ab0: 0207d793 srli a5,a5,0x20
+ 80002ab4: 00c70733 add a4,a4,a2
+ 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8>
+ 80002abc: 00072003 lw zero,0(a4)
+ 80002ac0: 0017d793 srli a5,a5,0x1
+ 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0>
+
+0000000080002ac8 <userstart>:
+ 80002ac8: 00301073 fssr zero
+
+0000000080002acc <test_2>:
+ 80002acc: 00200193 li gp,2
+ 80002ad0: 00000517 auipc a0,0x0
+ 80002ad4: 53050513 addi a0,a0,1328 # 80003000 <test_2_data>
+ 80002ad8: 00053007 fld ft0,0(a0)
+ 80002adc: 00853087 fld ft1,8(a0)
+ 80002ae0: 01053107 fld ft2,16(a0)
+ 80002ae4: 01853683 ld a3,24(a0)
+ 80002ae8: 021071d3 fadd.d ft3,ft0,ft1
+ 80002aec: e2018553 fmv.x.d a0,ft3
+ 80002af0: 001015f3 fsflags a1,zero
+ 80002af4: 00000613 li a2,0
+ 80002af8: 1ed51063 bne a0,a3,80002cd8 <fail>
+ 80002afc: 1cc59e63 bne a1,a2,80002cd8 <fail>
+
+0000000080002b00 <test_3>:
+ 80002b00: 00300193 li gp,3
+ 80002b04: 00000517 auipc a0,0x0
+ 80002b08: 51c50513 addi a0,a0,1308 # 80003020 <test_3_data>
+ 80002b0c: 00053007 fld ft0,0(a0)
+ 80002b10: 00853087 fld ft1,8(a0)
+ 80002b14: 01053107 fld ft2,16(a0)
+ 80002b18: 01853683 ld a3,24(a0)
+ 80002b1c: 021071d3 fadd.d ft3,ft0,ft1
+ 80002b20: e2018553 fmv.x.d a0,ft3
+ 80002b24: 001015f3 fsflags a1,zero
+ 80002b28: 00100613 li a2,1
+ 80002b2c: 1ad51663 bne a0,a3,80002cd8 <fail>
+ 80002b30: 1ac59463 bne a1,a2,80002cd8 <fail>
+
+0000000080002b34 <test_4>:
+ 80002b34: 00400193 li gp,4
+ 80002b38: 00000517 auipc a0,0x0
+ 80002b3c: 50850513 addi a0,a0,1288 # 80003040 <test_4_data>
+ 80002b40: 00053007 fld ft0,0(a0)
+ 80002b44: 00853087 fld ft1,8(a0)
+ 80002b48: 01053107 fld ft2,16(a0)
+ 80002b4c: 01853683 ld a3,24(a0)
+ 80002b50: 021071d3 fadd.d ft3,ft0,ft1
+ 80002b54: e2018553 fmv.x.d a0,ft3
+ 80002b58: 001015f3 fsflags a1,zero
+ 80002b5c: 00100613 li a2,1
+ 80002b60: 16d51c63 bne a0,a3,80002cd8 <fail>
+ 80002b64: 16c59a63 bne a1,a2,80002cd8 <fail>
+
+0000000080002b68 <test_5>:
+ 80002b68: 00500193 li gp,5
+ 80002b6c: 00000517 auipc a0,0x0
+ 80002b70: 4f450513 addi a0,a0,1268 # 80003060 <test_5_data>
+ 80002b74: 00053007 fld ft0,0(a0)
+ 80002b78: 00853087 fld ft1,8(a0)
+ 80002b7c: 01053107 fld ft2,16(a0)
+ 80002b80: 01853683 ld a3,24(a0)
+ 80002b84: 0a1071d3 fsub.d ft3,ft0,ft1
+ 80002b88: e2018553 fmv.x.d a0,ft3
+ 80002b8c: 001015f3 fsflags a1,zero
+ 80002b90: 00000613 li a2,0
+ 80002b94: 14d51263 bne a0,a3,80002cd8 <fail>
+ 80002b98: 14c59063 bne a1,a2,80002cd8 <fail>
+
+0000000080002b9c <test_6>:
+ 80002b9c: 00600193 li gp,6
+ 80002ba0: 00000517 auipc a0,0x0
+ 80002ba4: 4e050513 addi a0,a0,1248 # 80003080 <test_6_data>
+ 80002ba8: 00053007 fld ft0,0(a0)
+ 80002bac: 00853087 fld ft1,8(a0)
+ 80002bb0: 01053107 fld ft2,16(a0)
+ 80002bb4: 01853683 ld a3,24(a0)
+ 80002bb8: 0a1071d3 fsub.d ft3,ft0,ft1
+ 80002bbc: e2018553 fmv.x.d a0,ft3
+ 80002bc0: 001015f3 fsflags a1,zero
+ 80002bc4: 00100613 li a2,1
+ 80002bc8: 10d51863 bne a0,a3,80002cd8 <fail>
+ 80002bcc: 10c59663 bne a1,a2,80002cd8 <fail>
+
+0000000080002bd0 <test_7>:
+ 80002bd0: 00700193 li gp,7
+ 80002bd4: 00000517 auipc a0,0x0
+ 80002bd8: 4cc50513 addi a0,a0,1228 # 800030a0 <test_7_data>
+ 80002bdc: 00053007 fld ft0,0(a0)
+ 80002be0: 00853087 fld ft1,8(a0)
+ 80002be4: 01053107 fld ft2,16(a0)
+ 80002be8: 01853683 ld a3,24(a0)
+ 80002bec: 0a1071d3 fsub.d ft3,ft0,ft1
+ 80002bf0: e2018553 fmv.x.d a0,ft3
+ 80002bf4: 001015f3 fsflags a1,zero
+ 80002bf8: 00100613 li a2,1
+ 80002bfc: 0cd51e63 bne a0,a3,80002cd8 <fail>
+ 80002c00: 0cc59c63 bne a1,a2,80002cd8 <fail>
+
+0000000080002c04 <test_8>:
+ 80002c04: 00800193 li gp,8
+ 80002c08: 00000517 auipc a0,0x0
+ 80002c0c: 4b850513 addi a0,a0,1208 # 800030c0 <test_8_data>
+ 80002c10: 00053007 fld ft0,0(a0)
+ 80002c14: 00853087 fld ft1,8(a0)
+ 80002c18: 01053107 fld ft2,16(a0)
+ 80002c1c: 01853683 ld a3,24(a0)
+ 80002c20: 121071d3 fmul.d ft3,ft0,ft1
+ 80002c24: e2018553 fmv.x.d a0,ft3
+ 80002c28: 001015f3 fsflags a1,zero
+ 80002c2c: 00000613 li a2,0
+ 80002c30: 0ad51463 bne a0,a3,80002cd8 <fail>
+ 80002c34: 0ac59263 bne a1,a2,80002cd8 <fail>
+
+0000000080002c38 <test_9>:
+ 80002c38: 00900193 li gp,9
+ 80002c3c: 00000517 auipc a0,0x0
+ 80002c40: 4a450513 addi a0,a0,1188 # 800030e0 <test_9_data>
+ 80002c44: 00053007 fld ft0,0(a0)
+ 80002c48: 00853087 fld ft1,8(a0)
+ 80002c4c: 01053107 fld ft2,16(a0)
+ 80002c50: 01853683 ld a3,24(a0)
+ 80002c54: 121071d3 fmul.d ft3,ft0,ft1
+ 80002c58: e2018553 fmv.x.d a0,ft3
+ 80002c5c: 001015f3 fsflags a1,zero
+ 80002c60: 00100613 li a2,1
+ 80002c64: 06d51a63 bne a0,a3,80002cd8 <fail>
+ 80002c68: 06c59863 bne a1,a2,80002cd8 <fail>
+
+0000000080002c6c <test_10>:
+ 80002c6c: 00a00193 li gp,10
+ 80002c70: 00000517 auipc a0,0x0
+ 80002c74: 49050513 addi a0,a0,1168 # 80003100 <test_10_data>
+ 80002c78: 00053007 fld ft0,0(a0)
+ 80002c7c: 00853087 fld ft1,8(a0)
+ 80002c80: 01053107 fld ft2,16(a0)
+ 80002c84: 01853683 ld a3,24(a0)
+ 80002c88: 121071d3 fmul.d ft3,ft0,ft1
+ 80002c8c: e2018553 fmv.x.d a0,ft3
+ 80002c90: 001015f3 fsflags a1,zero
+ 80002c94: 00100613 li a2,1
+ 80002c98: 04d51063 bne a0,a3,80002cd8 <fail>
+ 80002c9c: 02c59e63 bne a1,a2,80002cd8 <fail>
+
+0000000080002ca0 <test_11>:
+ 80002ca0: 00b00193 li gp,11
+ 80002ca4: 00000517 auipc a0,0x0
+ 80002ca8: 47c50513 addi a0,a0,1148 # 80003120 <test_11_data>
+ 80002cac: 00053007 fld ft0,0(a0)
+ 80002cb0: 00853087 fld ft1,8(a0)
+ 80002cb4: 01053107 fld ft2,16(a0)
+ 80002cb8: 01853683 ld a3,24(a0)
+ 80002cbc: 0a1071d3 fsub.d ft3,ft0,ft1
+ 80002cc0: e2018553 fmv.x.d a0,ft3
+ 80002cc4: 001015f3 fsflags a1,zero
+ 80002cc8: 01000613 li a2,16
+ 80002ccc: 00d51663 bne a0,a3,80002cd8 <fail>
+ 80002cd0: 00c59463 bne a1,a2,80002cd8 <fail>
+ 80002cd4: 00301a63 bne zero,gp,80002ce8 <pass>
+
+0000000080002cd8 <fail>:
+ 80002cd8: 00119513 slli a0,gp,0x1
+ 80002cdc: 00050063 beqz a0,80002cdc <fail+0x4>
+ 80002ce0: 00156513 ori a0,a0,1
+ 80002ce4: 00000073 ecall
+
+0000000080002ce8 <pass>:
+ 80002ce8: 00100513 li a0,1
+ 80002cec: 00000073 ecall
+ 80002cf0: c0001073 unimp
+
+Disassembly of section .data:
+
+0000000080003000 <test_2_data>:
+ 80003000: 0000 unimp
+ 80003002: 0000 unimp
+ 80003004: 0000 unimp
+ 80003006: 4004 lw s1,0(s0)
+ 80003008: 0000 unimp
+ 8000300a: 0000 unimp
+ 8000300c: 0000 unimp
+ 8000300e: 3ff0 fld fa2,248(a5)
+ 80003010: 0000 unimp
+ 80003012: 0000 unimp
+ 80003014: 0000 unimp
+ 80003016: 0000 unimp
+ 80003018: 0000 unimp
+ 8000301a: 0000 unimp
+ 8000301c: 0000 unimp
+ 8000301e: 400c lw a1,0(s0)
+
+0000000080003020 <test_3_data>:
+ 80003020: 6666 ld a2,88(sp)
+ 80003022: 6666 ld a2,88(sp)
+ 80003024: 4c66 lw s8,88(sp)
+ 80003026: 999ac093 xori ra,s5,-1639
+ 8000302a: 9999 andi a1,a1,-26
+ 8000302c: 9999 andi a1,a1,-26
+ 8000302e: 3ff1 addiw t6,t6,-4
+ 80003030: 0000 unimp
+ 80003032: 0000 unimp
+ 80003034: 0000 unimp
+ 80003036: 0000 unimp
+ 80003038: 0000 unimp
+ 8000303a: 0000 unimp
+ 8000303c: 4800 lw s0,16(s0)
+ 8000303e: xori ra,gp,-689
+
+0000000080003040 <test_4_data>:
+ 80003040: d4f1 beqz s1,8000300c <test_2_data+0xc>
+ 80003042: 53c8 lw a0,36(a5)
+ 80003044: 400921fb 0x400921fb
+ 80003048: 8c3a mv s8,a4
+ 8000304a: e230 sd a2,64(a2)
+ 8000304c: 798e ld s3,224(sp)
+ 8000304e: 3e45 addiw t3,t3,-15
+ 80003050: 0000 unimp
+ 80003052: 0000 unimp
+ 80003054: 0000 unimp
+ 80003056: 0000 unimp
+ 80003058: 6ddf 5520 21fb 0x21fb55206ddf
+ 8000305e: 4009 c.li zero,2
+
+0000000080003060 <test_5_data>:
+ 80003060: 0000 unimp
+ 80003062: 0000 unimp
+ 80003064: 0000 unimp
+ 80003066: 4004 lw s1,0(s0)
+ 80003068: 0000 unimp
+ 8000306a: 0000 unimp
+ 8000306c: 0000 unimp
+ 8000306e: 3ff0 fld fa2,248(a5)
+ 80003070: 0000 unimp
+ 80003072: 0000 unimp
+ 80003074: 0000 unimp
+ 80003076: 0000 unimp
+ 80003078: 0000 unimp
+ 8000307a: 0000 unimp
+ 8000307c: 0000 unimp
+ 8000307e: 3ff8 fld fa4,248(a5)
+
+0000000080003080 <test_6_data>:
+ 80003080: 6666 ld a2,88(sp)
+ 80003082: 6666 ld a2,88(sp)
+ 80003084: 4c66 lw s8,88(sp)
+ 80003086: 999ac093 xori ra,s5,-1639
+ 8000308a: 9999 andi a1,a1,-26
+ 8000308c: 9999 andi a1,a1,-26
+ 8000308e: bff1 j 8000306a <test_5_data+0xa>
+ 80003090: 0000 unimp
+ 80003092: 0000 unimp
+ 80003094: 0000 unimp
+ 80003096: 0000 unimp
+ 80003098: 0000 unimp
+ 8000309a: 0000 unimp
+ 8000309c: 4800 lw s0,16(s0)
+ 8000309e: xori ra,gp,-689
+
+00000000800030a0 <test_7_data>:
+ 800030a0: d4f1 beqz s1,8000306c <test_5_data+0xc>
+ 800030a2: 53c8 lw a0,36(a5)
+ 800030a4: 400921fb 0x400921fb
+ 800030a8: 8c3a mv s8,a4
+ 800030aa: e230 sd a2,64(a2)
+ 800030ac: 798e ld s3,224(sp)
+ 800030ae: 3e45 addiw t3,t3,-15
+ 800030b0: 0000 unimp
+ 800030b2: 0000 unimp
+ 800030b4: 0000 unimp
+ 800030b6: 0000 unimp
+ 800030b8: 52713c03 ld s8,1319(sp)
+ 800030bc: 400921fb 0x400921fb
+
+00000000800030c0 <test_8_data>:
+ 800030c0: 0000 unimp
+ 800030c2: 0000 unimp
+ 800030c4: 0000 unimp
+ 800030c6: 4004 lw s1,0(s0)
+ 800030c8: 0000 unimp
+ 800030ca: 0000 unimp
+ 800030cc: 0000 unimp
+ 800030ce: 3ff0 fld fa2,248(a5)
+ 800030d0: 0000 unimp
+ 800030d2: 0000 unimp
+ 800030d4: 0000 unimp
+ 800030d6: 0000 unimp
+ 800030d8: 0000 unimp
+ 800030da: 0000 unimp
+ 800030dc: 0000 unimp
+ 800030de: 4004 lw s1,0(s0)
+
+00000000800030e0 <test_9_data>:
+ 800030e0: 6666 ld a2,88(sp)
+ 800030e2: 6666 ld a2,88(sp)
+ 800030e4: 4c66 lw s8,88(sp)
+ 800030e6: 999ac093 xori ra,s5,-1639
+ 800030ea: 9999 andi a1,a1,-26
+ 800030ec: 9999 andi a1,a1,-26
+ 800030ee: bff1 j 800030ca <test_8_data+0xa>
+ 800030f0: 0000 unimp
+ 800030f2: 0000 unimp
+ 800030f4: 0000 unimp
+ 800030f6: 0000 unimp
+ 800030f8: 0a3d addi s4,s4,15
+ 800030fa: 3a70a3d7 0x3a70a3d7
+ 800030fe: 4095 li ra,5
+
+0000000080003100 <test_10_data>:
+ 80003100: d4f1 beqz s1,800030cc <test_8_data+0xc>
+ 80003102: 53c8 lw a0,36(a5)
+ 80003104: 400921fb 0x400921fb
+ 80003108: 8c3a mv s8,a4
+ 8000310a: e230 sd a2,64(a2)
+ 8000310c: 798e ld s3,224(sp)
+ 8000310e: 3e45 addiw t3,t3,-15
+ 80003110: 0000 unimp
+ 80003112: 0000 unimp
+ 80003114: 0000 unimp
+ 80003116: 0000 unimp
+ 80003118: ff09 bnez a4,80003032 <test_3_data+0x12>
+ 8000311a: a5c1 j 800037da <begin_signature+0x69a>
+ 8000311c: ddc5 beqz a1,800030d4 <test_8_data+0x14>
+ 8000311e: 3e60 fld fs0,248(a2)
+
+0000000080003120 <test_11_data>:
+ 80003120: 0000 unimp
+ 80003122: 0000 unimp
+ 80003124: 0000 unimp
+ 80003126: 7ff0 ld a2,248(a5)
+ 80003128: 0000 unimp
+ 8000312a: 0000 unimp
+ 8000312c: 0000 unimp
+ 8000312e: 7ff0 ld a2,248(a5)
+ 80003130: 0000 unimp
+ 80003132: 0000 unimp
+ 80003134: 0000 unimp
+ 80003136: 0000 unimp
+ 80003138: 0000 unimp
+ 8000313a: 0000 unimp
+ 8000313c: 0000 unimp
+ 8000313e: 7ff8 ld a4,248(a5)
diff --git a/test/riscv-tests/rv64ud-v-fadd.elf b/test/riscv-tests/rv64ud-v-fadd.elf
new file mode 100644
index 0000000..e54ed05
--- /dev/null
+++ b/test/riscv-tests/rv64ud-v-fadd.elf
Binary files differ
diff --git a/test/riscv-tests/rv64ud-v-fclass.dump b/test/riscv-tests/rv64ud-v-fclass.dump
new file mode 100644
index 0000000..e374913
--- /dev/null
+++ b/test/riscv-tests/rv64ud-v-fclass.dump
@@ -0,0 +1,935 @@
+
+rv64ud-v-fclass: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 00c0006f j 8000000c <handle_reset>
+
+0000000080000004 <nmi_vector>:
+ 80000004: 2580206f j 8000225c <wtf>
+
+0000000080000008 <trap_vector>:
+ 80000008: 2540206f j 8000225c <wtf>
+
+000000008000000c <handle_reset>:
+ 8000000c: 00000297 auipc t0,0x0
+ 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+ 80000014: 30529073 csrw mtvec,t0
+ 80000018: 00008117 auipc sp,0x8
+ 8000001c: 6b810113 addi sp,sp,1720 # 800086d0 <_end+0xee0>
+ 80000020: f14022f3 csrr t0,mhartid
+ 80000024: 00c29293 slli t0,t0,0xc
+ 80000028: 00510133 add sp,sp,t0
+ 8000002c: 34011073 csrw mscratch,sp
+ 80000030: 00003517 auipc a0,0x3
+ 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart>
+ 80000038: 09d0206f j 800028d4 <vm_boot>
+
+000000008000003c <pop_tf>:
+ 8000003c: 10853283 ld t0,264(a0)
+ 80000040: 14129073 csrw sepc,t0
+ 80000044: 00853083 ld ra,8(a0)
+ 80000048: 01053103 ld sp,16(a0)
+ 8000004c: 01853183 ld gp,24(a0)
+ 80000050: 02053203 ld tp,32(a0)
+ 80000054: 02853283 ld t0,40(a0)
+ 80000058: 03053303 ld t1,48(a0)
+ 8000005c: 03853383 ld t2,56(a0)
+ 80000060: 04053403 ld s0,64(a0)
+ 80000064: 04853483 ld s1,72(a0)
+ 80000068: 05853583 ld a1,88(a0)
+ 8000006c: 06053603 ld a2,96(a0)
+ 80000070: 06853683 ld a3,104(a0)
+ 80000074: 07053703 ld a4,112(a0)
+ 80000078: 07853783 ld a5,120(a0)
+ 8000007c: 08053803 ld a6,128(a0)
+ 80000080: 08853883 ld a7,136(a0)
+ 80000084: 09053903 ld s2,144(a0)
+ 80000088: 09853983 ld s3,152(a0)
+ 8000008c: 0a053a03 ld s4,160(a0)
+ 80000090: 0a853a83 ld s5,168(a0)
+ 80000094: 0b053b03 ld s6,176(a0)
+ 80000098: 0b853b83 ld s7,184(a0)
+ 8000009c: 0c053c03 ld s8,192(a0)
+ 800000a0: 0c853c83 ld s9,200(a0)
+ 800000a4: 0d053d03 ld s10,208(a0)
+ 800000a8: 0d853d83 ld s11,216(a0)
+ 800000ac: 0e053e03 ld t3,224(a0)
+ 800000b0: 0e853e83 ld t4,232(a0)
+ 800000b4: 0f053f03 ld t5,240(a0)
+ 800000b8: 0f853f83 ld t6,248(a0)
+ 800000bc: 05053503 ld a0,80(a0)
+ 800000c0: 10200073 sret
+
+00000000800000c4 <trap_entry>:
+ 800000c4: 14011173 csrrw sp,sscratch,sp
+ 800000c8: 00113423 sd ra,8(sp)
+ 800000cc: 00313c23 sd gp,24(sp)
+ 800000d0: 02413023 sd tp,32(sp)
+ 800000d4: 02513423 sd t0,40(sp)
+ 800000d8: 02613823 sd t1,48(sp)
+ 800000dc: 02713c23 sd t2,56(sp)
+ 800000e0: 04813023 sd s0,64(sp)
+ 800000e4: 04913423 sd s1,72(sp)
+ 800000e8: 04a13823 sd a0,80(sp)
+ 800000ec: 04b13c23 sd a1,88(sp)
+ 800000f0: 06c13023 sd a2,96(sp)
+ 800000f4: 06d13423 sd a3,104(sp)
+ 800000f8: 06e13823 sd a4,112(sp)
+ 800000fc: 06f13c23 sd a5,120(sp)
+ 80000100: 09013023 sd a6,128(sp)
+ 80000104: 09113423 sd a7,136(sp)
+ 80000108: 09213823 sd s2,144(sp)
+ 8000010c: 09313c23 sd s3,152(sp)
+ 80000110: 0b413023 sd s4,160(sp)
+ 80000114: 0b513423 sd s5,168(sp)
+ 80000118: 0b613823 sd s6,176(sp)
+ 8000011c: 0b713c23 sd s7,184(sp)
+ 80000120: 0d813023 sd s8,192(sp)
+ 80000124: 0d913423 sd s9,200(sp)
+ 80000128: 0da13823 sd s10,208(sp)
+ 8000012c: 0db13c23 sd s11,216(sp)
+ 80000130: 0fc13023 sd t3,224(sp)
+ 80000134: 0fd13423 sd t4,232(sp)
+ 80000138: 0fe13823 sd t5,240(sp)
+ 8000013c: 0ff13c23 sd t6,248(sp)
+ 80000140: 140112f3 csrrw t0,sscratch,sp
+ 80000144: 00513823 sd t0,16(sp)
+ 80000148: 100022f3 csrr t0,sstatus
+ 8000014c: 10513023 sd t0,256(sp)
+ 80000150: 141022f3 csrr t0,sepc
+ 80000154: 10513423 sd t0,264(sp)
+ 80000158: 143022f3 csrr t0,stval
+ 8000015c: 10513823 sd t0,272(sp)
+ 80000160: 142022f3 csrr t0,scause
+ 80000164: 10513c23 sd t0,280(sp)
+ 80000168: 00010513 mv a0,sp
+ 8000016c: 4300206f j 8000259c <handle_trap>
+
+Disassembly of section .text:
+
+0000000080002000 <memcpy>:
+ 80002000: 00c5e7b3 or a5,a1,a2
+ 80002004: 00f567b3 or a5,a0,a5
+ 80002008: 0077f793 andi a5,a5,7
+ 8000200c: 00c506b3 add a3,a0,a2
+ 80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+ 80002014: 00c58633 add a2,a1,a2
+ 80002018: 00050793 mv a5,a0
+ 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+ 80002020: 00158593 addi a1,a1,1
+ 80002024: fff5c703 lbu a4,-1(a1)
+ 80002028: 00178793 addi a5,a5,1
+ 8000202c: fee78fa3 sb a4,-1(a5)
+ 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+ 80002034: 00008067 ret
+ 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+ 8000203c: 00050793 mv a5,a0
+ 80002040: 00858593 addi a1,a1,8
+ 80002044: ff85b703 ld a4,-8(a1)
+ 80002048: 00878793 addi a5,a5,8
+ 8000204c: fee7bc23 sd a4,-8(a5)
+ 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+ 80002054: 00008067 ret
+ 80002058: 00008067 ret
+
+000000008000205c <memset>:
+ 8000205c: 00c567b3 or a5,a0,a2
+ 80002060: 0077f793 andi a5,a5,7
+ 80002064: 00c50633 add a2,a0,a2
+ 80002068: 0ff5f593 andi a1,a1,255
+ 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c>
+ 80002070: 00050793 mv a5,a0
+ 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c>
+ 80002078: 00178793 addi a5,a5,1
+ 8000207c: feb78fa3 sb a1,-1(a5)
+ 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+ 80002084: 00008067 ret
+ 80002088: 00859793 slli a5,a1,0x8
+ 8000208c: 00b7e5b3 or a1,a5,a1
+ 80002090: 01059793 slli a5,a1,0x10
+ 80002094: 00b7e7b3 or a5,a5,a1
+ 80002098: 02079593 slli a1,a5,0x20
+ 8000209c: 00f5e5b3 or a1,a1,a5
+ 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28>
+ 800020a4: 00050793 mv a5,a0
+ 800020a8: 00878793 addi a5,a5,8
+ 800020ac: feb7bc23 sd a1,-8(a5)
+ 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c>
+ 800020b4: 00008067 ret
+ 800020b8: 00008067 ret
+
+00000000800020bc <strlen>:
+ 800020bc: 00054783 lbu a5,0(a0)
+ 800020c0: 00050713 mv a4,a0
+ 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20>
+ 800020c8: 00150513 addi a0,a0,1
+ 800020cc: 00054783 lbu a5,0(a0)
+ 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc>
+ 800020d4: 40e50533 sub a0,a0,a4
+ 800020d8: 00008067 ret
+ 800020dc: 00000513 li a0,0
+ 800020e0: 00008067 ret
+
+00000000800020e4 <strcmp>:
+ 800020e4: 00150513 addi a0,a0,1
+ 800020e8: fff54783 lbu a5,-1(a0)
+ 800020ec: 00158593 addi a1,a1,1
+ 800020f0: fff5c703 lbu a4,-1(a1)
+ 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24>
+ 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp>
+ 800020fc: 0007851b sext.w a0,a5
+ 80002100: 40e5053b subw a0,a0,a4
+ 80002104: 00008067 ret
+ 80002108: 00000513 li a0,0
+ 8000210c: ff5ff06f j 80002100 <strcmp+0x1c>
+
+0000000080002110 <memcmp>:
+ 80002110: 00b567b3 or a5,a0,a1
+ 80002114: 0077f793 andi a5,a5,7
+ 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c>
+ 8000211c: ff867693 andi a3,a2,-8
+ 80002120: 00d506b3 add a3,a0,a3
+ 80002124: 00050813 mv a6,a0
+ 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c>
+ 8000212c: 00053703 ld a4,0(a0)
+ 80002130: 0005b783 ld a5,0(a1)
+ 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38>
+ 80002138: 0240006f j 8000215c <memcmp+0x4c>
+ 8000213c: 00053703 ld a4,0(a0)
+ 80002140: 0005b783 ld a5,0(a1)
+ 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44>
+ 80002148: 00850513 addi a0,a0,8
+ 8000214c: 00858593 addi a1,a1,8
+ 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c>
+ 80002154: 41050833 sub a6,a0,a6
+ 80002158: 41060633 sub a2,a2,a6
+ 8000215c: 00c58633 add a2,a1,a2
+ 80002160: 0140006f j 80002174 <memcmp+0x64>
+ 80002164: 00158593 addi a1,a1,1
+ 80002168: fff54783 lbu a5,-1(a0)
+ 8000216c: fff5c703 lbu a4,-1(a1)
+ 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74>
+ 80002174: 00150513 addi a0,a0,1
+ 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54>
+ 8000217c: 00000513 li a0,0
+ 80002180: 00008067 ret
+ 80002184: 40e7853b subw a0,a5,a4
+ 80002188: 00008067 ret
+
+000000008000218c <strcpy>:
+ 8000218c: 00050793 mv a5,a0
+ 80002190: 00158593 addi a1,a1,1
+ 80002194: fff5c703 lbu a4,-1(a1)
+ 80002198: 00178793 addi a5,a5,1
+ 8000219c: fee78fa3 sb a4,-1(a5)
+ 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4>
+ 800021a4: 00008067 ret
+
+00000000800021a8 <atol>:
+ 800021a8: 00054783 lbu a5,0(a0)
+ 800021ac: 02000713 li a4,32
+ 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18>
+ 800021b4: 00150513 addi a0,a0,1
+ 800021b8: 00054783 lbu a5,0(a0)
+ 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc>
+ 800021c0: fd57871b addiw a4,a5,-43
+ 800021c4: 0fd77713 andi a4,a4,253
+ 800021c8: 04070263 beqz a4,8000220c <atol+0x64>
+ 800021cc: 00054683 lbu a3,0(a0)
+ 800021d0: 00050793 mv a5,a0
+ 800021d4: 00000613 li a2,0
+ 800021d8: 04068863 beqz a3,80002228 <atol+0x80>
+ 800021dc: 00000513 li a0,0
+ 800021e0: 00178793 addi a5,a5,1
+ 800021e4: fd06859b addiw a1,a3,-48
+ 800021e8: 00251713 slli a4,a0,0x2
+ 800021ec: 0007c683 lbu a3,0(a5)
+ 800021f0: 00a70533 add a0,a4,a0
+ 800021f4: 00151513 slli a0,a0,0x1
+ 800021f8: 00a58533 add a0,a1,a0
+ 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38>
+ 80002200: 00060463 beqz a2,80002208 <atol+0x60>
+ 80002204: 40a00533 neg a0,a0
+ 80002208: 00008067 ret
+ 8000220c: 00154683 lbu a3,1(a0)
+ 80002210: fd378793 addi a5,a5,-45
+ 80002214: 0017b613 seqz a2,a5
+ 80002218: 00150793 addi a5,a0,1
+ 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34>
+ 80002220: 00000513 li a0,0
+ 80002224: fddff06f j 80002200 <atol+0x58>
+ 80002228: 00000513 li a0,0
+ 8000222c: 00008067 ret
+
+0000000080002230 <terminate>:
+ 80002230: fffff797 auipc a5,0xfffff
+ 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost>
+ 80002238: 0007b703 ld a4,0(a5)
+ 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20>
+ 80002240: fffff717 auipc a4,0xfffff
+ 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost>
+ 80002248: 0007b703 ld a4,0(a5)
+ 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10>
+ 80002250: fffff797 auipc a5,0xfffff
+ 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost>
+ 80002258: 0000006f j 80002258 <terminate+0x28>
+
+000000008000225c <wtf>:
+ 8000225c: ff010113 addi sp,sp,-16
+ 80002260: 34900513 li a0,841
+ 80002264: 00113423 sd ra,8(sp)
+ 80002268: fc9ff0ef jal ra,80002230 <terminate>
+
+000000008000226c <printhex>:
+ 8000226c: fe010113 addi sp,sp,-32
+ 80002270: 01710713 addi a4,sp,23
+ 80002274: 00710813 addi a6,sp,7
+ 80002278: 00900593 li a1,9
+ 8000227c: 00f57793 andi a5,a0,15
+ 80002280: 03000613 li a2,48
+ 80002284: 0ff7f693 andi a3,a5,255
+ 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24>
+ 8000228c: 05700613 li a2,87
+ 80002290: 00c687bb addw a5,a3,a2
+ 80002294: 00f70023 sb a5,0(a4)
+ 80002298: fff70713 addi a4,a4,-1
+ 8000229c: 00455513 srli a0,a0,0x4
+ 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10>
+ 800022a4: 00814783 lbu a5,8(sp)
+ 800022a8: 00010c23 sb zero,24(sp)
+ 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88>
+ 800022b0: 10100513 li a0,257
+ 800022b4: 00810693 addi a3,sp,8
+ 800022b8: fffff717 auipc a4,0xfffff
+ 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost>
+ 800022c0: 03051513 slli a0,a0,0x30
+ 800022c4: 00073583 ld a1,0(a4)
+ 800022c8: 00168693 addi a3,a3,1
+ 800022cc: 00a7e633 or a2,a5,a0
+ 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78>
+ 800022d4: fffff797 auipc a5,0xfffff
+ 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost>
+ 800022dc: 00073783 ld a5,0(a4)
+ 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68>
+ 800022e4: 0006c783 lbu a5,0(a3)
+ 800022e8: fffff597 auipc a1,0xfffff
+ 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost>
+ 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58>
+ 800022f4: 02010113 addi sp,sp,32
+ 800022f8: 00008067 ret
+
+00000000800022fc <handle_fault>:
+ 800022fc: fffff8b7 lui a7,0xfffff
+ 80002300: 01150733 add a4,a0,a7
+ 80002304: 0003e7b7 lui a5,0x3e
+ 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154>
+ 8000230c: 00c55693 srli a3,a0,0xc
+ 80002310: 60068813 addi a6,a3,1536
+ 80002314: 00001617 auipc a2,0x1
+ 80002318: cec60613 addi a2,a2,-788 # 80003000 <begin_signature>
+ 8000231c: 00381793 slli a5,a6,0x3
+ 80002320: 00f607b3 add a5,a2,a5
+ 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000>
+ 80002328: 01157533 and a0,a0,a7
+ 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110>
+ 80002330: 00005797 auipc a5,0x5
+ 80002334: 4b878793 addi a5,a5,1208 # 800077e8 <freelist_head>
+ 80002338: 0007b583 ld a1,0(a5)
+ 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0>
+ 80002340: 0085b783 ld a5,8(a1)
+ 80002344: 00005717 auipc a4,0x5
+ 80002348: 49c70713 addi a4,a4,1180 # 800077e0 <freelist_tail>
+ 8000234c: 00073703 ld a4,0(a4)
+ 80002350: 00005897 auipc a7,0x5
+ 80002354: 48f8bc23 sd a5,1176(a7) # 800077e8 <freelist_head>
+ 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148>
+ 8000235c: 0005b783 ld a5,0(a1)
+ 80002360: 00381893 slli a7,a6,0x3
+ 80002364: 011608b3 add a7,a2,a7
+ 80002368: 00c7d793 srli a5,a5,0xc
+ 8000236c: 00a79793 slli a5,a5,0xa
+ 80002370: 0df7e313 ori t1,a5,223
+ 80002374: 01f7e713 ori a4,a5,31
+ 80002378: 0068b023 sd t1,0(a7)
+ 8000237c: 12050073 sfence.vma a0
+ 80002380: 00005797 auipc a5,0x5
+ 80002384: 07078793 addi a5,a5,112 # 800073f0 <user_mapping>
+ 80002388: 00469693 slli a3,a3,0x4
+ 8000238c: 00d786b3 add a3,a5,a3
+ 80002390: 0006b783 ld a5,0(a3)
+ 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200>
+ 80002398: 0005b783 ld a5,0(a1)
+ 8000239c: 00f6b023 sd a5,0(a3)
+ 800023a0: 0085b783 ld a5,8(a1)
+ 800023a4: 00f6b423 sd a5,8(a3)
+ 800023a8: 000407b7 lui a5,0x40
+ 800023ac: 1007a8f3 csrrs a7,sstatus,a5
+ 800023b0: ffe007b7 lui a5,0xffe00
+ 800023b4: 00f507b3 add a5,a0,a5
+ 800023b8: 000015b7 lui a1,0x1
+ 800023bc: 00050693 mv a3,a0
+ 800023c0: 00b785b3 add a1,a5,a1
+ 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf8810>
+ 800023c8: 0087be83 ld t4,8(a5)
+ 800023cc: 0107be03 ld t3,16(a5)
+ 800023d0: 0187b303 ld t1,24(a5)
+ 800023d4: 01e6b023 sd t5,0(a3)
+ 800023d8: 01d6b423 sd t4,8(a3)
+ 800023dc: 01c6b823 sd t3,16(a3)
+ 800023e0: 0066bc23 sd t1,24(a3)
+ 800023e4: 02078793 addi a5,a5,32
+ 800023e8: 02068693 addi a3,a3,32
+ 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8>
+ 800023f0: 10089073 csrw sstatus,a7
+ 800023f4: 00381813 slli a6,a6,0x3
+ 800023f8: 01060633 add a2,a2,a6
+ 800023fc: 00e63023 sd a4,0(a2)
+ 80002400: 12050073 sfence.vma a0
+ 80002404: 0000100f fence.i
+ 80002408: 00008067 ret
+ 8000240c: 04077693 andi a3,a4,64
+ 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128>
+ 80002414: 04076713 ori a4,a4,64
+ 80002418: 00e7b023 sd a4,0(a5)
+ 8000241c: 12050073 sfence.vma a0
+ 80002420: 00008067 ret
+ 80002424: 08077693 andi a3,a4,128
+ 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250>
+ 8000242c: 00f00693 li a3,15
+ 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250>
+ 80002434: 08076713 ori a4,a4,128
+ 80002438: 00e7b023 sd a4,0(a5)
+ 8000243c: 12050073 sfence.vma a0
+ 80002440: 00008067 ret
+ 80002444: 00005797 auipc a5,0x5
+ 80002448: 3807be23 sd zero,924(a5) # 800077e0 <freelist_tail>
+ 8000244c: f11ff06f j 8000235c <handle_fault+0x60>
+ 80002450: 10100613 li a2,257
+ 80002454: 04100713 li a4,65
+ 80002458: 00000697 auipc a3,0x0
+ 8000245c: 7b868693 addi a3,a3,1976 # 80002c10 <pass+0xc>
+ 80002460: fffff797 auipc a5,0xfffff
+ 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost>
+ 80002468: 03061613 slli a2,a2,0x30
+ 8000246c: 0007b503 ld a0,0(a5)
+ 80002470: 00168693 addi a3,a3,1
+ 80002474: 00c765b3 or a1,a4,a2
+ 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190>
+ 8000247c: fffff717 auipc a4,0xfffff
+ 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost>
+ 80002484: 0007b703 ld a4,0(a5)
+ 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180>
+ 8000248c: 0006c703 lbu a4,0(a3)
+ 80002490: fffff517 auipc a0,0xfffff
+ 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost>
+ 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170>
+ 8000249c: ff010113 addi sp,sp,-16
+ 800024a0: 00300513 li a0,3
+ 800024a4: 00113423 sd ra,8(sp)
+ 800024a8: d89ff0ef jal ra,80002230 <terminate>
+ 800024ac: 10100693 li a3,257
+ 800024b0: 04100713 li a4,65
+ 800024b4: 00000617 auipc a2,0x0
+ 800024b8: 7ec60613 addi a2,a2,2028 # 80002ca0 <pass+0x9c>
+ 800024bc: fffff797 auipc a5,0xfffff
+ 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost>
+ 800024c4: 03069693 slli a3,a3,0x30
+ 800024c8: 0007b503 ld a0,0(a5)
+ 800024cc: 00160613 addi a2,a2,1
+ 800024d0: 00d765b3 or a1,a4,a3
+ 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec>
+ 800024d8: fffff717 auipc a4,0xfffff
+ 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost>
+ 800024e0: 0007b703 ld a4,0(a5)
+ 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc>
+ 800024e8: 00064703 lbu a4,0(a2)
+ 800024ec: fffff517 auipc a0,0xfffff
+ 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost>
+ 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc>
+ 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0>
+ 800024fc: 10100693 li a3,257
+ 80002500: 04100713 li a4,65
+ 80002504: 00000617 auipc a2,0x0
+ 80002508: 7b460613 addi a2,a2,1972 # 80002cb8 <pass+0xb4>
+ 8000250c: fffff797 auipc a5,0xfffff
+ 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost>
+ 80002514: 03069693 slli a3,a3,0x30
+ 80002518: 0007b503 ld a0,0(a5)
+ 8000251c: 00160613 addi a2,a2,1
+ 80002520: 00d765b3 or a1,a4,a3
+ 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c>
+ 80002528: fffff717 auipc a4,0xfffff
+ 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost>
+ 80002530: 0007b703 ld a4,0(a5)
+ 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c>
+ 80002538: 00064703 lbu a4,0(a2)
+ 8000253c: fffff517 auipc a0,0xfffff
+ 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost>
+ 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c>
+ 80002548: f55ff06f j 8000249c <handle_fault+0x1a0>
+ 8000254c: 10100613 li a2,257
+ 80002550: 04100713 li a4,65
+ 80002554: 00000697 auipc a3,0x0
+ 80002558: 70468693 addi a3,a3,1796 # 80002c58 <pass+0x54>
+ 8000255c: fffff797 auipc a5,0xfffff
+ 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost>
+ 80002564: 03061613 slli a2,a2,0x30
+ 80002568: 0007b503 ld a0,0(a5)
+ 8000256c: 00168693 addi a3,a3,1
+ 80002570: 00c765b3 or a1,a4,a2
+ 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c>
+ 80002578: fffff717 auipc a4,0xfffff
+ 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost>
+ 80002580: 0007b703 ld a4,0(a5)
+ 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c>
+ 80002588: 0006c703 lbu a4,0(a3)
+ 8000258c: fffff517 auipc a0,0xfffff
+ 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost>
+ 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c>
+ 80002598: f05ff06f j 8000249c <handle_fault+0x1a0>
+
+000000008000259c <handle_trap>:
+ 8000259c: 11853583 ld a1,280(a0)
+ 800025a0: f9010113 addi sp,sp,-112
+ 800025a4: 06813023 sd s0,96(sp)
+ 800025a8: 06113423 sd ra,104(sp)
+ 800025ac: 04913c23 sd s1,88(sp)
+ 800025b0: 05213823 sd s2,80(sp)
+ 800025b4: 05313423 sd s3,72(sp)
+ 800025b8: 05413023 sd s4,64(sp)
+ 800025bc: 03513c23 sd s5,56(sp)
+ 800025c0: 03613823 sd s6,48(sp)
+ 800025c4: 03713423 sd s7,40(sp)
+ 800025c8: 03813023 sd s8,32(sp)
+ 800025cc: 01913c23 sd s9,24(sp)
+ 800025d0: 01a13823 sd s10,16(sp)
+ 800025d4: 01b13423 sd s11,8(sp)
+ 800025d8: 00800793 li a5,8
+ 800025dc: 00050413 mv s0,a0
+ 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178>
+ 800025e4: 00200793 li a5,2
+ 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac>
+ 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c>
+ 800025f0: 00100713 li a4,1
+ 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64>
+ 800025f8: 00f00793 li a5,15
+ 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248>
+ 80002600: 11043503 ld a0,272(s0)
+ 80002604: cf9ff0ef jal ra,800022fc <handle_fault>
+ 80002608: 00040513 mv a0,s0
+ 8000260c: 06013403 ld s0,96(sp)
+ 80002610: 06813083 ld ra,104(sp)
+ 80002614: 05813483 ld s1,88(sp)
+ 80002618: 05013903 ld s2,80(sp)
+ 8000261c: 04813983 ld s3,72(sp)
+ 80002620: 04013a03 ld s4,64(sp)
+ 80002624: 03813a83 ld s5,56(sp)
+ 80002628: 03013b03 ld s6,48(sp)
+ 8000262c: 02813b83 ld s7,40(sp)
+ 80002630: 02013c03 ld s8,32(sp)
+ 80002634: 01813c83 ld s9,24(sp)
+ 80002638: 01013d03 ld s10,16(sp)
+ 8000263c: 00813d83 ld s11,8(sp)
+ 80002640: 07010113 addi sp,sp,112
+ 80002644: 9f9fd06f j 8000003c <pop_tf>
+ 80002648: 10853703 ld a4,264(a0)
+ 8000264c: 00377793 andi a5,a4,3
+ 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128>
+ 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0>
+ 80002658: 00301073 fssr zero
+ 8000265c: 00072703 lw a4,0(a4)
+ 80002660: 0007a783 lw a5,0(a5)
+ 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120>
+ 80002668: 10100513 li a0,257
+ 8000266c: 04100793 li a5,65
+ 80002670: 00000697 auipc a3,0x0
+ 80002674: 72068693 addi a3,a3,1824 # 80002d90 <pass+0x18c>
+ 80002678: fffff717 auipc a4,0xfffff
+ 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost>
+ 80002680: 03051513 slli a0,a0,0x30
+ 80002684: 00073583 ld a1,0(a4)
+ 80002688: 00168693 addi a3,a3,1
+ 8000268c: 00a7e633 or a2,a5,a0
+ 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108>
+ 80002694: fffff797 auipc a5,0xfffff
+ 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost>
+ 8000269c: 00073783 ld a5,0(a4)
+ 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8>
+ 800026a4: 0006c783 lbu a5,0(a3)
+ 800026a8: fffff597 auipc a1,0xfffff
+ 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost>
+ 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8>
+ 800026b4: 00300513 li a0,3
+ 800026b8: b79ff0ef jal ra,80002230 <terminate>
+ 800026bc: 00100513 li a0,1
+ 800026c0: b71ff0ef jal ra,80002230 <terminate>
+ 800026c4: 10100793 li a5,257
+ 800026c8: 00000617 auipc a2,0x0
+ 800026cc: 6a060613 addi a2,a2,1696 # 80002d68 <pass+0x164>
+ 800026d0: 04100693 li a3,65
+ 800026d4: fffff717 auipc a4,0xfffff
+ 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost>
+ 800026dc: 03079793 slli a5,a5,0x30
+ 800026e0: 00073503 ld a0,0(a4)
+ 800026e4: 00160613 addi a2,a2,1
+ 800026e8: 00f6e5b3 or a1,a3,a5
+ 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164>
+ 800026f0: fffff697 auipc a3,0xfffff
+ 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost>
+ 800026f8: 00073683 ld a3,0(a4)
+ 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154>
+ 80002700: 00064683 lbu a3,0(a2)
+ 80002704: fffff517 auipc a0,0xfffff
+ 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost>
+ 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144>
+ 80002710: fa5ff06f j 800026b4 <handle_trap+0x118>
+ 80002714: 05052983 lw s3,80(a0)
+ 80002718: 00001437 lui s0,0x1
+ 8000271c: 00005d17 auipc s10,0x5
+ 80002720: cd4d0d13 addi s10,s10,-812 # 800073f0 <user_mapping>
+ 80002724: 00001b97 auipc s7,0x1
+ 80002728: 8dcb8b93 addi s7,s7,-1828 # 80003000 <begin_signature>
+ 8000272c: 00040b37 lui s6,0x40
+ 80002730: ffe00ab7 lui s5,0xffe00
+ 80002734: 00005a17 auipc s4,0x5
+ 80002738: 0aca0a13 addi s4,s4,172 # 800077e0 <freelist_tail>
+ 8000273c: 0003f937 lui s2,0x3f
+ 80002740: 01c0006f j 8000275c <handle_trap+0x1c0>
+ 80002744: 00f73423 sd a5,8(a4)
+ 80002748: 00005717 auipc a4,0x5
+ 8000274c: 08f73c23 sd a5,152(a4) # 800077e0 <freelist_tail>
+ 80002750: 000017b7 lui a5,0x1
+ 80002754: 00f40433 add s0,s0,a5
+ 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308>
+ 8000275c: 00c45793 srli a5,s0,0xc
+ 80002760: 00479493 slli s1,a5,0x4
+ 80002764: 009d0733 add a4,s10,s1
+ 80002768: 00073703 ld a4,0(a4)
+ 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4>
+ 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00>
+ 80002774: 00379793 slli a5,a5,0x3
+ 80002778: 00fb87b3 add a5,s7,a5
+ 8000277c: 0007bc03 ld s8,0(a5)
+ 80002780: 040c7793 andi a5,s8,64
+ 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0>
+ 80002788: 100b2cf3 csrrs s9,sstatus,s6
+ 8000278c: 01540db3 add s11,s0,s5
+ 80002790: 00001637 lui a2,0x1
+ 80002794: 000d8593 mv a1,s11
+ 80002798: 00040513 mv a0,s0
+ 8000279c: 975ff0ef jal ra,80002110 <memcmp>
+ 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220>
+ 800027a4: 080c7c13 andi s8,s8,128
+ 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298>
+ 800027ac: 00001637 lui a2,0x1
+ 800027b0: 000d8593 mv a1,s11
+ 800027b4: 00040513 mv a0,s0
+ 800027b8: 849ff0ef jal ra,80002000 <memcpy>
+ 800027bc: 009d07b3 add a5,s10,s1
+ 800027c0: 100c9073 csrw sstatus,s9
+ 800027c4: 000a3703 ld a4,0(s4)
+ 800027c8: 0007b023 sd zero,0(a5)
+ 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8>
+ 800027d0: 00005717 auipc a4,0x5
+ 800027d4: 00f73823 sd a5,16(a4) # 800077e0 <freelist_tail>
+ 800027d8: 00005717 auipc a4,0x5
+ 800027dc: 00f73823 sd a5,16(a4) # 800077e8 <freelist_head>
+ 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4>
+ 800027e4: 10100793 li a5,257
+ 800027e8: 04100613 li a2,65
+ 800027ec: 00000697 auipc a3,0x0
+ 800027f0: 5d468693 addi a3,a3,1492 # 80002dc0 <pass+0x1bc>
+ 800027f4: fffff717 auipc a4,0xfffff
+ 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost>
+ 800027fc: 03079793 slli a5,a5,0x30
+ 80002800: 00073503 ld a0,0(a4)
+ 80002804: 00168693 addi a3,a3,1
+ 80002808: 00f665b3 or a1,a2,a5
+ 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284>
+ 80002810: fffff617 auipc a2,0xfffff
+ 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost>
+ 80002818: 00073603 ld a2,0(a4)
+ 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274>
+ 80002820: 0006c603 lbu a2,0(a3)
+ 80002824: ffffe517 auipc a0,0xffffe
+ 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost>
+ 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264>
+ 80002830: e85ff06f j 800026b4 <handle_trap+0x118>
+ 80002834: 10100793 li a5,257
+ 80002838: 04100613 li a2,65
+ 8000283c: 00000697 auipc a3,0x0
+ 80002840: 4f468693 addi a3,a3,1268 # 80002d30 <pass+0x12c>
+ 80002844: ffffe717 auipc a4,0xffffe
+ 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost>
+ 8000284c: 03079793 slli a5,a5,0x30
+ 80002850: 00168693 addi a3,a3,1
+ 80002854: 00f665b3 or a1,a2,a5
+ 80002858: 00073603 ld a2,0(a4)
+ 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310>
+ 80002860: ffffe617 auipc a2,0xffffe
+ 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost>
+ 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc>
+ 8000286c: 10100793 li a5,257
+ 80002870: 04100613 li a2,65
+ 80002874: 00000697 auipc a3,0x0
+ 80002878: 48468693 addi a3,a3,1156 # 80002cf8 <pass+0xf4>
+ 8000287c: ffffe717 auipc a4,0xffffe
+ 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost>
+ 80002884: 03079793 slli a5,a5,0x30
+ 80002888: 00168693 addi a3,a3,1
+ 8000288c: 00f665b3 or a1,a2,a5
+ 80002890: 00073603 ld a2,0(a4)
+ 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324>
+ 80002898: ffffe617 auipc a2,0xffffe
+ 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost>
+ 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4>
+ 800028a4: 00098513 mv a0,s3
+ 800028a8: 989ff0ef jal ra,80002230 <terminate>
+ 800028ac: 0006c603 lbu a2,0(a3)
+ 800028b0: ffffe517 auipc a0,0xffffe
+ 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost>
+ 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4>
+ 800028bc: df9ff06f j 800026b4 <handle_trap+0x118>
+ 800028c0: 0006c603 lbu a2,0(a3)
+ 800028c4: ffffe517 auipc a0,0xffffe
+ 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost>
+ 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec>
+ 800028d0: de5ff06f j 800026b4 <handle_trap+0x118>
+
+00000000800028d4 <vm_boot>:
+ 800028d4: f14027f3 csrr a5,mhartid
+ 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198>
+ 800028dc: 00001697 auipc a3,0x1
+ 800028e0: 72468693 addi a3,a3,1828 # 80004000 <begin_signature+0x1000>
+ 800028e4: 00002717 auipc a4,0x2
+ 800028e8: 71c70713 addi a4,a4,1820 # 80005000 <begin_signature+0x2000>
+ 800028ec: 00c6d693 srli a3,a3,0xc
+ 800028f0: 00c75713 srli a4,a4,0xc
+ 800028f4: 00003797 auipc a5,0x3
+ 800028f8: 70c78793 addi a5,a5,1804 # 80006000 <begin_signature+0x3000>
+ 800028fc: 00a69693 slli a3,a3,0xa
+ 80002900: 00a71713 slli a4,a4,0xa
+ 80002904: 0016e693 ori a3,a3,1
+ 80002908: 00176713 ori a4,a4,1
+ 8000290c: 00c7d793 srli a5,a5,0xc
+ 80002910: 00000897 auipc a7,0x0
+ 80002914: 6ed8b823 sd a3,1776(a7) # 80003000 <begin_signature>
+ 80002918: 00a79793 slli a5,a5,0xa
+ 8000291c: 00001697 auipc a3,0x1
+ 80002920: 6ce6be23 sd a4,1756(a3) # 80003ff8 <begin_signature+0xff8>
+ 80002924: 20000737 lui a4,0x20000
+ 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31>
+ 8000292c: fff00593 li a1,-1
+ 80002930: 0017e793 ori a5,a5,1
+ 80002934: 00000617 auipc a2,0x0
+ 80002938: 6cc60613 addi a2,a2,1740 # 80003000 <begin_signature>
+ 8000293c: ed010113 addi sp,sp,-304
+ 80002940: 03f59813 slli a6,a1,0x3f
+ 80002944: 00003697 auipc a3,0x3
+ 80002948: 6ae6ba23 sd a4,1716(a3) # 80005ff8 <begin_signature+0x2ff8>
+ 8000294c: 00001717 auipc a4,0x1
+ 80002950: 6af73a23 sd a5,1716(a4) # 80004000 <begin_signature+0x1000>
+ 80002954: 00c65793 srli a5,a2,0xc
+ 80002958: 12113423 sd ra,296(sp)
+ 8000295c: 12813023 sd s0,288(sp)
+ 80002960: 0107e7b3 or a5,a5,a6
+ 80002964: 18079073 csrw satp,a5
+ 80002968: 01f00793 li a5,31
+ 8000296c: 00000297 auipc t0,0x0
+ 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac>
+ 80002974: 305292f3 csrrw t0,mtvec,t0
+ 80002978: 3b059073 csrw pmpaddr0,a1
+ 8000297c: 3a079073 csrw pmpcfg0,a5
+ 80002980: bff00813 li a6,-1025
+ 80002984: 01581813 slli a6,a6,0x15
+ 80002988: ffffd797 auipc a5,0xffffd
+ 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry>
+ 80002990: 010787b3 add a5,a5,a6
+ 80002994: 10579073 csrw stvec,a5
+ 80002998: 340027f3 csrr a5,mscratch
+ 8000299c: 010787b3 add a5,a5,a6
+ 800029a0: 14079073 csrw sscratch,a5
+ 800029a4: 0000b7b7 lui a5,0xb
+ 800029a8: 1007879b addiw a5,a5,256
+ 800029ac: 30279073 csrw medeleg,a5
+ 800029b0: 0001e7b7 lui a5,0x1e
+ 800029b4: 30079073 csrw mstatus,a5
+ 800029b8: 30405073 csrwi mie,0
+ 800029bc: 00004697 auipc a3,0x4
+ 800029c0: 64468693 addi a3,a3,1604 # 80007000 <freelist_nodes>
+ 800029c4: 010687b3 add a5,a3,a6
+ 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20>
+ 800029cc: 00005617 auipc a2,0x5
+ 800029d0: e0f63e23 sd a5,-484(a2) # 800077e8 <freelist_head>
+ 800029d4: 00005797 auipc a5,0x5
+ 800029d8: e0e7b623 sd a4,-500(a5) # 800077e0 <freelist_tail>
+ 800029dc: 00005317 auipc t1,0x5
+ 800029e0: a1430313 addi t1,t1,-1516 # 800073f0 <user_mapping>
+ 800029e4: 02e00793 li a5,46
+ 800029e8: 000808b7 lui a7,0x80
+ 800029ec: 01080813 addi a6,a6,16
+ 800029f0: 03f7871b addiw a4,a5,63
+ 800029f4: 02071713 slli a4,a4,0x20
+ 800029f8: 0017d61b srliw a2,a5,0x1
+ 800029fc: 02075713 srli a4,a4,0x20
+ 80002a00: 00c7c7b3 xor a5,a5,a2
+ 80002a04: 01170733 add a4,a4,a7
+ 80002a08: 010685b3 add a1,a3,a6
+ 80002a0c: 00c71713 slli a4,a4,0xc
+ 80002a10: 0057979b slliw a5,a5,0x5
+ 80002a14: 00e6b023 sd a4,0(a3)
+ 80002a18: 00b6b423 sd a1,8(a3)
+ 80002a1c: 0207f793 andi a5,a5,32
+ 80002a20: 01068693 addi a3,a3,16
+ 80002a24: 00c7e7b3 or a5,a5,a2
+ 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c>
+ 80002a2c: 00050413 mv s0,a0
+ 80002a30: 12000613 li a2,288
+ 80002a34: 00000593 li a1,0
+ 80002a38: 00010513 mv a0,sp
+ 80002a3c: 00005797 auipc a5,0x5
+ 80002a40: 9a07b623 sd zero,-1620(a5) # 800073e8 <freelist_nodes+0x3e8>
+ 80002a44: e18ff0ef jal ra,8000205c <memset>
+ 80002a48: 800007b7 lui a5,0x80000
+ 80002a4c: 00f40433 add s0,s0,a5
+ 80002a50: 00010513 mv a0,sp
+ 80002a54: 10813423 sd s0,264(sp)
+ 80002a58: de4fd0ef jal ra,8000003c <pop_tf>
+ 80002a5c: 12813083 ld ra,296(sp)
+ 80002a60: 12013403 ld s0,288(sp)
+ 80002a64: 13010113 addi sp,sp,304
+ 80002a68: 00008067 ret
+ 80002a6c: 00cd57b7 lui a5,0xcd5
+ 80002a70: 000805b7 lui a1,0x80
+ 80002a74: eaa78793 addi a5,a5,-342 # cd4eaa <_start-0x7f32b156>
+ 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004>
+ 80002a7c: 00100613 li a2,1
+ 80002a80: 00b7f733 and a4,a5,a1
+ 80002a84: 01f61613 slli a2,a2,0x1f
+ 80002a88: 0017f693 andi a3,a5,1
+ 80002a8c: 02079793 slli a5,a5,0x20
+ 80002a90: 0207d793 srli a5,a5,0x20
+ 80002a94: 00c70733 add a4,a4,a2
+ 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8>
+ 80002a9c: 0007202f amoadd.w zero,zero,(a4)
+ 80002aa0: 0017d793 srli a5,a5,0x1
+ 80002aa4: 00b7f733 and a4,a5,a1
+ 80002aa8: 0017f693 andi a3,a5,1
+ 80002aac: 02079793 slli a5,a5,0x20
+ 80002ab0: 0207d793 srli a5,a5,0x20
+ 80002ab4: 00c70733 add a4,a4,a2
+ 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8>
+ 80002abc: 00072003 lw zero,0(a4)
+ 80002ac0: 0017d793 srli a5,a5,0x1
+ 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0>
+
+0000000080002ac8 <userstart>:
+ 80002ac8: 00301073 fssr zero
+
+0000000080002acc <test_2>:
+ 80002acc: fff0051b addiw a0,zero,-1
+ 80002ad0: 03451513 slli a0,a0,0x34
+ 80002ad4: f2050553 fmv.d.x fa0,a0
+ 80002ad8: e2051553 fclass.d a0,fa0
+ 80002adc: 00100e93 li t4,1
+ 80002ae0: 00200193 li gp,2
+ 80002ae4: 11d51863 bne a0,t4,80002bf4 <fail>
+
+0000000080002ae8 <test_3>:
+ 80002ae8: bff0051b addiw a0,zero,-1025
+ 80002aec: 03451513 slli a0,a0,0x34
+ 80002af0: f2050553 fmv.d.x fa0,a0
+ 80002af4: e2051553 fclass.d a0,fa0
+ 80002af8: 00200e93 li t4,2
+ 80002afc: 00300193 li gp,3
+ 80002b00: 0fd51a63 bne a0,t4,80002bf4 <fail>
+
+0000000080002b04 <test_4>:
+ 80002b04: 8010051b addiw a0,zero,-2047
+ 80002b08: 03451513 slli a0,a0,0x34
+ 80002b0c: fff50513 addi a0,a0,-1
+ 80002b10: f2050553 fmv.d.x fa0,a0
+ 80002b14: e2051553 fclass.d a0,fa0
+ 80002b18: 00400e93 li t4,4
+ 80002b1c: 00400193 li gp,4
+ 80002b20: 0dd51a63 bne a0,t4,80002bf4 <fail>
+
+0000000080002b24 <test_5>:
+ 80002b24: fff0051b addiw a0,zero,-1
+ 80002b28: 03f51513 slli a0,a0,0x3f
+ 80002b2c: f2050553 fmv.d.x fa0,a0
+ 80002b30: e2051553 fclass.d a0,fa0
+ 80002b34: 00800e93 li t4,8
+ 80002b38: 00500193 li gp,5
+ 80002b3c: 0bd51c63 bne a0,t4,80002bf4 <fail>
+
+0000000080002b40 <test_6>:
+ 80002b40: 00000513 li a0,0
+ 80002b44: f2050553 fmv.d.x fa0,a0
+ 80002b48: e2051553 fclass.d a0,fa0
+ 80002b4c: 01000e93 li t4,16
+ 80002b50: 00600193 li gp,6
+ 80002b54: 0bd51063 bne a0,t4,80002bf4 <fail>
+
+0000000080002b58 <test_7>:
+ 80002b58: 0010051b addiw a0,zero,1
+ 80002b5c: 03451513 slli a0,a0,0x34
+ 80002b60: fff50513 addi a0,a0,-1
+ 80002b64: f2050553 fmv.d.x fa0,a0
+ 80002b68: e2051553 fclass.d a0,fa0
+ 80002b6c: 02000e93 li t4,32
+ 80002b70: 00700193 li gp,7
+ 80002b74: 09d51063 bne a0,t4,80002bf4 <fail>
+
+0000000080002b78 <test_8>:
+ 80002b78: 3ff0051b addiw a0,zero,1023
+ 80002b7c: 03451513 slli a0,a0,0x34
+ 80002b80: f2050553 fmv.d.x fa0,a0
+ 80002b84: e2051553 fclass.d a0,fa0
+ 80002b88: 04000e93 li t4,64
+ 80002b8c: 00800193 li gp,8
+ 80002b90: 07d51263 bne a0,t4,80002bf4 <fail>
+
+0000000080002b94 <test_9>:
+ 80002b94: 7ff0051b addiw a0,zero,2047
+ 80002b98: 03451513 slli a0,a0,0x34
+ 80002b9c: f2050553 fmv.d.x fa0,a0
+ 80002ba0: e2051553 fclass.d a0,fa0
+ 80002ba4: 08000e93 li t4,128
+ 80002ba8: 00900193 li gp,9
+ 80002bac: 05d51463 bne a0,t4,80002bf4 <fail>
+
+0000000080002bb0 <test_10>:
+ 80002bb0: 7ff0051b addiw a0,zero,2047
+ 80002bb4: 03451513 slli a0,a0,0x34
+ 80002bb8: 00150513 addi a0,a0,1
+ 80002bbc: f2050553 fmv.d.x fa0,a0
+ 80002bc0: e2051553 fclass.d a0,fa0
+ 80002bc4: 10000e93 li t4,256
+ 80002bc8: 00a00193 li gp,10
+ 80002bcc: 03d51463 bne a0,t4,80002bf4 <fail>
+
+0000000080002bd0 <test_11>:
+ 80002bd0: 00001537 lui a0,0x1
+ 80002bd4: fff5051b addiw a0,a0,-1
+ 80002bd8: 03351513 slli a0,a0,0x33
+ 80002bdc: f2050553 fmv.d.x fa0,a0
+ 80002be0: e2051553 fclass.d a0,fa0
+ 80002be4: 20000e93 li t4,512
+ 80002be8: 00b00193 li gp,11
+ 80002bec: 01d51463 bne a0,t4,80002bf4 <fail>
+ 80002bf0: 00301a63 bne zero,gp,80002c04 <pass>
+
+0000000080002bf4 <fail>:
+ 80002bf4: 00119513 slli a0,gp,0x1
+ 80002bf8: 00050063 beqz a0,80002bf8 <fail+0x4>
+ 80002bfc: 00156513 ori a0,a0,1
+ 80002c00: 00000073 ecall
+
+0000000080002c04 <pass>:
+ 80002c04: 00100513 li a0,1
+ 80002c08: 00000073 ecall
+ 80002c0c: c0001073 unimp
diff --git a/test/riscv-tests/rv64ud-v-fclass.elf b/test/riscv-tests/rv64ud-v-fclass.elf
new file mode 100644
index 0000000..5db32bb
--- /dev/null
+++ b/test/riscv-tests/rv64ud-v-fclass.elf
Binary files differ
diff --git a/test/riscv-tests/rv64ud-v-fcmp.dump b/test/riscv-tests/rv64ud-v-fcmp.dump
new file mode 100644
index 0000000..c6b8946
--- /dev/null
+++ b/test/riscv-tests/rv64ud-v-fcmp.dump
@@ -0,0 +1,1306 @@
+
+rv64ud-v-fcmp: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 00c0006f j 8000000c <handle_reset>
+
+0000000080000004 <nmi_vector>:
+ 80000004: 2580206f j 8000225c <wtf>
+
+0000000080000008 <trap_vector>:
+ 80000008: 2540206f j 8000225c <wtf>
+
+000000008000000c <handle_reset>:
+ 8000000c: 00000297 auipc t0,0x0
+ 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+ 80000014: 30529073 csrw mtvec,t0
+ 80000018: 00009117 auipc sp,0x9
+ 8000001c: 6b810113 addi sp,sp,1720 # 800096d0 <_end+0xee0>
+ 80000020: f14022f3 csrr t0,mhartid
+ 80000024: 00c29293 slli t0,t0,0xc
+ 80000028: 00510133 add sp,sp,t0
+ 8000002c: 34011073 csrw mscratch,sp
+ 80000030: 00003517 auipc a0,0x3
+ 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart>
+ 80000038: 09d0206f j 800028d4 <vm_boot>
+
+000000008000003c <pop_tf>:
+ 8000003c: 10853283 ld t0,264(a0)
+ 80000040: 14129073 csrw sepc,t0
+ 80000044: 00853083 ld ra,8(a0)
+ 80000048: 01053103 ld sp,16(a0)
+ 8000004c: 01853183 ld gp,24(a0)
+ 80000050: 02053203 ld tp,32(a0)
+ 80000054: 02853283 ld t0,40(a0)
+ 80000058: 03053303 ld t1,48(a0)
+ 8000005c: 03853383 ld t2,56(a0)
+ 80000060: 04053403 ld s0,64(a0)
+ 80000064: 04853483 ld s1,72(a0)
+ 80000068: 05853583 ld a1,88(a0)
+ 8000006c: 06053603 ld a2,96(a0)
+ 80000070: 06853683 ld a3,104(a0)
+ 80000074: 07053703 ld a4,112(a0)
+ 80000078: 07853783 ld a5,120(a0)
+ 8000007c: 08053803 ld a6,128(a0)
+ 80000080: 08853883 ld a7,136(a0)
+ 80000084: 09053903 ld s2,144(a0)
+ 80000088: 09853983 ld s3,152(a0)
+ 8000008c: 0a053a03 ld s4,160(a0)
+ 80000090: 0a853a83 ld s5,168(a0)
+ 80000094: 0b053b03 ld s6,176(a0)
+ 80000098: 0b853b83 ld s7,184(a0)
+ 8000009c: 0c053c03 ld s8,192(a0)
+ 800000a0: 0c853c83 ld s9,200(a0)
+ 800000a4: 0d053d03 ld s10,208(a0)
+ 800000a8: 0d853d83 ld s11,216(a0)
+ 800000ac: 0e053e03 ld t3,224(a0)
+ 800000b0: 0e853e83 ld t4,232(a0)
+ 800000b4: 0f053f03 ld t5,240(a0)
+ 800000b8: 0f853f83 ld t6,248(a0)
+ 800000bc: 05053503 ld a0,80(a0)
+ 800000c0: 10200073 sret
+
+00000000800000c4 <trap_entry>:
+ 800000c4: 14011173 csrrw sp,sscratch,sp
+ 800000c8: 00113423 sd ra,8(sp)
+ 800000cc: 00313c23 sd gp,24(sp)
+ 800000d0: 02413023 sd tp,32(sp)
+ 800000d4: 02513423 sd t0,40(sp)
+ 800000d8: 02613823 sd t1,48(sp)
+ 800000dc: 02713c23 sd t2,56(sp)
+ 800000e0: 04813023 sd s0,64(sp)
+ 800000e4: 04913423 sd s1,72(sp)
+ 800000e8: 04a13823 sd a0,80(sp)
+ 800000ec: 04b13c23 sd a1,88(sp)
+ 800000f0: 06c13023 sd a2,96(sp)
+ 800000f4: 06d13423 sd a3,104(sp)
+ 800000f8: 06e13823 sd a4,112(sp)
+ 800000fc: 06f13c23 sd a5,120(sp)
+ 80000100: 09013023 sd a6,128(sp)
+ 80000104: 09113423 sd a7,136(sp)
+ 80000108: 09213823 sd s2,144(sp)
+ 8000010c: 09313c23 sd s3,152(sp)
+ 80000110: 0b413023 sd s4,160(sp)
+ 80000114: 0b513423 sd s5,168(sp)
+ 80000118: 0b613823 sd s6,176(sp)
+ 8000011c: 0b713c23 sd s7,184(sp)
+ 80000120: 0d813023 sd s8,192(sp)
+ 80000124: 0d913423 sd s9,200(sp)
+ 80000128: 0da13823 sd s10,208(sp)
+ 8000012c: 0db13c23 sd s11,216(sp)
+ 80000130: 0fc13023 sd t3,224(sp)
+ 80000134: 0fd13423 sd t4,232(sp)
+ 80000138: 0fe13823 sd t5,240(sp)
+ 8000013c: 0ff13c23 sd t6,248(sp)
+ 80000140: 140112f3 csrrw t0,sscratch,sp
+ 80000144: 00513823 sd t0,16(sp)
+ 80000148: 100022f3 csrr t0,sstatus
+ 8000014c: 10513023 sd t0,256(sp)
+ 80000150: 141022f3 csrr t0,sepc
+ 80000154: 10513423 sd t0,264(sp)
+ 80000158: 143022f3 csrr t0,stval
+ 8000015c: 10513823 sd t0,272(sp)
+ 80000160: 142022f3 csrr t0,scause
+ 80000164: 10513c23 sd t0,280(sp)
+ 80000168: 00010513 mv a0,sp
+ 8000016c: 4300206f j 8000259c <handle_trap>
+
+Disassembly of section .text:
+
+0000000080002000 <memcpy>:
+ 80002000: 00c5e7b3 or a5,a1,a2
+ 80002004: 00f567b3 or a5,a0,a5
+ 80002008: 0077f793 andi a5,a5,7
+ 8000200c: 00c506b3 add a3,a0,a2
+ 80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+ 80002014: 00c58633 add a2,a1,a2
+ 80002018: 00050793 mv a5,a0
+ 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+ 80002020: 00158593 addi a1,a1,1
+ 80002024: fff5c703 lbu a4,-1(a1)
+ 80002028: 00178793 addi a5,a5,1
+ 8000202c: fee78fa3 sb a4,-1(a5)
+ 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+ 80002034: 00008067 ret
+ 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+ 8000203c: 00050793 mv a5,a0
+ 80002040: 00858593 addi a1,a1,8
+ 80002044: ff85b703 ld a4,-8(a1)
+ 80002048: 00878793 addi a5,a5,8
+ 8000204c: fee7bc23 sd a4,-8(a5)
+ 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+ 80002054: 00008067 ret
+ 80002058: 00008067 ret
+
+000000008000205c <memset>:
+ 8000205c: 00c567b3 or a5,a0,a2
+ 80002060: 0077f793 andi a5,a5,7
+ 80002064: 00c50633 add a2,a0,a2
+ 80002068: 0ff5f593 andi a1,a1,255
+ 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c>
+ 80002070: 00050793 mv a5,a0
+ 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c>
+ 80002078: 00178793 addi a5,a5,1
+ 8000207c: feb78fa3 sb a1,-1(a5)
+ 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+ 80002084: 00008067 ret
+ 80002088: 00859793 slli a5,a1,0x8
+ 8000208c: 00b7e5b3 or a1,a5,a1
+ 80002090: 01059793 slli a5,a1,0x10
+ 80002094: 00b7e7b3 or a5,a5,a1
+ 80002098: 02079593 slli a1,a5,0x20
+ 8000209c: 00f5e5b3 or a1,a1,a5
+ 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28>
+ 800020a4: 00050793 mv a5,a0
+ 800020a8: 00878793 addi a5,a5,8
+ 800020ac: feb7bc23 sd a1,-8(a5)
+ 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c>
+ 800020b4: 00008067 ret
+ 800020b8: 00008067 ret
+
+00000000800020bc <strlen>:
+ 800020bc: 00054783 lbu a5,0(a0)
+ 800020c0: 00050713 mv a4,a0
+ 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20>
+ 800020c8: 00150513 addi a0,a0,1
+ 800020cc: 00054783 lbu a5,0(a0)
+ 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc>
+ 800020d4: 40e50533 sub a0,a0,a4
+ 800020d8: 00008067 ret
+ 800020dc: 00000513 li a0,0
+ 800020e0: 00008067 ret
+
+00000000800020e4 <strcmp>:
+ 800020e4: 00150513 addi a0,a0,1
+ 800020e8: fff54783 lbu a5,-1(a0)
+ 800020ec: 00158593 addi a1,a1,1
+ 800020f0: fff5c703 lbu a4,-1(a1)
+ 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24>
+ 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp>
+ 800020fc: 0007851b sext.w a0,a5
+ 80002100: 40e5053b subw a0,a0,a4
+ 80002104: 00008067 ret
+ 80002108: 00000513 li a0,0
+ 8000210c: ff5ff06f j 80002100 <strcmp+0x1c>
+
+0000000080002110 <memcmp>:
+ 80002110: 00b567b3 or a5,a0,a1
+ 80002114: 0077f793 andi a5,a5,7
+ 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c>
+ 8000211c: ff867693 andi a3,a2,-8
+ 80002120: 00d506b3 add a3,a0,a3
+ 80002124: 00050813 mv a6,a0
+ 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c>
+ 8000212c: 00053703 ld a4,0(a0)
+ 80002130: 0005b783 ld a5,0(a1)
+ 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38>
+ 80002138: 0240006f j 8000215c <memcmp+0x4c>
+ 8000213c: 00053703 ld a4,0(a0)
+ 80002140: 0005b783 ld a5,0(a1)
+ 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44>
+ 80002148: 00850513 addi a0,a0,8
+ 8000214c: 00858593 addi a1,a1,8
+ 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c>
+ 80002154: 41050833 sub a6,a0,a6
+ 80002158: 41060633 sub a2,a2,a6
+ 8000215c: 00c58633 add a2,a1,a2
+ 80002160: 0140006f j 80002174 <memcmp+0x64>
+ 80002164: 00158593 addi a1,a1,1
+ 80002168: fff54783 lbu a5,-1(a0)
+ 8000216c: fff5c703 lbu a4,-1(a1)
+ 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74>
+ 80002174: 00150513 addi a0,a0,1
+ 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54>
+ 8000217c: 00000513 li a0,0
+ 80002180: 00008067 ret
+ 80002184: 40e7853b subw a0,a5,a4
+ 80002188: 00008067 ret
+
+000000008000218c <strcpy>:
+ 8000218c: 00050793 mv a5,a0
+ 80002190: 00158593 addi a1,a1,1
+ 80002194: fff5c703 lbu a4,-1(a1)
+ 80002198: 00178793 addi a5,a5,1
+ 8000219c: fee78fa3 sb a4,-1(a5)
+ 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4>
+ 800021a4: 00008067 ret
+
+00000000800021a8 <atol>:
+ 800021a8: 00054783 lbu a5,0(a0)
+ 800021ac: 02000713 li a4,32
+ 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18>
+ 800021b4: 00150513 addi a0,a0,1
+ 800021b8: 00054783 lbu a5,0(a0)
+ 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc>
+ 800021c0: fd57871b addiw a4,a5,-43
+ 800021c4: 0fd77713 andi a4,a4,253
+ 800021c8: 04070263 beqz a4,8000220c <atol+0x64>
+ 800021cc: 00054683 lbu a3,0(a0)
+ 800021d0: 00050793 mv a5,a0
+ 800021d4: 00000613 li a2,0
+ 800021d8: 04068863 beqz a3,80002228 <atol+0x80>
+ 800021dc: 00000513 li a0,0
+ 800021e0: 00178793 addi a5,a5,1
+ 800021e4: fd06859b addiw a1,a3,-48
+ 800021e8: 00251713 slli a4,a0,0x2
+ 800021ec: 0007c683 lbu a3,0(a5)
+ 800021f0: 00a70533 add a0,a4,a0
+ 800021f4: 00151513 slli a0,a0,0x1
+ 800021f8: 00a58533 add a0,a1,a0
+ 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38>
+ 80002200: 00060463 beqz a2,80002208 <atol+0x60>
+ 80002204: 40a00533 neg a0,a0
+ 80002208: 00008067 ret
+ 8000220c: 00154683 lbu a3,1(a0)
+ 80002210: fd378793 addi a5,a5,-45
+ 80002214: 0017b613 seqz a2,a5
+ 80002218: 00150793 addi a5,a0,1
+ 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34>
+ 80002220: 00000513 li a0,0
+ 80002224: fddff06f j 80002200 <atol+0x58>
+ 80002228: 00000513 li a0,0
+ 8000222c: 00008067 ret
+
+0000000080002230 <terminate>:
+ 80002230: fffff797 auipc a5,0xfffff
+ 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost>
+ 80002238: 0007b703 ld a4,0(a5)
+ 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20>
+ 80002240: fffff717 auipc a4,0xfffff
+ 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost>
+ 80002248: 0007b703 ld a4,0(a5)
+ 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10>
+ 80002250: fffff797 auipc a5,0xfffff
+ 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost>
+ 80002258: 0000006f j 80002258 <terminate+0x28>
+
+000000008000225c <wtf>:
+ 8000225c: ff010113 addi sp,sp,-16
+ 80002260: 34900513 li a0,841
+ 80002264: 00113423 sd ra,8(sp)
+ 80002268: fc9ff0ef jal ra,80002230 <terminate>
+
+000000008000226c <printhex>:
+ 8000226c: fe010113 addi sp,sp,-32
+ 80002270: 01710713 addi a4,sp,23
+ 80002274: 00710813 addi a6,sp,7
+ 80002278: 00900593 li a1,9
+ 8000227c: 00f57793 andi a5,a0,15
+ 80002280: 03000613 li a2,48
+ 80002284: 0ff7f693 andi a3,a5,255
+ 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24>
+ 8000228c: 05700613 li a2,87
+ 80002290: 00c687bb addw a5,a3,a2
+ 80002294: 00f70023 sb a5,0(a4)
+ 80002298: fff70713 addi a4,a4,-1
+ 8000229c: 00455513 srli a0,a0,0x4
+ 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10>
+ 800022a4: 00814783 lbu a5,8(sp)
+ 800022a8: 00010c23 sb zero,24(sp)
+ 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88>
+ 800022b0: 10100513 li a0,257
+ 800022b4: 00810693 addi a3,sp,8
+ 800022b8: fffff717 auipc a4,0xfffff
+ 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost>
+ 800022c0: 03051513 slli a0,a0,0x30
+ 800022c4: 00073583 ld a1,0(a4)
+ 800022c8: 00168693 addi a3,a3,1
+ 800022cc: 00a7e633 or a2,a5,a0
+ 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78>
+ 800022d4: fffff797 auipc a5,0xfffff
+ 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost>
+ 800022dc: 00073783 ld a5,0(a4)
+ 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68>
+ 800022e4: 0006c783 lbu a5,0(a3)
+ 800022e8: fffff597 auipc a1,0xfffff
+ 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost>
+ 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58>
+ 800022f4: 02010113 addi sp,sp,32
+ 800022f8: 00008067 ret
+
+00000000800022fc <handle_fault>:
+ 800022fc: fffff8b7 lui a7,0xfffff
+ 80002300: 01150733 add a4,a0,a7
+ 80002304: 0003e7b7 lui a5,0x3e
+ 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154>
+ 8000230c: 00c55693 srli a3,a0,0xc
+ 80002310: 60068813 addi a6,a3,1536
+ 80002314: 00002617 auipc a2,0x2
+ 80002318: cec60613 addi a2,a2,-788 # 80004000 <pt>
+ 8000231c: 00381793 slli a5,a6,0x3
+ 80002320: 00f607b3 add a5,a2,a5
+ 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000>
+ 80002328: 01157533 and a0,a0,a7
+ 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110>
+ 80002330: 00006797 auipc a5,0x6
+ 80002334: 4b878793 addi a5,a5,1208 # 800087e8 <freelist_head>
+ 80002338: 0007b583 ld a1,0(a5)
+ 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0>
+ 80002340: 0085b783 ld a5,8(a1)
+ 80002344: 00006717 auipc a4,0x6
+ 80002348: 49c70713 addi a4,a4,1180 # 800087e0 <freelist_tail>
+ 8000234c: 00073703 ld a4,0(a4)
+ 80002350: 00006897 auipc a7,0x6
+ 80002354: 48f8bc23 sd a5,1176(a7) # 800087e8 <freelist_head>
+ 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148>
+ 8000235c: 0005b783 ld a5,0(a1)
+ 80002360: 00381893 slli a7,a6,0x3
+ 80002364: 011608b3 add a7,a2,a7
+ 80002368: 00c7d793 srli a5,a5,0xc
+ 8000236c: 00a79793 slli a5,a5,0xa
+ 80002370: 0df7e313 ori t1,a5,223
+ 80002374: 01f7e713 ori a4,a5,31
+ 80002378: 0068b023 sd t1,0(a7)
+ 8000237c: 12050073 sfence.vma a0
+ 80002380: 00006797 auipc a5,0x6
+ 80002384: 07078793 addi a5,a5,112 # 800083f0 <user_mapping>
+ 80002388: 00469693 slli a3,a3,0x4
+ 8000238c: 00d786b3 add a3,a5,a3
+ 80002390: 0006b783 ld a5,0(a3)
+ 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200>
+ 80002398: 0005b783 ld a5,0(a1)
+ 8000239c: 00f6b023 sd a5,0(a3)
+ 800023a0: 0085b783 ld a5,8(a1)
+ 800023a4: 00f6b423 sd a5,8(a3)
+ 800023a8: 000407b7 lui a5,0x40
+ 800023ac: 1007a8f3 csrrs a7,sstatus,a5
+ 800023b0: ffe007b7 lui a5,0xffe00
+ 800023b4: 00f507b3 add a5,a0,a5
+ 800023b8: 000015b7 lui a1,0x1
+ 800023bc: 00050693 mv a3,a0
+ 800023c0: 00b785b3 add a1,a5,a1
+ 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf7810>
+ 800023c8: 0087be83 ld t4,8(a5)
+ 800023cc: 0107be03 ld t3,16(a5)
+ 800023d0: 0187b303 ld t1,24(a5)
+ 800023d4: 01e6b023 sd t5,0(a3)
+ 800023d8: 01d6b423 sd t4,8(a3)
+ 800023dc: 01c6b823 sd t3,16(a3)
+ 800023e0: 0066bc23 sd t1,24(a3)
+ 800023e4: 02078793 addi a5,a5,32
+ 800023e8: 02068693 addi a3,a3,32
+ 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8>
+ 800023f0: 10089073 csrw sstatus,a7
+ 800023f4: 00381813 slli a6,a6,0x3
+ 800023f8: 01060633 add a2,a2,a6
+ 800023fc: 00e63023 sd a4,0(a2)
+ 80002400: 12050073 sfence.vma a0
+ 80002404: 0000100f fence.i
+ 80002408: 00008067 ret
+ 8000240c: 04077693 andi a3,a4,64
+ 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128>
+ 80002414: 04076713 ori a4,a4,64
+ 80002418: 00e7b023 sd a4,0(a5)
+ 8000241c: 12050073 sfence.vma a0
+ 80002420: 00008067 ret
+ 80002424: 08077693 andi a3,a4,128
+ 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250>
+ 8000242c: 00f00693 li a3,15
+ 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250>
+ 80002434: 08076713 ori a4,a4,128
+ 80002438: 00e7b023 sd a4,0(a5)
+ 8000243c: 12050073 sfence.vma a0
+ 80002440: 00008067 ret
+ 80002444: 00006797 auipc a5,0x6
+ 80002448: 3807be23 sd zero,924(a5) # 800087e0 <freelist_tail>
+ 8000244c: f11ff06f j 8000235c <handle_fault+0x60>
+ 80002450: 10100613 li a2,257
+ 80002454: 04100713 li a4,65
+ 80002458: 00001697 auipc a3,0x1
+ 8000245c: 96868693 addi a3,a3,-1688 # 80002dc0 <pass+0x10>
+ 80002460: fffff797 auipc a5,0xfffff
+ 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost>
+ 80002468: 03061613 slli a2,a2,0x30
+ 8000246c: 0007b503 ld a0,0(a5)
+ 80002470: 00168693 addi a3,a3,1
+ 80002474: 00c765b3 or a1,a4,a2
+ 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190>
+ 8000247c: fffff717 auipc a4,0xfffff
+ 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost>
+ 80002484: 0007b703 ld a4,0(a5)
+ 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180>
+ 8000248c: 0006c703 lbu a4,0(a3)
+ 80002490: fffff517 auipc a0,0xfffff
+ 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost>
+ 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170>
+ 8000249c: ff010113 addi sp,sp,-16
+ 800024a0: 00300513 li a0,3
+ 800024a4: 00113423 sd ra,8(sp)
+ 800024a8: d89ff0ef jal ra,80002230 <terminate>
+ 800024ac: 10100693 li a3,257
+ 800024b0: 04100713 li a4,65
+ 800024b4: 00001617 auipc a2,0x1
+ 800024b8: 99c60613 addi a2,a2,-1636 # 80002e50 <pass+0xa0>
+ 800024bc: fffff797 auipc a5,0xfffff
+ 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost>
+ 800024c4: 03069693 slli a3,a3,0x30
+ 800024c8: 0007b503 ld a0,0(a5)
+ 800024cc: 00160613 addi a2,a2,1
+ 800024d0: 00d765b3 or a1,a4,a3
+ 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec>
+ 800024d8: fffff717 auipc a4,0xfffff
+ 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost>
+ 800024e0: 0007b703 ld a4,0(a5)
+ 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc>
+ 800024e8: 00064703 lbu a4,0(a2)
+ 800024ec: fffff517 auipc a0,0xfffff
+ 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost>
+ 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc>
+ 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0>
+ 800024fc: 10100693 li a3,257
+ 80002500: 04100713 li a4,65
+ 80002504: 00001617 auipc a2,0x1
+ 80002508: 96460613 addi a2,a2,-1692 # 80002e68 <pass+0xb8>
+ 8000250c: fffff797 auipc a5,0xfffff
+ 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost>
+ 80002514: 03069693 slli a3,a3,0x30
+ 80002518: 0007b503 ld a0,0(a5)
+ 8000251c: 00160613 addi a2,a2,1
+ 80002520: 00d765b3 or a1,a4,a3
+ 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c>
+ 80002528: fffff717 auipc a4,0xfffff
+ 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost>
+ 80002530: 0007b703 ld a4,0(a5)
+ 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c>
+ 80002538: 00064703 lbu a4,0(a2)
+ 8000253c: fffff517 auipc a0,0xfffff
+ 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost>
+ 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c>
+ 80002548: f55ff06f j 8000249c <handle_fault+0x1a0>
+ 8000254c: 10100613 li a2,257
+ 80002550: 04100713 li a4,65
+ 80002554: 00001697 auipc a3,0x1
+ 80002558: 8b468693 addi a3,a3,-1868 # 80002e08 <pass+0x58>
+ 8000255c: fffff797 auipc a5,0xfffff
+ 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost>
+ 80002564: 03061613 slli a2,a2,0x30
+ 80002568: 0007b503 ld a0,0(a5)
+ 8000256c: 00168693 addi a3,a3,1
+ 80002570: 00c765b3 or a1,a4,a2
+ 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c>
+ 80002578: fffff717 auipc a4,0xfffff
+ 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost>
+ 80002580: 0007b703 ld a4,0(a5)
+ 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c>
+ 80002588: 0006c703 lbu a4,0(a3)
+ 8000258c: fffff517 auipc a0,0xfffff
+ 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost>
+ 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c>
+ 80002598: f05ff06f j 8000249c <handle_fault+0x1a0>
+
+000000008000259c <handle_trap>:
+ 8000259c: 11853583 ld a1,280(a0)
+ 800025a0: f9010113 addi sp,sp,-112
+ 800025a4: 06813023 sd s0,96(sp)
+ 800025a8: 06113423 sd ra,104(sp)
+ 800025ac: 04913c23 sd s1,88(sp)
+ 800025b0: 05213823 sd s2,80(sp)
+ 800025b4: 05313423 sd s3,72(sp)
+ 800025b8: 05413023 sd s4,64(sp)
+ 800025bc: 03513c23 sd s5,56(sp)
+ 800025c0: 03613823 sd s6,48(sp)
+ 800025c4: 03713423 sd s7,40(sp)
+ 800025c8: 03813023 sd s8,32(sp)
+ 800025cc: 01913c23 sd s9,24(sp)
+ 800025d0: 01a13823 sd s10,16(sp)
+ 800025d4: 01b13423 sd s11,8(sp)
+ 800025d8: 00800793 li a5,8
+ 800025dc: 00050413 mv s0,a0
+ 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178>
+ 800025e4: 00200793 li a5,2
+ 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac>
+ 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c>
+ 800025f0: 00100713 li a4,1
+ 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64>
+ 800025f8: 00f00793 li a5,15
+ 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248>
+ 80002600: 11043503 ld a0,272(s0)
+ 80002604: cf9ff0ef jal ra,800022fc <handle_fault>
+ 80002608: 00040513 mv a0,s0
+ 8000260c: 06013403 ld s0,96(sp)
+ 80002610: 06813083 ld ra,104(sp)
+ 80002614: 05813483 ld s1,88(sp)
+ 80002618: 05013903 ld s2,80(sp)
+ 8000261c: 04813983 ld s3,72(sp)
+ 80002620: 04013a03 ld s4,64(sp)
+ 80002624: 03813a83 ld s5,56(sp)
+ 80002628: 03013b03 ld s6,48(sp)
+ 8000262c: 02813b83 ld s7,40(sp)
+ 80002630: 02013c03 ld s8,32(sp)
+ 80002634: 01813c83 ld s9,24(sp)
+ 80002638: 01013d03 ld s10,16(sp)
+ 8000263c: 00813d83 ld s11,8(sp)
+ 80002640: 07010113 addi sp,sp,112
+ 80002644: 9f9fd06f j 8000003c <pop_tf>
+ 80002648: 10853703 ld a4,264(a0)
+ 8000264c: 00377793 andi a5,a4,3
+ 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128>
+ 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0>
+ 80002658: 00301073 fssr zero
+ 8000265c: 00072703 lw a4,0(a4)
+ 80002660: 0007a783 lw a5,0(a5)
+ 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120>
+ 80002668: 10100513 li a0,257
+ 8000266c: 04100793 li a5,65
+ 80002670: 00001697 auipc a3,0x1
+ 80002674: 8d068693 addi a3,a3,-1840 # 80002f40 <pass+0x190>
+ 80002678: fffff717 auipc a4,0xfffff
+ 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost>
+ 80002680: 03051513 slli a0,a0,0x30
+ 80002684: 00073583 ld a1,0(a4)
+ 80002688: 00168693 addi a3,a3,1
+ 8000268c: 00a7e633 or a2,a5,a0
+ 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108>
+ 80002694: fffff797 auipc a5,0xfffff
+ 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost>
+ 8000269c: 00073783 ld a5,0(a4)
+ 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8>
+ 800026a4: 0006c783 lbu a5,0(a3)
+ 800026a8: fffff597 auipc a1,0xfffff
+ 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost>
+ 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8>
+ 800026b4: 00300513 li a0,3
+ 800026b8: b79ff0ef jal ra,80002230 <terminate>
+ 800026bc: 00100513 li a0,1
+ 800026c0: b71ff0ef jal ra,80002230 <terminate>
+ 800026c4: 10100793 li a5,257
+ 800026c8: 00001617 auipc a2,0x1
+ 800026cc: 85060613 addi a2,a2,-1968 # 80002f18 <pass+0x168>
+ 800026d0: 04100693 li a3,65
+ 800026d4: fffff717 auipc a4,0xfffff
+ 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost>
+ 800026dc: 03079793 slli a5,a5,0x30
+ 800026e0: 00073503 ld a0,0(a4)
+ 800026e4: 00160613 addi a2,a2,1
+ 800026e8: 00f6e5b3 or a1,a3,a5
+ 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164>
+ 800026f0: fffff697 auipc a3,0xfffff
+ 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost>
+ 800026f8: 00073683 ld a3,0(a4)
+ 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154>
+ 80002700: 00064683 lbu a3,0(a2)
+ 80002704: fffff517 auipc a0,0xfffff
+ 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost>
+ 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144>
+ 80002710: fa5ff06f j 800026b4 <handle_trap+0x118>
+ 80002714: 05052983 lw s3,80(a0)
+ 80002718: 00001437 lui s0,0x1
+ 8000271c: 00006d17 auipc s10,0x6
+ 80002720: cd4d0d13 addi s10,s10,-812 # 800083f0 <user_mapping>
+ 80002724: 00002b97 auipc s7,0x2
+ 80002728: 8dcb8b93 addi s7,s7,-1828 # 80004000 <pt>
+ 8000272c: 00040b37 lui s6,0x40
+ 80002730: ffe00ab7 lui s5,0xffe00
+ 80002734: 00006a17 auipc s4,0x6
+ 80002738: 0aca0a13 addi s4,s4,172 # 800087e0 <freelist_tail>
+ 8000273c: 0003f937 lui s2,0x3f
+ 80002740: 01c0006f j 8000275c <handle_trap+0x1c0>
+ 80002744: 00f73423 sd a5,8(a4)
+ 80002748: 00006717 auipc a4,0x6
+ 8000274c: 08f73c23 sd a5,152(a4) # 800087e0 <freelist_tail>
+ 80002750: 000017b7 lui a5,0x1
+ 80002754: 00f40433 add s0,s0,a5
+ 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308>
+ 8000275c: 00c45793 srli a5,s0,0xc
+ 80002760: 00479493 slli s1,a5,0x4
+ 80002764: 009d0733 add a4,s10,s1
+ 80002768: 00073703 ld a4,0(a4)
+ 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4>
+ 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00>
+ 80002774: 00379793 slli a5,a5,0x3
+ 80002778: 00fb87b3 add a5,s7,a5
+ 8000277c: 0007bc03 ld s8,0(a5)
+ 80002780: 040c7793 andi a5,s8,64
+ 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0>
+ 80002788: 100b2cf3 csrrs s9,sstatus,s6
+ 8000278c: 01540db3 add s11,s0,s5
+ 80002790: 00001637 lui a2,0x1
+ 80002794: 000d8593 mv a1,s11
+ 80002798: 00040513 mv a0,s0
+ 8000279c: 975ff0ef jal ra,80002110 <memcmp>
+ 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220>
+ 800027a4: 080c7c13 andi s8,s8,128
+ 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298>
+ 800027ac: 00001637 lui a2,0x1
+ 800027b0: 000d8593 mv a1,s11
+ 800027b4: 00040513 mv a0,s0
+ 800027b8: 849ff0ef jal ra,80002000 <memcpy>
+ 800027bc: 009d07b3 add a5,s10,s1
+ 800027c0: 100c9073 csrw sstatus,s9
+ 800027c4: 000a3703 ld a4,0(s4)
+ 800027c8: 0007b023 sd zero,0(a5)
+ 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8>
+ 800027d0: 00006717 auipc a4,0x6
+ 800027d4: 00f73823 sd a5,16(a4) # 800087e0 <freelist_tail>
+ 800027d8: 00006717 auipc a4,0x6
+ 800027dc: 00f73823 sd a5,16(a4) # 800087e8 <freelist_head>
+ 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4>
+ 800027e4: 10100793 li a5,257
+ 800027e8: 04100613 li a2,65
+ 800027ec: 00000697 auipc a3,0x0
+ 800027f0: 78468693 addi a3,a3,1924 # 80002f70 <pass+0x1c0>
+ 800027f4: fffff717 auipc a4,0xfffff
+ 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost>
+ 800027fc: 03079793 slli a5,a5,0x30
+ 80002800: 00073503 ld a0,0(a4)
+ 80002804: 00168693 addi a3,a3,1
+ 80002808: 00f665b3 or a1,a2,a5
+ 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284>
+ 80002810: fffff617 auipc a2,0xfffff
+ 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost>
+ 80002818: 00073603 ld a2,0(a4)
+ 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274>
+ 80002820: 0006c603 lbu a2,0(a3)
+ 80002824: ffffe517 auipc a0,0xffffe
+ 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost>
+ 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264>
+ 80002830: e85ff06f j 800026b4 <handle_trap+0x118>
+ 80002834: 10100793 li a5,257
+ 80002838: 04100613 li a2,65
+ 8000283c: 00000697 auipc a3,0x0
+ 80002840: 6a468693 addi a3,a3,1700 # 80002ee0 <pass+0x130>
+ 80002844: ffffe717 auipc a4,0xffffe
+ 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost>
+ 8000284c: 03079793 slli a5,a5,0x30
+ 80002850: 00168693 addi a3,a3,1
+ 80002854: 00f665b3 or a1,a2,a5
+ 80002858: 00073603 ld a2,0(a4)
+ 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310>
+ 80002860: ffffe617 auipc a2,0xffffe
+ 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost>
+ 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc>
+ 8000286c: 10100793 li a5,257
+ 80002870: 04100613 li a2,65
+ 80002874: 00000697 auipc a3,0x0
+ 80002878: 63468693 addi a3,a3,1588 # 80002ea8 <pass+0xf8>
+ 8000287c: ffffe717 auipc a4,0xffffe
+ 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost>
+ 80002884: 03079793 slli a5,a5,0x30
+ 80002888: 00168693 addi a3,a3,1
+ 8000288c: 00f665b3 or a1,a2,a5
+ 80002890: 00073603 ld a2,0(a4)
+ 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324>
+ 80002898: ffffe617 auipc a2,0xffffe
+ 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost>
+ 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4>
+ 800028a4: 00098513 mv a0,s3
+ 800028a8: 989ff0ef jal ra,80002230 <terminate>
+ 800028ac: 0006c603 lbu a2,0(a3)
+ 800028b0: ffffe517 auipc a0,0xffffe
+ 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost>
+ 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4>
+ 800028bc: df9ff06f j 800026b4 <handle_trap+0x118>
+ 800028c0: 0006c603 lbu a2,0(a3)
+ 800028c4: ffffe517 auipc a0,0xffffe
+ 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost>
+ 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec>
+ 800028d0: de5ff06f j 800026b4 <handle_trap+0x118>
+
+00000000800028d4 <vm_boot>:
+ 800028d4: f14027f3 csrr a5,mhartid
+ 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198>
+ 800028dc: 00002697 auipc a3,0x2
+ 800028e0: 72468693 addi a3,a3,1828 # 80005000 <pt+0x1000>
+ 800028e4: 00003717 auipc a4,0x3
+ 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <pt+0x2000>
+ 800028ec: 00c6d693 srli a3,a3,0xc
+ 800028f0: 00c75713 srli a4,a4,0xc
+ 800028f4: 00004797 auipc a5,0x4
+ 800028f8: 70c78793 addi a5,a5,1804 # 80007000 <pt+0x3000>
+ 800028fc: 00a69693 slli a3,a3,0xa
+ 80002900: 00a71713 slli a4,a4,0xa
+ 80002904: 0016e693 ori a3,a3,1
+ 80002908: 00176713 ori a4,a4,1
+ 8000290c: 00c7d793 srli a5,a5,0xc
+ 80002910: 00001897 auipc a7,0x1
+ 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <pt>
+ 80002918: 00a79793 slli a5,a5,0xa
+ 8000291c: 00002697 auipc a3,0x2
+ 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <pt+0xff8>
+ 80002924: 20000737 lui a4,0x20000
+ 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31>
+ 8000292c: fff00593 li a1,-1
+ 80002930: 0017e793 ori a5,a5,1
+ 80002934: 00001617 auipc a2,0x1
+ 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <pt>
+ 8000293c: ed010113 addi sp,sp,-304
+ 80002940: 03f59813 slli a6,a1,0x3f
+ 80002944: 00004697 auipc a3,0x4
+ 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <pt+0x2ff8>
+ 8000294c: 00002717 auipc a4,0x2
+ 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <pt+0x1000>
+ 80002954: 00c65793 srli a5,a2,0xc
+ 80002958: 12113423 sd ra,296(sp)
+ 8000295c: 12813023 sd s0,288(sp)
+ 80002960: 0107e7b3 or a5,a5,a6
+ 80002964: 18079073 csrw satp,a5
+ 80002968: 01f00793 li a5,31
+ 8000296c: 00000297 auipc t0,0x0
+ 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac>
+ 80002974: 305292f3 csrrw t0,mtvec,t0
+ 80002978: 3b059073 csrw pmpaddr0,a1
+ 8000297c: 3a079073 csrw pmpcfg0,a5
+ 80002980: bff00813 li a6,-1025
+ 80002984: 01581813 slli a6,a6,0x15
+ 80002988: ffffd797 auipc a5,0xffffd
+ 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry>
+ 80002990: 010787b3 add a5,a5,a6
+ 80002994: 10579073 csrw stvec,a5
+ 80002998: 340027f3 csrr a5,mscratch
+ 8000299c: 010787b3 add a5,a5,a6
+ 800029a0: 14079073 csrw sscratch,a5
+ 800029a4: 0000b7b7 lui a5,0xb
+ 800029a8: 1007879b addiw a5,a5,256
+ 800029ac: 30279073 csrw medeleg,a5
+ 800029b0: 0001e7b7 lui a5,0x1e
+ 800029b4: 30079073 csrw mstatus,a5
+ 800029b8: 30405073 csrwi mie,0
+ 800029bc: 00005697 auipc a3,0x5
+ 800029c0: 64468693 addi a3,a3,1604 # 80008000 <freelist_nodes>
+ 800029c4: 010687b3 add a5,a3,a6
+ 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20>
+ 800029cc: 00006617 auipc a2,0x6
+ 800029d0: e0f63e23 sd a5,-484(a2) # 800087e8 <freelist_head>
+ 800029d4: 00006797 auipc a5,0x6
+ 800029d8: e0e7b623 sd a4,-500(a5) # 800087e0 <freelist_tail>
+ 800029dc: 00006317 auipc t1,0x6
+ 800029e0: a1430313 addi t1,t1,-1516 # 800083f0 <user_mapping>
+ 800029e4: 01300793 li a5,19
+ 800029e8: 000808b7 lui a7,0x80
+ 800029ec: 01080813 addi a6,a6,16
+ 800029f0: 03f7871b addiw a4,a5,63
+ 800029f4: 02071713 slli a4,a4,0x20
+ 800029f8: 0017d61b srliw a2,a5,0x1
+ 800029fc: 02075713 srli a4,a4,0x20
+ 80002a00: 00c7c7b3 xor a5,a5,a2
+ 80002a04: 01170733 add a4,a4,a7
+ 80002a08: 010685b3 add a1,a3,a6
+ 80002a0c: 00c71713 slli a4,a4,0xc
+ 80002a10: 0057979b slliw a5,a5,0x5
+ 80002a14: 00e6b023 sd a4,0(a3)
+ 80002a18: 00b6b423 sd a1,8(a3)
+ 80002a1c: 0207f793 andi a5,a5,32
+ 80002a20: 01068693 addi a3,a3,16
+ 80002a24: 00c7e7b3 or a5,a5,a2
+ 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c>
+ 80002a2c: 00050413 mv s0,a0
+ 80002a30: 12000613 li a2,288
+ 80002a34: 00000593 li a1,0
+ 80002a38: 00010513 mv a0,sp
+ 80002a3c: 00006797 auipc a5,0x6
+ 80002a40: 9a07b623 sd zero,-1620(a5) # 800083e8 <freelist_nodes+0x3e8>
+ 80002a44: e18ff0ef jal ra,8000205c <memset>
+ 80002a48: 800007b7 lui a5,0x80000
+ 80002a4c: 00f40433 add s0,s0,a5
+ 80002a50: 00010513 mv a0,sp
+ 80002a54: 10813423 sd s0,264(sp)
+ 80002a58: de4fd0ef jal ra,8000003c <pop_tf>
+ 80002a5c: 12813083 ld ra,296(sp)
+ 80002a60: 12013403 ld s0,288(sp)
+ 80002a64: 13010113 addi sp,sp,304
+ 80002a68: 00008067 ret
+ 80002a6c: 0e6157b7 lui a5,0xe615
+ 80002a70: 000805b7 lui a1,0x80
+ 80002a74: 11278793 addi a5,a5,274 # e615112 <_start-0x719eaeee>
+ 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004>
+ 80002a7c: 00100613 li a2,1
+ 80002a80: 00b7f733 and a4,a5,a1
+ 80002a84: 01f61613 slli a2,a2,0x1f
+ 80002a88: 0017f693 andi a3,a5,1
+ 80002a8c: 02079793 slli a5,a5,0x20
+ 80002a90: 0207d793 srli a5,a5,0x20
+ 80002a94: 00c70733 add a4,a4,a2
+ 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8>
+ 80002a9c: 0007202f amoadd.w zero,zero,(a4)
+ 80002aa0: 0017d793 srli a5,a5,0x1
+ 80002aa4: 00b7f733 and a4,a5,a1
+ 80002aa8: 0017f693 andi a3,a5,1
+ 80002aac: 02079793 slli a5,a5,0x20
+ 80002ab0: 0207d793 srli a5,a5,0x20
+ 80002ab4: 00c70733 add a4,a4,a2
+ 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8>
+ 80002abc: 00072003 lw zero,0(a4)
+ 80002ac0: 0017d793 srli a5,a5,0x1
+ 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0>
+
+0000000080002ac8 <userstart>:
+ 80002ac8: 00301073 fssr zero
+
+0000000080002acc <test_2>:
+ 80002acc: 00200193 li gp,2
+ 80002ad0: 00000517 auipc a0,0x0
+ 80002ad4: 53050513 addi a0,a0,1328 # 80003000 <test_2_data>
+ 80002ad8: 00053007 fld ft0,0(a0)
+ 80002adc: 00853087 fld ft1,8(a0)
+ 80002ae0: 01053107 fld ft2,16(a0)
+ 80002ae4: 01853683 ld a3,24(a0)
+ 80002ae8: a2102553 feq.d a0,ft0,ft1
+ 80002aec: 001015f3 fsflags a1,zero
+ 80002af0: 00000613 li a2,0
+ 80002af4: 2ad51663 bne a0,a3,80002da0 <fail>
+ 80002af8: 2ac59463 bne a1,a2,80002da0 <fail>
+
+0000000080002afc <test_3>:
+ 80002afc: 00300193 li gp,3
+ 80002b00: 00000517 auipc a0,0x0
+ 80002b04: 52050513 addi a0,a0,1312 # 80003020 <test_3_data>
+ 80002b08: 00053007 fld ft0,0(a0)
+ 80002b0c: 00853087 fld ft1,8(a0)
+ 80002b10: 01053107 fld ft2,16(a0)
+ 80002b14: 01853683 ld a3,24(a0)
+ 80002b18: a2100553 fle.d a0,ft0,ft1
+ 80002b1c: 001015f3 fsflags a1,zero
+ 80002b20: 00000613 li a2,0
+ 80002b24: 26d51e63 bne a0,a3,80002da0 <fail>
+ 80002b28: 26c59c63 bne a1,a2,80002da0 <fail>
+
+0000000080002b2c <test_4>:
+ 80002b2c: 00400193 li gp,4
+ 80002b30: 00000517 auipc a0,0x0
+ 80002b34: 51050513 addi a0,a0,1296 # 80003040 <test_4_data>
+ 80002b38: 00053007 fld ft0,0(a0)
+ 80002b3c: 00853087 fld ft1,8(a0)
+ 80002b40: 01053107 fld ft2,16(a0)
+ 80002b44: 01853683 ld a3,24(a0)
+ 80002b48: a2101553 flt.d a0,ft0,ft1
+ 80002b4c: 001015f3 fsflags a1,zero
+ 80002b50: 00000613 li a2,0
+ 80002b54: 24d51663 bne a0,a3,80002da0 <fail>
+ 80002b58: 24c59463 bne a1,a2,80002da0 <fail>
+
+0000000080002b5c <test_5>:
+ 80002b5c: 00500193 li gp,5
+ 80002b60: 00000517 auipc a0,0x0
+ 80002b64: 50050513 addi a0,a0,1280 # 80003060 <test_5_data>
+ 80002b68: 00053007 fld ft0,0(a0)
+ 80002b6c: 00853087 fld ft1,8(a0)
+ 80002b70: 01053107 fld ft2,16(a0)
+ 80002b74: 01853683 ld a3,24(a0)
+ 80002b78: a2102553 feq.d a0,ft0,ft1
+ 80002b7c: 001015f3 fsflags a1,zero
+ 80002b80: 00000613 li a2,0
+ 80002b84: 20d51e63 bne a0,a3,80002da0 <fail>
+ 80002b88: 20c59c63 bne a1,a2,80002da0 <fail>
+
+0000000080002b8c <test_6>:
+ 80002b8c: 00600193 li gp,6
+ 80002b90: 00000517 auipc a0,0x0
+ 80002b94: 4f050513 addi a0,a0,1264 # 80003080 <test_6_data>
+ 80002b98: 00053007 fld ft0,0(a0)
+ 80002b9c: 00853087 fld ft1,8(a0)
+ 80002ba0: 01053107 fld ft2,16(a0)
+ 80002ba4: 01853683 ld a3,24(a0)
+ 80002ba8: a2100553 fle.d a0,ft0,ft1
+ 80002bac: 001015f3 fsflags a1,zero
+ 80002bb0: 00000613 li a2,0
+ 80002bb4: 1ed51663 bne a0,a3,80002da0 <fail>
+ 80002bb8: 1ec59463 bne a1,a2,80002da0 <fail>
+
+0000000080002bbc <test_7>:
+ 80002bbc: 00700193 li gp,7
+ 80002bc0: 00000517 auipc a0,0x0
+ 80002bc4: 4e050513 addi a0,a0,1248 # 800030a0 <test_7_data>
+ 80002bc8: 00053007 fld ft0,0(a0)
+ 80002bcc: 00853087 fld ft1,8(a0)
+ 80002bd0: 01053107 fld ft2,16(a0)
+ 80002bd4: 01853683 ld a3,24(a0)
+ 80002bd8: a2101553 flt.d a0,ft0,ft1
+ 80002bdc: 001015f3 fsflags a1,zero
+ 80002be0: 00000613 li a2,0
+ 80002be4: 1ad51e63 bne a0,a3,80002da0 <fail>
+ 80002be8: 1ac59c63 bne a1,a2,80002da0 <fail>
+
+0000000080002bec <test_8>:
+ 80002bec: 00800193 li gp,8
+ 80002bf0: 00000517 auipc a0,0x0
+ 80002bf4: 4d050513 addi a0,a0,1232 # 800030c0 <test_8_data>
+ 80002bf8: 00053007 fld ft0,0(a0)
+ 80002bfc: 00853087 fld ft1,8(a0)
+ 80002c00: 01053107 fld ft2,16(a0)
+ 80002c04: 01853683 ld a3,24(a0)
+ 80002c08: a2102553 feq.d a0,ft0,ft1
+ 80002c0c: 001015f3 fsflags a1,zero
+ 80002c10: 00000613 li a2,0
+ 80002c14: 18d51663 bne a0,a3,80002da0 <fail>
+ 80002c18: 18c59463 bne a1,a2,80002da0 <fail>
+
+0000000080002c1c <test_9>:
+ 80002c1c: 00900193 li gp,9
+ 80002c20: 00000517 auipc a0,0x0
+ 80002c24: 4c050513 addi a0,a0,1216 # 800030e0 <test_9_data>
+ 80002c28: 00053007 fld ft0,0(a0)
+ 80002c2c: 00853087 fld ft1,8(a0)
+ 80002c30: 01053107 fld ft2,16(a0)
+ 80002c34: 01853683 ld a3,24(a0)
+ 80002c38: a2102553 feq.d a0,ft0,ft1
+ 80002c3c: 001015f3 fsflags a1,zero
+ 80002c40: 00000613 li a2,0
+ 80002c44: 14d51e63 bne a0,a3,80002da0 <fail>
+ 80002c48: 14c59c63 bne a1,a2,80002da0 <fail>
+
+0000000080002c4c <test_10>:
+ 80002c4c: 00a00193 li gp,10
+ 80002c50: 00000517 auipc a0,0x0
+ 80002c54: 4b050513 addi a0,a0,1200 # 80003100 <test_10_data>
+ 80002c58: 00053007 fld ft0,0(a0)
+ 80002c5c: 00853087 fld ft1,8(a0)
+ 80002c60: 01053107 fld ft2,16(a0)
+ 80002c64: 01853683 ld a3,24(a0)
+ 80002c68: a2102553 feq.d a0,ft0,ft1
+ 80002c6c: 001015f3 fsflags a1,zero
+ 80002c70: 01000613 li a2,16
+ 80002c74: 12d51663 bne a0,a3,80002da0 <fail>
+ 80002c78: 12c59463 bne a1,a2,80002da0 <fail>
+
+0000000080002c7c <test_11>:
+ 80002c7c: 00b00193 li gp,11
+ 80002c80: 00000517 auipc a0,0x0
+ 80002c84: 4a050513 addi a0,a0,1184 # 80003120 <test_11_data>
+ 80002c88: 00053007 fld ft0,0(a0)
+ 80002c8c: 00853087 fld ft1,8(a0)
+ 80002c90: 01053107 fld ft2,16(a0)
+ 80002c94: 01853683 ld a3,24(a0)
+ 80002c98: a2101553 flt.d a0,ft0,ft1
+ 80002c9c: 001015f3 fsflags a1,zero
+ 80002ca0: 01000613 li a2,16
+ 80002ca4: 0ed51e63 bne a0,a3,80002da0 <fail>
+ 80002ca8: 0ec59c63 bne a1,a2,80002da0 <fail>
+
+0000000080002cac <test_12>:
+ 80002cac: 00c00193 li gp,12
+ 80002cb0: 00000517 auipc a0,0x0
+ 80002cb4: 49050513 addi a0,a0,1168 # 80003140 <test_12_data>
+ 80002cb8: 00053007 fld ft0,0(a0)
+ 80002cbc: 00853087 fld ft1,8(a0)
+ 80002cc0: 01053107 fld ft2,16(a0)
+ 80002cc4: 01853683 ld a3,24(a0)
+ 80002cc8: a2101553 flt.d a0,ft0,ft1
+ 80002ccc: 001015f3 fsflags a1,zero
+ 80002cd0: 01000613 li a2,16
+ 80002cd4: 0cd51663 bne a0,a3,80002da0 <fail>
+ 80002cd8: 0cc59463 bne a1,a2,80002da0 <fail>
+
+0000000080002cdc <test_13>:
+ 80002cdc: 00d00193 li gp,13
+ 80002ce0: 00000517 auipc a0,0x0
+ 80002ce4: 48050513 addi a0,a0,1152 # 80003160 <test_13_data>
+ 80002ce8: 00053007 fld ft0,0(a0)
+ 80002cec: 00853087 fld ft1,8(a0)
+ 80002cf0: 01053107 fld ft2,16(a0)
+ 80002cf4: 01853683 ld a3,24(a0)
+ 80002cf8: a2101553 flt.d a0,ft0,ft1
+ 80002cfc: 001015f3 fsflags a1,zero
+ 80002d00: 01000613 li a2,16
+ 80002d04: 08d51e63 bne a0,a3,80002da0 <fail>
+ 80002d08: 08c59c63 bne a1,a2,80002da0 <fail>
+
+0000000080002d0c <test_14>:
+ 80002d0c: 00e00193 li gp,14
+ 80002d10: 00000517 auipc a0,0x0
+ 80002d14: 47050513 addi a0,a0,1136 # 80003180 <test_14_data>
+ 80002d18: 00053007 fld ft0,0(a0)
+ 80002d1c: 00853087 fld ft1,8(a0)
+ 80002d20: 01053107 fld ft2,16(a0)
+ 80002d24: 01853683 ld a3,24(a0)
+ 80002d28: a2100553 fle.d a0,ft0,ft1
+ 80002d2c: 001015f3 fsflags a1,zero
+ 80002d30: 01000613 li a2,16
+ 80002d34: 06d51663 bne a0,a3,80002da0 <fail>
+ 80002d38: 06c59463 bne a1,a2,80002da0 <fail>
+
+0000000080002d3c <test_15>:
+ 80002d3c: 00f00193 li gp,15
+ 80002d40: 00000517 auipc a0,0x0
+ 80002d44: 46050513 addi a0,a0,1120 # 800031a0 <test_15_data>
+ 80002d48: 00053007 fld ft0,0(a0)
+ 80002d4c: 00853087 fld ft1,8(a0)
+ 80002d50: 01053107 fld ft2,16(a0)
+ 80002d54: 01853683 ld a3,24(a0)
+ 80002d58: a2100553 fle.d a0,ft0,ft1
+ 80002d5c: 001015f3 fsflags a1,zero
+ 80002d60: 01000613 li a2,16
+ 80002d64: 02d51e63 bne a0,a3,80002da0 <fail>
+ 80002d68: 02c59c63 bne a1,a2,80002da0 <fail>
+
+0000000080002d6c <test_16>:
+ 80002d6c: 01000193 li gp,16
+ 80002d70: 00000517 auipc a0,0x0
+ 80002d74: 45050513 addi a0,a0,1104 # 800031c0 <test_16_data>
+ 80002d78: 00053007 fld ft0,0(a0)
+ 80002d7c: 00853087 fld ft1,8(a0)
+ 80002d80: 01053107 fld ft2,16(a0)
+ 80002d84: 01853683 ld a3,24(a0)
+ 80002d88: a2100553 fle.d a0,ft0,ft1
+ 80002d8c: 001015f3 fsflags a1,zero
+ 80002d90: 01000613 li a2,16
+ 80002d94: 00d51663 bne a0,a3,80002da0 <fail>
+ 80002d98: 00c59463 bne a1,a2,80002da0 <fail>
+ 80002d9c: 00301a63 bne zero,gp,80002db0 <pass>
+
+0000000080002da0 <fail>:
+ 80002da0: 00119513 slli a0,gp,0x1
+ 80002da4: 00050063 beqz a0,80002da4 <fail+0x4>
+ 80002da8: 00156513 ori a0,a0,1
+ 80002dac: 00000073 ecall
+
+0000000080002db0 <pass>:
+ 80002db0: 00100513 li a0,1
+ 80002db4: 00000073 ecall
+ 80002db8: c0001073 unimp
+
+Disassembly of section .data:
+
+0000000080003000 <test_2_data>:
+ 80003000: 5c28f5c3 0x5c28f5c3
+ 80003004: bff5c28f 0xbff5c28f
+ 80003008: 5c28f5c3 0x5c28f5c3
+ 8000300c: bff5c28f 0xbff5c28f
+ 80003010: 0000 unimp
+ 80003012: 0000 unimp
+ 80003014: 0000 unimp
+ 80003016: 0000 unimp
+ 80003018: 0001 nop
+ 8000301a: 0000 unimp
+ 8000301c: 0000 unimp
+ 8000301e: 0000 unimp
+
+0000000080003020 <test_3_data>:
+ 80003020: 5c28f5c3 0x5c28f5c3
+ 80003024: bff5c28f 0xbff5c28f
+ 80003028: 5c28f5c3 0x5c28f5c3
+ 8000302c: bff5c28f 0xbff5c28f
+ 80003030: 0000 unimp
+ 80003032: 0000 unimp
+ 80003034: 0000 unimp
+ 80003036: 0000 unimp
+ 80003038: 0001 nop
+ 8000303a: 0000 unimp
+ 8000303c: 0000 unimp
+ 8000303e: 0000 unimp
+
+0000000080003040 <test_4_data>:
+ 80003040: 5c28f5c3 0x5c28f5c3
+ 80003044: bff5c28f 0xbff5c28f
+ 80003048: 5c28f5c3 0x5c28f5c3
+ 8000304c: bff5c28f 0xbff5c28f
+ 80003050: 0000 unimp
+ 80003052: 0000 unimp
+ 80003054: 0000 unimp
+ 80003056: 0000 unimp
+ 80003058: 0000 unimp
+ 8000305a: 0000 unimp
+ 8000305c: 0000 unimp
+ 8000305e: 0000 unimp
+
+0000000080003060 <test_5_data>:
+ 80003060: 51ec lw a1,100(a1)
+ 80003062: 1eb8 addi a4,sp,888
+ 80003064: eb85 bnez a5,80003094 <test_6_data+0x14>
+ 80003066: bff5 j 80003062 <test_5_data+0x2>
+ 80003068: 5c28f5c3 0x5c28f5c3
+ 8000306c: bff5c28f 0xbff5c28f
+ 80003070: 0000 unimp
+ 80003072: 0000 unimp
+ 80003074: 0000 unimp
+ 80003076: 0000 unimp
+ 80003078: 0000 unimp
+ 8000307a: 0000 unimp
+ 8000307c: 0000 unimp
+ 8000307e: 0000 unimp
+
+0000000080003080 <test_6_data>:
+ 80003080: 51ec lw a1,100(a1)
+ 80003082: 1eb8 addi a4,sp,888
+ 80003084: eb85 bnez a5,800030b4 <test_7_data+0x14>
+ 80003086: bff5 j 80003082 <test_6_data+0x2>
+ 80003088: 5c28f5c3 0x5c28f5c3
+ 8000308c: bff5c28f 0xbff5c28f
+ 80003090: 0000 unimp
+ 80003092: 0000 unimp
+ 80003094: 0000 unimp
+ 80003096: 0000 unimp
+ 80003098: 0001 nop
+ 8000309a: 0000 unimp
+ 8000309c: 0000 unimp
+ 8000309e: 0000 unimp
+
+00000000800030a0 <test_7_data>:
+ 800030a0: 51ec lw a1,100(a1)
+ 800030a2: 1eb8 addi a4,sp,888
+ 800030a4: eb85 bnez a5,800030d4 <test_8_data+0x14>
+ 800030a6: bff5 j 800030a2 <test_7_data+0x2>
+ 800030a8: 5c28f5c3 0x5c28f5c3
+ 800030ac: bff5c28f 0xbff5c28f
+ 800030b0: 0000 unimp
+ 800030b2: 0000 unimp
+ 800030b4: 0000 unimp
+ 800030b6: 0000 unimp
+ 800030b8: 0001 nop
+ 800030ba: 0000 unimp
+ 800030bc: 0000 unimp
+ 800030be: 0000 unimp
+
+00000000800030c0 <test_8_data>:
+ 800030c0: ffff 0xffff
+ 800030c2: ffff 0xffff
+ 800030c4: ffff 0xffff
+ 800030c6: 7fff 0x7fff
+ 800030c8: 0000 unimp
+ 800030ca: 0000 unimp
+ 800030cc: 0000 unimp
+ 800030ce: 0000 unimp
+ 800030d0: 0000 unimp
+ 800030d2: 0000 unimp
+ 800030d4: 0000 unimp
+ 800030d6: 0000 unimp
+ 800030d8: 0000 unimp
+ 800030da: 0000 unimp
+ 800030dc: 0000 unimp
+ 800030de: 0000 unimp
+
+00000000800030e0 <test_9_data>:
+ 800030e0: ffff 0xffff
+ 800030e2: ffff 0xffff
+ 800030e4: ffff 0xffff
+ 800030e6: 7fff 0x7fff
+ 800030e8: ffff 0xffff
+ 800030ea: ffff 0xffff
+ 800030ec: ffff 0xffff
+ 800030ee: 7fff 0x7fff
+ 800030f0: 0000 unimp
+ 800030f2: 0000 unimp
+ 800030f4: 0000 unimp
+ 800030f6: 0000 unimp
+ 800030f8: 0000 unimp
+ 800030fa: 0000 unimp
+ 800030fc: 0000 unimp
+ 800030fe: 0000 unimp
+
+0000000080003100 <test_10_data>:
+ 80003100: 0001 nop
+ 80003102: 0000 unimp
+ 80003104: 0000 unimp
+ 80003106: 7ff0 ld a2,248(a5)
+ 80003108: 0000 unimp
+ 8000310a: 0000 unimp
+ 8000310c: 0000 unimp
+ 8000310e: 0000 unimp
+ 80003110: 0000 unimp
+ 80003112: 0000 unimp
+ 80003114: 0000 unimp
+ 80003116: 0000 unimp
+ 80003118: 0000 unimp
+ 8000311a: 0000 unimp
+ 8000311c: 0000 unimp
+ 8000311e: 0000 unimp
+
+0000000080003120 <test_11_data>:
+ 80003120: ffff 0xffff
+ 80003122: ffff 0xffff
+ 80003124: ffff 0xffff
+ 80003126: 7fff 0x7fff
+ 80003128: 0000 unimp
+ 8000312a: 0000 unimp
+ 8000312c: 0000 unimp
+ 8000312e: 0000 unimp
+ 80003130: 0000 unimp
+ 80003132: 0000 unimp
+ 80003134: 0000 unimp
+ 80003136: 0000 unimp
+ 80003138: 0000 unimp
+ 8000313a: 0000 unimp
+ 8000313c: 0000 unimp
+ 8000313e: 0000 unimp
+
+0000000080003140 <test_12_data>:
+ 80003140: ffff 0xffff
+ 80003142: ffff 0xffff
+ 80003144: ffff 0xffff
+ 80003146: 7fff 0x7fff
+ 80003148: ffff 0xffff
+ 8000314a: ffff 0xffff
+ 8000314c: ffff 0xffff
+ 8000314e: 7fff 0x7fff
+ 80003150: 0000 unimp
+ 80003152: 0000 unimp
+ 80003154: 0000 unimp
+ 80003156: 0000 unimp
+ 80003158: 0000 unimp
+ 8000315a: 0000 unimp
+ 8000315c: 0000 unimp
+ 8000315e: 0000 unimp
+
+0000000080003160 <test_13_data>:
+ 80003160: 0001 nop
+ 80003162: 0000 unimp
+ 80003164: 0000 unimp
+ 80003166: 7ff0 ld a2,248(a5)
+ 80003168: 0000 unimp
+ 8000316a: 0000 unimp
+ 8000316c: 0000 unimp
+ 8000316e: 0000 unimp
+ 80003170: 0000 unimp
+ 80003172: 0000 unimp
+ 80003174: 0000 unimp
+ 80003176: 0000 unimp
+ 80003178: 0000 unimp
+ 8000317a: 0000 unimp
+ 8000317c: 0000 unimp
+ 8000317e: 0000 unimp
+
+0000000080003180 <test_14_data>:
+ 80003180: ffff 0xffff
+ 80003182: ffff 0xffff
+ 80003184: ffff 0xffff
+ 80003186: 7fff 0x7fff
+ 80003188: 0000 unimp
+ 8000318a: 0000 unimp
+ 8000318c: 0000 unimp
+ 8000318e: 0000 unimp
+ 80003190: 0000 unimp
+ 80003192: 0000 unimp
+ 80003194: 0000 unimp
+ 80003196: 0000 unimp
+ 80003198: 0000 unimp
+ 8000319a: 0000 unimp
+ 8000319c: 0000 unimp
+ 8000319e: 0000 unimp
+
+00000000800031a0 <test_15_data>:
+ 800031a0: ffff 0xffff
+ 800031a2: ffff 0xffff
+ 800031a4: ffff 0xffff
+ 800031a6: 7fff 0x7fff
+ 800031a8: ffff 0xffff
+ 800031aa: ffff 0xffff
+ 800031ac: ffff 0xffff
+ 800031ae: 7fff 0x7fff
+ 800031b0: 0000 unimp
+ 800031b2: 0000 unimp
+ 800031b4: 0000 unimp
+ 800031b6: 0000 unimp
+ 800031b8: 0000 unimp
+ 800031ba: 0000 unimp
+ 800031bc: 0000 unimp
+ 800031be: 0000 unimp
+
+00000000800031c0 <test_16_data>:
+ 800031c0: 0001 nop
+ 800031c2: 0000 unimp
+ 800031c4: 0000 unimp
+ 800031c6: 7ff0 ld a2,248(a5)
+ 800031c8: 0000 unimp
+ 800031ca: 0000 unimp
+ 800031cc: 0000 unimp
+ 800031ce: 0000 unimp
+ 800031d0: 0000 unimp
+ 800031d2: 0000 unimp
+ 800031d4: 0000 unimp
+ 800031d6: 0000 unimp
+ 800031d8: 0000 unimp
+ 800031da: 0000 unimp
+ 800031dc: 0000 unimp
+ 800031de: 0000 unimp
diff --git a/test/riscv-tests/rv64ud-v-fcmp.elf b/test/riscv-tests/rv64ud-v-fcmp.elf
new file mode 100644
index 0000000..5ead5d7
--- /dev/null
+++ b/test/riscv-tests/rv64ud-v-fcmp.elf
Binary files differ
diff --git a/test/riscv-tests/rv64ud-v-fcvt.dump b/test/riscv-tests/rv64ud-v-fcvt.dump
new file mode 100644
index 0000000..5191ce0
--- /dev/null
+++ b/test/riscv-tests/rv64ud-v-fcvt.dump
@@ -0,0 +1,1060 @@
+
+rv64ud-v-fcvt: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 00c0006f j 8000000c <handle_reset>
+
+0000000080000004 <nmi_vector>:
+ 80000004: 2580206f j 8000225c <wtf>
+
+0000000080000008 <trap_vector>:
+ 80000008: 2540206f j 8000225c <wtf>
+
+000000008000000c <handle_reset>:
+ 8000000c: 00000297 auipc t0,0x0
+ 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+ 80000014: 30529073 csrw mtvec,t0
+ 80000018: 00009117 auipc sp,0x9
+ 8000001c: 6b810113 addi sp,sp,1720 # 800096d0 <_end+0xee0>
+ 80000020: f14022f3 csrr t0,mhartid
+ 80000024: 00c29293 slli t0,t0,0xc
+ 80000028: 00510133 add sp,sp,t0
+ 8000002c: 34011073 csrw mscratch,sp
+ 80000030: 00003517 auipc a0,0x3
+ 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart>
+ 80000038: 09d0206f j 800028d4 <vm_boot>
+
+000000008000003c <pop_tf>:
+ 8000003c: 10853283 ld t0,264(a0)
+ 80000040: 14129073 csrw sepc,t0
+ 80000044: 00853083 ld ra,8(a0)
+ 80000048: 01053103 ld sp,16(a0)
+ 8000004c: 01853183 ld gp,24(a0)
+ 80000050: 02053203 ld tp,32(a0)
+ 80000054: 02853283 ld t0,40(a0)
+ 80000058: 03053303 ld t1,48(a0)
+ 8000005c: 03853383 ld t2,56(a0)
+ 80000060: 04053403 ld s0,64(a0)
+ 80000064: 04853483 ld s1,72(a0)
+ 80000068: 05853583 ld a1,88(a0)
+ 8000006c: 06053603 ld a2,96(a0)
+ 80000070: 06853683 ld a3,104(a0)
+ 80000074: 07053703 ld a4,112(a0)
+ 80000078: 07853783 ld a5,120(a0)
+ 8000007c: 08053803 ld a6,128(a0)
+ 80000080: 08853883 ld a7,136(a0)
+ 80000084: 09053903 ld s2,144(a0)
+ 80000088: 09853983 ld s3,152(a0)
+ 8000008c: 0a053a03 ld s4,160(a0)
+ 80000090: 0a853a83 ld s5,168(a0)
+ 80000094: 0b053b03 ld s6,176(a0)
+ 80000098: 0b853b83 ld s7,184(a0)
+ 8000009c: 0c053c03 ld s8,192(a0)
+ 800000a0: 0c853c83 ld s9,200(a0)
+ 800000a4: 0d053d03 ld s10,208(a0)
+ 800000a8: 0d853d83 ld s11,216(a0)
+ 800000ac: 0e053e03 ld t3,224(a0)
+ 800000b0: 0e853e83 ld t4,232(a0)
+ 800000b4: 0f053f03 ld t5,240(a0)
+ 800000b8: 0f853f83 ld t6,248(a0)
+ 800000bc: 05053503 ld a0,80(a0)
+ 800000c0: 10200073 sret
+
+00000000800000c4 <trap_entry>:
+ 800000c4: 14011173 csrrw sp,sscratch,sp
+ 800000c8: 00113423 sd ra,8(sp)
+ 800000cc: 00313c23 sd gp,24(sp)
+ 800000d0: 02413023 sd tp,32(sp)
+ 800000d4: 02513423 sd t0,40(sp)
+ 800000d8: 02613823 sd t1,48(sp)
+ 800000dc: 02713c23 sd t2,56(sp)
+ 800000e0: 04813023 sd s0,64(sp)
+ 800000e4: 04913423 sd s1,72(sp)
+ 800000e8: 04a13823 sd a0,80(sp)
+ 800000ec: 04b13c23 sd a1,88(sp)
+ 800000f0: 06c13023 sd a2,96(sp)
+ 800000f4: 06d13423 sd a3,104(sp)
+ 800000f8: 06e13823 sd a4,112(sp)
+ 800000fc: 06f13c23 sd a5,120(sp)
+ 80000100: 09013023 sd a6,128(sp)
+ 80000104: 09113423 sd a7,136(sp)
+ 80000108: 09213823 sd s2,144(sp)
+ 8000010c: 09313c23 sd s3,152(sp)
+ 80000110: 0b413023 sd s4,160(sp)
+ 80000114: 0b513423 sd s5,168(sp)
+ 80000118: 0b613823 sd s6,176(sp)
+ 8000011c: 0b713c23 sd s7,184(sp)
+ 80000120: 0d813023 sd s8,192(sp)
+ 80000124: 0d913423 sd s9,200(sp)
+ 80000128: 0da13823 sd s10,208(sp)
+ 8000012c: 0db13c23 sd s11,216(sp)
+ 80000130: 0fc13023 sd t3,224(sp)
+ 80000134: 0fd13423 sd t4,232(sp)
+ 80000138: 0fe13823 sd t5,240(sp)
+ 8000013c: 0ff13c23 sd t6,248(sp)
+ 80000140: 140112f3 csrrw t0,sscratch,sp
+ 80000144: 00513823 sd t0,16(sp)
+ 80000148: 100022f3 csrr t0,sstatus
+ 8000014c: 10513023 sd t0,256(sp)
+ 80000150: 141022f3 csrr t0,sepc
+ 80000154: 10513423 sd t0,264(sp)
+ 80000158: 143022f3 csrr t0,stval
+ 8000015c: 10513823 sd t0,272(sp)
+ 80000160: 142022f3 csrr t0,scause
+ 80000164: 10513c23 sd t0,280(sp)
+ 80000168: 00010513 mv a0,sp
+ 8000016c: 4300206f j 8000259c <handle_trap>
+
+Disassembly of section .text:
+
+0000000080002000 <memcpy>:
+ 80002000: 00c5e7b3 or a5,a1,a2
+ 80002004: 00f567b3 or a5,a0,a5
+ 80002008: 0077f793 andi a5,a5,7
+ 8000200c: 00c506b3 add a3,a0,a2
+ 80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+ 80002014: 00c58633 add a2,a1,a2
+ 80002018: 00050793 mv a5,a0
+ 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+ 80002020: 00158593 addi a1,a1,1
+ 80002024: fff5c703 lbu a4,-1(a1)
+ 80002028: 00178793 addi a5,a5,1
+ 8000202c: fee78fa3 sb a4,-1(a5)
+ 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+ 80002034: 00008067 ret
+ 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+ 8000203c: 00050793 mv a5,a0
+ 80002040: 00858593 addi a1,a1,8
+ 80002044: ff85b703 ld a4,-8(a1)
+ 80002048: 00878793 addi a5,a5,8
+ 8000204c: fee7bc23 sd a4,-8(a5)
+ 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+ 80002054: 00008067 ret
+ 80002058: 00008067 ret
+
+000000008000205c <memset>:
+ 8000205c: 00c567b3 or a5,a0,a2
+ 80002060: 0077f793 andi a5,a5,7
+ 80002064: 00c50633 add a2,a0,a2
+ 80002068: 0ff5f593 andi a1,a1,255
+ 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c>
+ 80002070: 00050793 mv a5,a0
+ 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c>
+ 80002078: 00178793 addi a5,a5,1
+ 8000207c: feb78fa3 sb a1,-1(a5)
+ 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+ 80002084: 00008067 ret
+ 80002088: 00859793 slli a5,a1,0x8
+ 8000208c: 00b7e5b3 or a1,a5,a1
+ 80002090: 01059793 slli a5,a1,0x10
+ 80002094: 00b7e7b3 or a5,a5,a1
+ 80002098: 02079593 slli a1,a5,0x20
+ 8000209c: 00f5e5b3 or a1,a1,a5
+ 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28>
+ 800020a4: 00050793 mv a5,a0
+ 800020a8: 00878793 addi a5,a5,8
+ 800020ac: feb7bc23 sd a1,-8(a5)
+ 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c>
+ 800020b4: 00008067 ret
+ 800020b8: 00008067 ret
+
+00000000800020bc <strlen>:
+ 800020bc: 00054783 lbu a5,0(a0)
+ 800020c0: 00050713 mv a4,a0
+ 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20>
+ 800020c8: 00150513 addi a0,a0,1
+ 800020cc: 00054783 lbu a5,0(a0)
+ 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc>
+ 800020d4: 40e50533 sub a0,a0,a4
+ 800020d8: 00008067 ret
+ 800020dc: 00000513 li a0,0
+ 800020e0: 00008067 ret
+
+00000000800020e4 <strcmp>:
+ 800020e4: 00150513 addi a0,a0,1
+ 800020e8: fff54783 lbu a5,-1(a0)
+ 800020ec: 00158593 addi a1,a1,1
+ 800020f0: fff5c703 lbu a4,-1(a1)
+ 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24>
+ 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp>
+ 800020fc: 0007851b sext.w a0,a5
+ 80002100: 40e5053b subw a0,a0,a4
+ 80002104: 00008067 ret
+ 80002108: 00000513 li a0,0
+ 8000210c: ff5ff06f j 80002100 <strcmp+0x1c>
+
+0000000080002110 <memcmp>:
+ 80002110: 00b567b3 or a5,a0,a1
+ 80002114: 0077f793 andi a5,a5,7
+ 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c>
+ 8000211c: ff867693 andi a3,a2,-8
+ 80002120: 00d506b3 add a3,a0,a3
+ 80002124: 00050813 mv a6,a0
+ 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c>
+ 8000212c: 00053703 ld a4,0(a0)
+ 80002130: 0005b783 ld a5,0(a1)
+ 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38>
+ 80002138: 0240006f j 8000215c <memcmp+0x4c>
+ 8000213c: 00053703 ld a4,0(a0)
+ 80002140: 0005b783 ld a5,0(a1)
+ 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44>
+ 80002148: 00850513 addi a0,a0,8
+ 8000214c: 00858593 addi a1,a1,8
+ 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c>
+ 80002154: 41050833 sub a6,a0,a6
+ 80002158: 41060633 sub a2,a2,a6
+ 8000215c: 00c58633 add a2,a1,a2
+ 80002160: 0140006f j 80002174 <memcmp+0x64>
+ 80002164: 00158593 addi a1,a1,1
+ 80002168: fff54783 lbu a5,-1(a0)
+ 8000216c: fff5c703 lbu a4,-1(a1)
+ 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74>
+ 80002174: 00150513 addi a0,a0,1
+ 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54>
+ 8000217c: 00000513 li a0,0
+ 80002180: 00008067 ret
+ 80002184: 40e7853b subw a0,a5,a4
+ 80002188: 00008067 ret
+
+000000008000218c <strcpy>:
+ 8000218c: 00050793 mv a5,a0
+ 80002190: 00158593 addi a1,a1,1
+ 80002194: fff5c703 lbu a4,-1(a1)
+ 80002198: 00178793 addi a5,a5,1
+ 8000219c: fee78fa3 sb a4,-1(a5)
+ 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4>
+ 800021a4: 00008067 ret
+
+00000000800021a8 <atol>:
+ 800021a8: 00054783 lbu a5,0(a0)
+ 800021ac: 02000713 li a4,32
+ 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18>
+ 800021b4: 00150513 addi a0,a0,1
+ 800021b8: 00054783 lbu a5,0(a0)
+ 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc>
+ 800021c0: fd57871b addiw a4,a5,-43
+ 800021c4: 0fd77713 andi a4,a4,253
+ 800021c8: 04070263 beqz a4,8000220c <atol+0x64>
+ 800021cc: 00054683 lbu a3,0(a0)
+ 800021d0: 00050793 mv a5,a0
+ 800021d4: 00000613 li a2,0
+ 800021d8: 04068863 beqz a3,80002228 <atol+0x80>
+ 800021dc: 00000513 li a0,0
+ 800021e0: 00178793 addi a5,a5,1
+ 800021e4: fd06859b addiw a1,a3,-48
+ 800021e8: 00251713 slli a4,a0,0x2
+ 800021ec: 0007c683 lbu a3,0(a5)
+ 800021f0: 00a70533 add a0,a4,a0
+ 800021f4: 00151513 slli a0,a0,0x1
+ 800021f8: 00a58533 add a0,a1,a0
+ 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38>
+ 80002200: 00060463 beqz a2,80002208 <atol+0x60>
+ 80002204: 40a00533 neg a0,a0
+ 80002208: 00008067 ret
+ 8000220c: 00154683 lbu a3,1(a0)
+ 80002210: fd378793 addi a5,a5,-45
+ 80002214: 0017b613 seqz a2,a5
+ 80002218: 00150793 addi a5,a0,1
+ 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34>
+ 80002220: 00000513 li a0,0
+ 80002224: fddff06f j 80002200 <atol+0x58>
+ 80002228: 00000513 li a0,0
+ 8000222c: 00008067 ret
+
+0000000080002230 <terminate>:
+ 80002230: fffff797 auipc a5,0xfffff
+ 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost>
+ 80002238: 0007b703 ld a4,0(a5)
+ 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20>
+ 80002240: fffff717 auipc a4,0xfffff
+ 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost>
+ 80002248: 0007b703 ld a4,0(a5)
+ 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10>
+ 80002250: fffff797 auipc a5,0xfffff
+ 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost>
+ 80002258: 0000006f j 80002258 <terminate+0x28>
+
+000000008000225c <wtf>:
+ 8000225c: ff010113 addi sp,sp,-16
+ 80002260: 34900513 li a0,841
+ 80002264: 00113423 sd ra,8(sp)
+ 80002268: fc9ff0ef jal ra,80002230 <terminate>
+
+000000008000226c <printhex>:
+ 8000226c: fe010113 addi sp,sp,-32
+ 80002270: 01710713 addi a4,sp,23
+ 80002274: 00710813 addi a6,sp,7
+ 80002278: 00900593 li a1,9
+ 8000227c: 00f57793 andi a5,a0,15
+ 80002280: 03000613 li a2,48
+ 80002284: 0ff7f693 andi a3,a5,255
+ 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24>
+ 8000228c: 05700613 li a2,87
+ 80002290: 00c687bb addw a5,a3,a2
+ 80002294: 00f70023 sb a5,0(a4)
+ 80002298: fff70713 addi a4,a4,-1
+ 8000229c: 00455513 srli a0,a0,0x4
+ 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10>
+ 800022a4: 00814783 lbu a5,8(sp)
+ 800022a8: 00010c23 sb zero,24(sp)
+ 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88>
+ 800022b0: 10100513 li a0,257
+ 800022b4: 00810693 addi a3,sp,8
+ 800022b8: fffff717 auipc a4,0xfffff
+ 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost>
+ 800022c0: 03051513 slli a0,a0,0x30
+ 800022c4: 00073583 ld a1,0(a4)
+ 800022c8: 00168693 addi a3,a3,1
+ 800022cc: 00a7e633 or a2,a5,a0
+ 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78>
+ 800022d4: fffff797 auipc a5,0xfffff
+ 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost>
+ 800022dc: 00073783 ld a5,0(a4)
+ 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68>
+ 800022e4: 0006c783 lbu a5,0(a3)
+ 800022e8: fffff597 auipc a1,0xfffff
+ 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost>
+ 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58>
+ 800022f4: 02010113 addi sp,sp,32
+ 800022f8: 00008067 ret
+
+00000000800022fc <handle_fault>:
+ 800022fc: fffff8b7 lui a7,0xfffff
+ 80002300: 01150733 add a4,a0,a7
+ 80002304: 0003e7b7 lui a5,0x3e
+ 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154>
+ 8000230c: 00c55693 srli a3,a0,0xc
+ 80002310: 60068813 addi a6,a3,1536
+ 80002314: 00002617 auipc a2,0x2
+ 80002318: cec60613 addi a2,a2,-788 # 80004000 <pt>
+ 8000231c: 00381793 slli a5,a6,0x3
+ 80002320: 00f607b3 add a5,a2,a5
+ 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000>
+ 80002328: 01157533 and a0,a0,a7
+ 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110>
+ 80002330: 00006797 auipc a5,0x6
+ 80002334: 4b878793 addi a5,a5,1208 # 800087e8 <freelist_head>
+ 80002338: 0007b583 ld a1,0(a5)
+ 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0>
+ 80002340: 0085b783 ld a5,8(a1)
+ 80002344: 00006717 auipc a4,0x6
+ 80002348: 49c70713 addi a4,a4,1180 # 800087e0 <freelist_tail>
+ 8000234c: 00073703 ld a4,0(a4)
+ 80002350: 00006897 auipc a7,0x6
+ 80002354: 48f8bc23 sd a5,1176(a7) # 800087e8 <freelist_head>
+ 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148>
+ 8000235c: 0005b783 ld a5,0(a1)
+ 80002360: 00381893 slli a7,a6,0x3
+ 80002364: 011608b3 add a7,a2,a7
+ 80002368: 00c7d793 srli a5,a5,0xc
+ 8000236c: 00a79793 slli a5,a5,0xa
+ 80002370: 0df7e313 ori t1,a5,223
+ 80002374: 01f7e713 ori a4,a5,31
+ 80002378: 0068b023 sd t1,0(a7)
+ 8000237c: 12050073 sfence.vma a0
+ 80002380: 00006797 auipc a5,0x6
+ 80002384: 07078793 addi a5,a5,112 # 800083f0 <user_mapping>
+ 80002388: 00469693 slli a3,a3,0x4
+ 8000238c: 00d786b3 add a3,a5,a3
+ 80002390: 0006b783 ld a5,0(a3)
+ 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200>
+ 80002398: 0005b783 ld a5,0(a1)
+ 8000239c: 00f6b023 sd a5,0(a3)
+ 800023a0: 0085b783 ld a5,8(a1)
+ 800023a4: 00f6b423 sd a5,8(a3)
+ 800023a8: 000407b7 lui a5,0x40
+ 800023ac: 1007a8f3 csrrs a7,sstatus,a5
+ 800023b0: ffe007b7 lui a5,0xffe00
+ 800023b4: 00f507b3 add a5,a0,a5
+ 800023b8: 000015b7 lui a1,0x1
+ 800023bc: 00050693 mv a3,a0
+ 800023c0: 00b785b3 add a1,a5,a1
+ 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf7810>
+ 800023c8: 0087be83 ld t4,8(a5)
+ 800023cc: 0107be03 ld t3,16(a5)
+ 800023d0: 0187b303 ld t1,24(a5)
+ 800023d4: 01e6b023 sd t5,0(a3)
+ 800023d8: 01d6b423 sd t4,8(a3)
+ 800023dc: 01c6b823 sd t3,16(a3)
+ 800023e0: 0066bc23 sd t1,24(a3)
+ 800023e4: 02078793 addi a5,a5,32
+ 800023e8: 02068693 addi a3,a3,32
+ 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8>
+ 800023f0: 10089073 csrw sstatus,a7
+ 800023f4: 00381813 slli a6,a6,0x3
+ 800023f8: 01060633 add a2,a2,a6
+ 800023fc: 00e63023 sd a4,0(a2)
+ 80002400: 12050073 sfence.vma a0
+ 80002404: 0000100f fence.i
+ 80002408: 00008067 ret
+ 8000240c: 04077693 andi a3,a4,64
+ 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128>
+ 80002414: 04076713 ori a4,a4,64
+ 80002418: 00e7b023 sd a4,0(a5)
+ 8000241c: 12050073 sfence.vma a0
+ 80002420: 00008067 ret
+ 80002424: 08077693 andi a3,a4,128
+ 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250>
+ 8000242c: 00f00693 li a3,15
+ 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250>
+ 80002434: 08076713 ori a4,a4,128
+ 80002438: 00e7b023 sd a4,0(a5)
+ 8000243c: 12050073 sfence.vma a0
+ 80002440: 00008067 ret
+ 80002444: 00006797 auipc a5,0x6
+ 80002448: 3807be23 sd zero,924(a5) # 800087e0 <freelist_tail>
+ 8000244c: f11ff06f j 8000235c <handle_fault+0x60>
+ 80002450: 10100613 li a2,257
+ 80002454: 04100713 li a4,65
+ 80002458: 00001697 auipc a3,0x1
+ 8000245c: 85868693 addi a3,a3,-1960 # 80002cb0 <pass+0x10>
+ 80002460: fffff797 auipc a5,0xfffff
+ 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost>
+ 80002468: 03061613 slli a2,a2,0x30
+ 8000246c: 0007b503 ld a0,0(a5)
+ 80002470: 00168693 addi a3,a3,1
+ 80002474: 00c765b3 or a1,a4,a2
+ 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190>
+ 8000247c: fffff717 auipc a4,0xfffff
+ 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost>
+ 80002484: 0007b703 ld a4,0(a5)
+ 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180>
+ 8000248c: 0006c703 lbu a4,0(a3)
+ 80002490: fffff517 auipc a0,0xfffff
+ 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost>
+ 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170>
+ 8000249c: ff010113 addi sp,sp,-16
+ 800024a0: 00300513 li a0,3
+ 800024a4: 00113423 sd ra,8(sp)
+ 800024a8: d89ff0ef jal ra,80002230 <terminate>
+ 800024ac: 10100693 li a3,257
+ 800024b0: 04100713 li a4,65
+ 800024b4: 00001617 auipc a2,0x1
+ 800024b8: 88c60613 addi a2,a2,-1908 # 80002d40 <pass+0xa0>
+ 800024bc: fffff797 auipc a5,0xfffff
+ 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost>
+ 800024c4: 03069693 slli a3,a3,0x30
+ 800024c8: 0007b503 ld a0,0(a5)
+ 800024cc: 00160613 addi a2,a2,1
+ 800024d0: 00d765b3 or a1,a4,a3
+ 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec>
+ 800024d8: fffff717 auipc a4,0xfffff
+ 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost>
+ 800024e0: 0007b703 ld a4,0(a5)
+ 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc>
+ 800024e8: 00064703 lbu a4,0(a2)
+ 800024ec: fffff517 auipc a0,0xfffff
+ 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost>
+ 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc>
+ 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0>
+ 800024fc: 10100693 li a3,257
+ 80002500: 04100713 li a4,65
+ 80002504: 00001617 auipc a2,0x1
+ 80002508: 85460613 addi a2,a2,-1964 # 80002d58 <pass+0xb8>
+ 8000250c: fffff797 auipc a5,0xfffff
+ 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost>
+ 80002514: 03069693 slli a3,a3,0x30
+ 80002518: 0007b503 ld a0,0(a5)
+ 8000251c: 00160613 addi a2,a2,1
+ 80002520: 00d765b3 or a1,a4,a3
+ 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c>
+ 80002528: fffff717 auipc a4,0xfffff
+ 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost>
+ 80002530: 0007b703 ld a4,0(a5)
+ 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c>
+ 80002538: 00064703 lbu a4,0(a2)
+ 8000253c: fffff517 auipc a0,0xfffff
+ 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost>
+ 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c>
+ 80002548: f55ff06f j 8000249c <handle_fault+0x1a0>
+ 8000254c: 10100613 li a2,257
+ 80002550: 04100713 li a4,65
+ 80002554: 00000697 auipc a3,0x0
+ 80002558: 7a468693 addi a3,a3,1956 # 80002cf8 <pass+0x58>
+ 8000255c: fffff797 auipc a5,0xfffff
+ 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost>
+ 80002564: 03061613 slli a2,a2,0x30
+ 80002568: 0007b503 ld a0,0(a5)
+ 8000256c: 00168693 addi a3,a3,1
+ 80002570: 00c765b3 or a1,a4,a2
+ 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c>
+ 80002578: fffff717 auipc a4,0xfffff
+ 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost>
+ 80002580: 0007b703 ld a4,0(a5)
+ 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c>
+ 80002588: 0006c703 lbu a4,0(a3)
+ 8000258c: fffff517 auipc a0,0xfffff
+ 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost>
+ 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c>
+ 80002598: f05ff06f j 8000249c <handle_fault+0x1a0>
+
+000000008000259c <handle_trap>:
+ 8000259c: 11853583 ld a1,280(a0)
+ 800025a0: f9010113 addi sp,sp,-112
+ 800025a4: 06813023 sd s0,96(sp)
+ 800025a8: 06113423 sd ra,104(sp)
+ 800025ac: 04913c23 sd s1,88(sp)
+ 800025b0: 05213823 sd s2,80(sp)
+ 800025b4: 05313423 sd s3,72(sp)
+ 800025b8: 05413023 sd s4,64(sp)
+ 800025bc: 03513c23 sd s5,56(sp)
+ 800025c0: 03613823 sd s6,48(sp)
+ 800025c4: 03713423 sd s7,40(sp)
+ 800025c8: 03813023 sd s8,32(sp)
+ 800025cc: 01913c23 sd s9,24(sp)
+ 800025d0: 01a13823 sd s10,16(sp)
+ 800025d4: 01b13423 sd s11,8(sp)
+ 800025d8: 00800793 li a5,8
+ 800025dc: 00050413 mv s0,a0
+ 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178>
+ 800025e4: 00200793 li a5,2
+ 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac>
+ 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c>
+ 800025f0: 00100713 li a4,1
+ 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64>
+ 800025f8: 00f00793 li a5,15
+ 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248>
+ 80002600: 11043503 ld a0,272(s0)
+ 80002604: cf9ff0ef jal ra,800022fc <handle_fault>
+ 80002608: 00040513 mv a0,s0
+ 8000260c: 06013403 ld s0,96(sp)
+ 80002610: 06813083 ld ra,104(sp)
+ 80002614: 05813483 ld s1,88(sp)
+ 80002618: 05013903 ld s2,80(sp)
+ 8000261c: 04813983 ld s3,72(sp)
+ 80002620: 04013a03 ld s4,64(sp)
+ 80002624: 03813a83 ld s5,56(sp)
+ 80002628: 03013b03 ld s6,48(sp)
+ 8000262c: 02813b83 ld s7,40(sp)
+ 80002630: 02013c03 ld s8,32(sp)
+ 80002634: 01813c83 ld s9,24(sp)
+ 80002638: 01013d03 ld s10,16(sp)
+ 8000263c: 00813d83 ld s11,8(sp)
+ 80002640: 07010113 addi sp,sp,112
+ 80002644: 9f9fd06f j 8000003c <pop_tf>
+ 80002648: 10853703 ld a4,264(a0)
+ 8000264c: 00377793 andi a5,a4,3
+ 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128>
+ 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0>
+ 80002658: 00301073 fssr zero
+ 8000265c: 00072703 lw a4,0(a4)
+ 80002660: 0007a783 lw a5,0(a5)
+ 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120>
+ 80002668: 10100513 li a0,257
+ 8000266c: 04100793 li a5,65
+ 80002670: 00000697 auipc a3,0x0
+ 80002674: 7c068693 addi a3,a3,1984 # 80002e30 <pass+0x190>
+ 80002678: fffff717 auipc a4,0xfffff
+ 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost>
+ 80002680: 03051513 slli a0,a0,0x30
+ 80002684: 00073583 ld a1,0(a4)
+ 80002688: 00168693 addi a3,a3,1
+ 8000268c: 00a7e633 or a2,a5,a0
+ 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108>
+ 80002694: fffff797 auipc a5,0xfffff
+ 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost>
+ 8000269c: 00073783 ld a5,0(a4)
+ 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8>
+ 800026a4: 0006c783 lbu a5,0(a3)
+ 800026a8: fffff597 auipc a1,0xfffff
+ 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost>
+ 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8>
+ 800026b4: 00300513 li a0,3
+ 800026b8: b79ff0ef jal ra,80002230 <terminate>
+ 800026bc: 00100513 li a0,1
+ 800026c0: b71ff0ef jal ra,80002230 <terminate>
+ 800026c4: 10100793 li a5,257
+ 800026c8: 00000617 auipc a2,0x0
+ 800026cc: 74060613 addi a2,a2,1856 # 80002e08 <pass+0x168>
+ 800026d0: 04100693 li a3,65
+ 800026d4: fffff717 auipc a4,0xfffff
+ 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost>
+ 800026dc: 03079793 slli a5,a5,0x30
+ 800026e0: 00073503 ld a0,0(a4)
+ 800026e4: 00160613 addi a2,a2,1
+ 800026e8: 00f6e5b3 or a1,a3,a5
+ 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164>
+ 800026f0: fffff697 auipc a3,0xfffff
+ 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost>
+ 800026f8: 00073683 ld a3,0(a4)
+ 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154>
+ 80002700: 00064683 lbu a3,0(a2)
+ 80002704: fffff517 auipc a0,0xfffff
+ 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost>
+ 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144>
+ 80002710: fa5ff06f j 800026b4 <handle_trap+0x118>
+ 80002714: 05052983 lw s3,80(a0)
+ 80002718: 00001437 lui s0,0x1
+ 8000271c: 00006d17 auipc s10,0x6
+ 80002720: cd4d0d13 addi s10,s10,-812 # 800083f0 <user_mapping>
+ 80002724: 00002b97 auipc s7,0x2
+ 80002728: 8dcb8b93 addi s7,s7,-1828 # 80004000 <pt>
+ 8000272c: 00040b37 lui s6,0x40
+ 80002730: ffe00ab7 lui s5,0xffe00
+ 80002734: 00006a17 auipc s4,0x6
+ 80002738: 0aca0a13 addi s4,s4,172 # 800087e0 <freelist_tail>
+ 8000273c: 0003f937 lui s2,0x3f
+ 80002740: 01c0006f j 8000275c <handle_trap+0x1c0>
+ 80002744: 00f73423 sd a5,8(a4)
+ 80002748: 00006717 auipc a4,0x6
+ 8000274c: 08f73c23 sd a5,152(a4) # 800087e0 <freelist_tail>
+ 80002750: 000017b7 lui a5,0x1
+ 80002754: 00f40433 add s0,s0,a5
+ 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308>
+ 8000275c: 00c45793 srli a5,s0,0xc
+ 80002760: 00479493 slli s1,a5,0x4
+ 80002764: 009d0733 add a4,s10,s1
+ 80002768: 00073703 ld a4,0(a4)
+ 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4>
+ 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00>
+ 80002774: 00379793 slli a5,a5,0x3
+ 80002778: 00fb87b3 add a5,s7,a5
+ 8000277c: 0007bc03 ld s8,0(a5)
+ 80002780: 040c7793 andi a5,s8,64
+ 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0>
+ 80002788: 100b2cf3 csrrs s9,sstatus,s6
+ 8000278c: 01540db3 add s11,s0,s5
+ 80002790: 00001637 lui a2,0x1
+ 80002794: 000d8593 mv a1,s11
+ 80002798: 00040513 mv a0,s0
+ 8000279c: 975ff0ef jal ra,80002110 <memcmp>
+ 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220>
+ 800027a4: 080c7c13 andi s8,s8,128
+ 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298>
+ 800027ac: 00001637 lui a2,0x1
+ 800027b0: 000d8593 mv a1,s11
+ 800027b4: 00040513 mv a0,s0
+ 800027b8: 849ff0ef jal ra,80002000 <memcpy>
+ 800027bc: 009d07b3 add a5,s10,s1
+ 800027c0: 100c9073 csrw sstatus,s9
+ 800027c4: 000a3703 ld a4,0(s4)
+ 800027c8: 0007b023 sd zero,0(a5)
+ 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8>
+ 800027d0: 00006717 auipc a4,0x6
+ 800027d4: 00f73823 sd a5,16(a4) # 800087e0 <freelist_tail>
+ 800027d8: 00006717 auipc a4,0x6
+ 800027dc: 00f73823 sd a5,16(a4) # 800087e8 <freelist_head>
+ 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4>
+ 800027e4: 10100793 li a5,257
+ 800027e8: 04100613 li a2,65
+ 800027ec: 00000697 auipc a3,0x0
+ 800027f0: 67468693 addi a3,a3,1652 # 80002e60 <pass+0x1c0>
+ 800027f4: fffff717 auipc a4,0xfffff
+ 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost>
+ 800027fc: 03079793 slli a5,a5,0x30
+ 80002800: 00073503 ld a0,0(a4)
+ 80002804: 00168693 addi a3,a3,1
+ 80002808: 00f665b3 or a1,a2,a5
+ 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284>
+ 80002810: fffff617 auipc a2,0xfffff
+ 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost>
+ 80002818: 00073603 ld a2,0(a4)
+ 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274>
+ 80002820: 0006c603 lbu a2,0(a3)
+ 80002824: ffffe517 auipc a0,0xffffe
+ 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost>
+ 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264>
+ 80002830: e85ff06f j 800026b4 <handle_trap+0x118>
+ 80002834: 10100793 li a5,257
+ 80002838: 04100613 li a2,65
+ 8000283c: 00000697 auipc a3,0x0
+ 80002840: 59468693 addi a3,a3,1428 # 80002dd0 <pass+0x130>
+ 80002844: ffffe717 auipc a4,0xffffe
+ 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost>
+ 8000284c: 03079793 slli a5,a5,0x30
+ 80002850: 00168693 addi a3,a3,1
+ 80002854: 00f665b3 or a1,a2,a5
+ 80002858: 00073603 ld a2,0(a4)
+ 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310>
+ 80002860: ffffe617 auipc a2,0xffffe
+ 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost>
+ 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc>
+ 8000286c: 10100793 li a5,257
+ 80002870: 04100613 li a2,65
+ 80002874: 00000697 auipc a3,0x0
+ 80002878: 52468693 addi a3,a3,1316 # 80002d98 <pass+0xf8>
+ 8000287c: ffffe717 auipc a4,0xffffe
+ 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost>
+ 80002884: 03079793 slli a5,a5,0x30
+ 80002888: 00168693 addi a3,a3,1
+ 8000288c: 00f665b3 or a1,a2,a5
+ 80002890: 00073603 ld a2,0(a4)
+ 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324>
+ 80002898: ffffe617 auipc a2,0xffffe
+ 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost>
+ 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4>
+ 800028a4: 00098513 mv a0,s3
+ 800028a8: 989ff0ef jal ra,80002230 <terminate>
+ 800028ac: 0006c603 lbu a2,0(a3)
+ 800028b0: ffffe517 auipc a0,0xffffe
+ 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost>
+ 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4>
+ 800028bc: df9ff06f j 800026b4 <handle_trap+0x118>
+ 800028c0: 0006c603 lbu a2,0(a3)
+ 800028c4: ffffe517 auipc a0,0xffffe
+ 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost>
+ 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec>
+ 800028d0: de5ff06f j 800026b4 <handle_trap+0x118>
+
+00000000800028d4 <vm_boot>:
+ 800028d4: f14027f3 csrr a5,mhartid
+ 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198>
+ 800028dc: 00002697 auipc a3,0x2
+ 800028e0: 72468693 addi a3,a3,1828 # 80005000 <pt+0x1000>
+ 800028e4: 00003717 auipc a4,0x3
+ 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <pt+0x2000>
+ 800028ec: 00c6d693 srli a3,a3,0xc
+ 800028f0: 00c75713 srli a4,a4,0xc
+ 800028f4: 00004797 auipc a5,0x4
+ 800028f8: 70c78793 addi a5,a5,1804 # 80007000 <pt+0x3000>
+ 800028fc: 00a69693 slli a3,a3,0xa
+ 80002900: 00a71713 slli a4,a4,0xa
+ 80002904: 0016e693 ori a3,a3,1
+ 80002908: 00176713 ori a4,a4,1
+ 8000290c: 00c7d793 srli a5,a5,0xc
+ 80002910: 00001897 auipc a7,0x1
+ 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <pt>
+ 80002918: 00a79793 slli a5,a5,0xa
+ 8000291c: 00002697 auipc a3,0x2
+ 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <pt+0xff8>
+ 80002924: 20000737 lui a4,0x20000
+ 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31>
+ 8000292c: fff00593 li a1,-1
+ 80002930: 0017e793 ori a5,a5,1
+ 80002934: 00001617 auipc a2,0x1
+ 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <pt>
+ 8000293c: ed010113 addi sp,sp,-304
+ 80002940: 03f59813 slli a6,a1,0x3f
+ 80002944: 00004697 auipc a3,0x4
+ 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <pt+0x2ff8>
+ 8000294c: 00002717 auipc a4,0x2
+ 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <pt+0x1000>
+ 80002954: 00c65793 srli a5,a2,0xc
+ 80002958: 12113423 sd ra,296(sp)
+ 8000295c: 12813023 sd s0,288(sp)
+ 80002960: 0107e7b3 or a5,a5,a6
+ 80002964: 18079073 csrw satp,a5
+ 80002968: 01f00793 li a5,31
+ 8000296c: 00000297 auipc t0,0x0
+ 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac>
+ 80002974: 305292f3 csrrw t0,mtvec,t0
+ 80002978: 3b059073 csrw pmpaddr0,a1
+ 8000297c: 3a079073 csrw pmpcfg0,a5
+ 80002980: bff00813 li a6,-1025
+ 80002984: 01581813 slli a6,a6,0x15
+ 80002988: ffffd797 auipc a5,0xffffd
+ 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry>
+ 80002990: 010787b3 add a5,a5,a6
+ 80002994: 10579073 csrw stvec,a5
+ 80002998: 340027f3 csrr a5,mscratch
+ 8000299c: 010787b3 add a5,a5,a6
+ 800029a0: 14079073 csrw sscratch,a5
+ 800029a4: 0000b7b7 lui a5,0xb
+ 800029a8: 1007879b addiw a5,a5,256
+ 800029ac: 30279073 csrw medeleg,a5
+ 800029b0: 0001e7b7 lui a5,0x1e
+ 800029b4: 30079073 csrw mstatus,a5
+ 800029b8: 30405073 csrwi mie,0
+ 800029bc: 00005697 auipc a3,0x5
+ 800029c0: 64468693 addi a3,a3,1604 # 80008000 <freelist_nodes>
+ 800029c4: 010687b3 add a5,a3,a6
+ 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20>
+ 800029cc: 00006617 auipc a2,0x6
+ 800029d0: e0f63e23 sd a5,-484(a2) # 800087e8 <freelist_head>
+ 800029d4: 00006797 auipc a5,0x6
+ 800029d8: e0e7b623 sd a4,-500(a5) # 800087e0 <freelist_tail>
+ 800029dc: 00006317 auipc t1,0x6
+ 800029e0: a1430313 addi t1,t1,-1516 # 800083f0 <user_mapping>
+ 800029e4: 02100793 li a5,33
+ 800029e8: 000808b7 lui a7,0x80
+ 800029ec: 01080813 addi a6,a6,16
+ 800029f0: 03f7871b addiw a4,a5,63
+ 800029f4: 02071713 slli a4,a4,0x20
+ 800029f8: 0017d61b srliw a2,a5,0x1
+ 800029fc: 02075713 srli a4,a4,0x20
+ 80002a00: 00c7c7b3 xor a5,a5,a2
+ 80002a04: 01170733 add a4,a4,a7
+ 80002a08: 010685b3 add a1,a3,a6
+ 80002a0c: 00c71713 slli a4,a4,0xc
+ 80002a10: 0057979b slliw a5,a5,0x5
+ 80002a14: 00e6b023 sd a4,0(a3)
+ 80002a18: 00b6b423 sd a1,8(a3)
+ 80002a1c: 0207f793 andi a5,a5,32
+ 80002a20: 01068693 addi a3,a3,16
+ 80002a24: 00c7e7b3 or a5,a5,a2
+ 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c>
+ 80002a2c: 00050413 mv s0,a0
+ 80002a30: 12000613 li a2,288
+ 80002a34: 00000593 li a1,0
+ 80002a38: 00010513 mv a0,sp
+ 80002a3c: 00006797 auipc a5,0x6
+ 80002a40: 9a07b623 sd zero,-1620(a5) # 800083e8 <freelist_nodes+0x3e8>
+ 80002a44: e18ff0ef jal ra,8000205c <memset>
+ 80002a48: 800007b7 lui a5,0x80000
+ 80002a4c: 00f40433 add s0,s0,a5
+ 80002a50: 00010513 mv a0,sp
+ 80002a54: 10813423 sd s0,264(sp)
+ 80002a58: de4fd0ef jal ra,8000003c <pop_tf>
+ 80002a5c: 12813083 ld ra,296(sp)
+ 80002a60: 12013403 ld s0,288(sp)
+ 80002a64: 13010113 addi sp,sp,304
+ 80002a68: 00008067 ret
+ 80002a6c: 0d3917b7 lui a5,0xd391
+ 80002a70: 000805b7 lui a1,0x80
+ 80002a74: b8678793 addi a5,a5,-1146 # d390b86 <_start-0x72c6f47a>
+ 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004>
+ 80002a7c: 00100613 li a2,1
+ 80002a80: 00b7f733 and a4,a5,a1
+ 80002a84: 01f61613 slli a2,a2,0x1f
+ 80002a88: 0017f693 andi a3,a5,1
+ 80002a8c: 02079793 slli a5,a5,0x20
+ 80002a90: 0207d793 srli a5,a5,0x20
+ 80002a94: 00c70733 add a4,a4,a2
+ 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8>
+ 80002a9c: 0007202f amoadd.w zero,zero,(a4)
+ 80002aa0: 0017d793 srli a5,a5,0x1
+ 80002aa4: 00b7f733 and a4,a5,a1
+ 80002aa8: 0017f693 andi a3,a5,1
+ 80002aac: 02079793 slli a5,a5,0x20
+ 80002ab0: 0207d793 srli a5,a5,0x20
+ 80002ab4: 00c70733 add a4,a4,a2
+ 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8>
+ 80002abc: 00072003 lw zero,0(a4)
+ 80002ac0: 0017d793 srli a5,a5,0x1
+ 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0>
+
+0000000080002ac8 <userstart>:
+ 80002ac8: 00301073 fssr zero
+
+0000000080002acc <test_2>:
+ 80002acc: 00200193 li gp,2
+ 80002ad0: 00000517 auipc a0,0x0
+ 80002ad4: 53050513 addi a0,a0,1328 # 80003000 <test_2_data>
+ 80002ad8: 00053683 ld a3,0(a0)
+ 80002adc: 00200513 li a0,2
+ 80002ae0: d2050053 fcvt.d.w ft0,a0
+ 80002ae4: 00101073 fsflags zero
+ 80002ae8: e2000553 fmv.x.d a0,ft0
+ 80002aec: 1ad51263 bne a0,a3,80002c90 <fail>
+
+0000000080002af0 <test_3>:
+ 80002af0: 00300193 li gp,3
+ 80002af4: 00000517 auipc a0,0x0
+ 80002af8: 51450513 addi a0,a0,1300 # 80003008 <test_3_data>
+ 80002afc: 00053683 ld a3,0(a0)
+ 80002b00: ffe00513 li a0,-2
+ 80002b04: d2050053 fcvt.d.w ft0,a0
+ 80002b08: 00101073 fsflags zero
+ 80002b0c: e2000553 fmv.x.d a0,ft0
+ 80002b10: 18d51063 bne a0,a3,80002c90 <fail>
+
+0000000080002b14 <test_4>:
+ 80002b14: 00400193 li gp,4
+ 80002b18: 00000517 auipc a0,0x0
+ 80002b1c: 4f850513 addi a0,a0,1272 # 80003010 <test_4_data>
+ 80002b20: 00053683 ld a3,0(a0)
+ 80002b24: 00200513 li a0,2
+ 80002b28: d2150053 fcvt.d.wu ft0,a0
+ 80002b2c: 00101073 fsflags zero
+ 80002b30: e2000553 fmv.x.d a0,ft0
+ 80002b34: 14d51e63 bne a0,a3,80002c90 <fail>
+
+0000000080002b38 <test_5>:
+ 80002b38: 00500193 li gp,5
+ 80002b3c: 00000517 auipc a0,0x0
+ 80002b40: 4dc50513 addi a0,a0,1244 # 80003018 <test_5_data>
+ 80002b44: 00053683 ld a3,0(a0)
+ 80002b48: ffe00513 li a0,-2
+ 80002b4c: d2150053 fcvt.d.wu ft0,a0
+ 80002b50: 00101073 fsflags zero
+ 80002b54: e2000553 fmv.x.d a0,ft0
+ 80002b58: 12d51c63 bne a0,a3,80002c90 <fail>
+
+0000000080002b5c <test_6>:
+ 80002b5c: 00600193 li gp,6
+ 80002b60: 00000517 auipc a0,0x0
+ 80002b64: 4c050513 addi a0,a0,1216 # 80003020 <test_6_data>
+ 80002b68: 00053683 ld a3,0(a0)
+ 80002b6c: 00200513 li a0,2
+ 80002b70: d2257053 fcvt.d.l ft0,a0
+ 80002b74: 00101073 fsflags zero
+ 80002b78: e2000553 fmv.x.d a0,ft0
+ 80002b7c: 10d51a63 bne a0,a3,80002c90 <fail>
+
+0000000080002b80 <test_7>:
+ 80002b80: 00700193 li gp,7
+ 80002b84: 00000517 auipc a0,0x0
+ 80002b88: 4a450513 addi a0,a0,1188 # 80003028 <test_7_data>
+ 80002b8c: 00053683 ld a3,0(a0)
+ 80002b90: ffe00513 li a0,-2
+ 80002b94: d2257053 fcvt.d.l ft0,a0
+ 80002b98: 00101073 fsflags zero
+ 80002b9c: e2000553 fmv.x.d a0,ft0
+ 80002ba0: 0ed51863 bne a0,a3,80002c90 <fail>
+
+0000000080002ba4 <test_8>:
+ 80002ba4: 00800193 li gp,8
+ 80002ba8: 00000517 auipc a0,0x0
+ 80002bac: 48850513 addi a0,a0,1160 # 80003030 <test_8_data>
+ 80002bb0: 00053683 ld a3,0(a0)
+ 80002bb4: 00200513 li a0,2
+ 80002bb8: d2357053 fcvt.d.lu ft0,a0
+ 80002bbc: 00101073 fsflags zero
+ 80002bc0: e2000553 fmv.x.d a0,ft0
+ 80002bc4: 0cd51663 bne a0,a3,80002c90 <fail>
+
+0000000080002bc8 <test_9>:
+ 80002bc8: 00900193 li gp,9
+ 80002bcc: 00000517 auipc a0,0x0
+ 80002bd0: 46c50513 addi a0,a0,1132 # 80003038 <test_9_data>
+ 80002bd4: 00053683 ld a3,0(a0)
+ 80002bd8: ffe00513 li a0,-2
+ 80002bdc: d2357053 fcvt.d.lu ft0,a0
+ 80002be0: 00101073 fsflags zero
+ 80002be4: e2000553 fmv.x.d a0,ft0
+ 80002be8: 0ad51463 bne a0,a3,80002c90 <fail>
+
+0000000080002bec <test_10>:
+ 80002bec: 00a00193 li gp,10
+ 80002bf0: 00000517 auipc a0,0x0
+ 80002bf4: 45050513 addi a0,a0,1104 # 80003040 <test_10_data>
+ 80002bf8: 00053007 fld ft0,0(a0)
+ 80002bfc: 00853087 fld ft1,8(a0)
+ 80002c00: 01053107 fld ft2,16(a0)
+ 80002c04: 01853683 ld a3,24(a0)
+ 80002c08: 401071d3 fcvt.s.d ft3,ft0
+ 80002c0c: 420181d3 fcvt.d.s ft3,ft3
+ 80002c10: e2018553 fmv.x.d a0,ft3
+ 80002c14: 001015f3 fsflags a1,zero
+ 80002c18: 00000613 li a2,0
+ 80002c1c: 06d51a63 bne a0,a3,80002c90 <fail>
+ 80002c20: 06c59863 bne a1,a2,80002c90 <fail>
+
+0000000080002c24 <test_11>:
+ 80002c24: 00b00193 li gp,11
+ 80002c28: 00000517 auipc a0,0x0
+ 80002c2c: 43850513 addi a0,a0,1080 # 80003060 <test_11_data>
+ 80002c30: 00052007 flw ft0,0(a0)
+ 80002c34: 00452087 flw ft1,4(a0)
+ 80002c38: 00852107 flw ft2,8(a0)
+ 80002c3c: 00c52683 lw a3,12(a0)
+ 80002c40: 420001d3 fcvt.d.s ft3,ft0
+ 80002c44: 4011f1d3 fcvt.s.d ft3,ft3
+ 80002c48: e0018553 fmv.x.w a0,ft3
+ 80002c4c: 001015f3 fsflags a1,zero
+ 80002c50: 00000613 li a2,0
+ 80002c54: 02d51e63 bne a0,a3,80002c90 <fail>
+ 80002c58: 02c59c63 bne a1,a2,80002c90 <fail>
+
+0000000080002c5c <test_12>:
+ 80002c5c: 00000597 auipc a1,0x0
+ 80002c60: 41458593 addi a1,a1,1044 # 80003070 <begin_signature>
+ 80002c64: 0005b603 ld a2,0(a1)
+ 80002c68: f2060153 fmv.d.x ft2,a2
+ 80002c6c: 40117153 fcvt.s.d ft2,ft2
+ 80002c70: 42010153 fcvt.d.s ft2,ft2
+ 80002c74: e2010553 fmv.x.d a0,ft2
+ 80002c78: 00001eb7 lui t4,0x1
+ 80002c7c: fffe8e9b addiw t4,t4,-1
+ 80002c80: 033e9e93 slli t4,t4,0x33
+ 80002c84: 00c00193 li gp,12
+ 80002c88: 01d51463 bne a0,t4,80002c90 <fail>
+ 80002c8c: 00301a63 bne zero,gp,80002ca0 <pass>
+
+0000000080002c90 <fail>:
+ 80002c90: 00119513 slli a0,gp,0x1
+ 80002c94: 00050063 beqz a0,80002c94 <fail+0x4>
+ 80002c98: 00156513 ori a0,a0,1
+ 80002c9c: 00000073 ecall
+
+0000000080002ca0 <pass>:
+ 80002ca0: 00100513 li a0,1
+ 80002ca4: 00000073 ecall
+ 80002ca8: c0001073 unimp
+
+Disassembly of section .data:
+
+0000000080003000 <test_2_data>:
+ 80003000: 0000 unimp
+ 80003002: 0000 unimp
+ 80003004: 0000 unimp
+ 80003006: 4000 lw s0,0(s0)
+
+0000000080003008 <test_3_data>:
+ 80003008: 0000 unimp
+ 8000300a: 0000 unimp
+ 8000300c: 0000 unimp
+ 8000300e: c000 sw s0,0(s0)
+
+0000000080003010 <test_4_data>:
+ 80003010: 0000 unimp
+ 80003012: 0000 unimp
+ 80003014: 0000 unimp
+ 80003016: 4000 lw s0,0(s0)
+
+0000000080003018 <test_5_data>:
+ 80003018: 0000 unimp
+ 8000301a: ffc0 sd s0,184(a5)
+ 8000301c: ffff 0xffff
+ 8000301e: jal gp,8000701e <pt+0x301e>
+
+0000000080003020 <test_6_data>:
+ 80003020: 0000 unimp
+ 80003022: 0000 unimp
+ 80003024: 0000 unimp
+ 80003026: 4000 lw s0,0(s0)
+
+0000000080003028 <test_7_data>:
+ 80003028: 0000 unimp
+ 8000302a: 0000 unimp
+ 8000302c: 0000 unimp
+ 8000302e: c000 sw s0,0(s0)
+
+0000000080003030 <test_8_data>:
+ 80003030: 0000 unimp
+ 80003032: 0000 unimp
+ 80003034: 0000 unimp
+ 80003036: 4000 lw s0,0(s0)
+
+0000000080003038 <test_9_data>:
+ 80003038: 0000 unimp
+ 8000303a: 0000 unimp
+ 8000303c: 0000 unimp
+ 8000303e: 43f0 lw a2,68(a5)
+
+0000000080003040 <test_10_data>:
+ 80003040: 0000 unimp
+ 80003042: 0000 unimp
+ 80003044: 0000 unimp
+ 80003046: bff8 fsd fa4,248(a5)
+ 80003048: 0000 unimp
+ 8000304a: 0000 unimp
+ 8000304c: 0000 unimp
+ 8000304e: 0000 unimp
+ 80003050: 0000 unimp
+ 80003052: 0000 unimp
+ 80003054: 0000 unimp
+ 80003056: 0000 unimp
+ 80003058: 0000 unimp
+ 8000305a: 0000 unimp
+ 8000305c: 0000 unimp
+ 8000305e: bff8 fsd fa4,248(a5)
+
+0000000080003060 <test_11_data>:
+ 80003060: 0000 unimp
+ 80003062: bfc0 fsd fs0,184(a5)
+ 80003064: 0000 unimp
+ 80003066: 0000 unimp
+ 80003068: 0000 unimp
+ 8000306a: 0000 unimp
+ 8000306c: 0000 unimp
+ 8000306e: bfc0 fsd fs0,184(a5)
+
+0000000080003070 <begin_signature>:
+ 80003070: 8004 0x8004
+ 80003072: ffff 0xffff
+ 80003074: ffff 0xffff
+ 80003076: 7ffc ld a5,248(a5)
diff --git a/test/riscv-tests/rv64ud-v-fcvt.elf b/test/riscv-tests/rv64ud-v-fcvt.elf
new file mode 100644
index 0000000..13cd934
--- /dev/null
+++ b/test/riscv-tests/rv64ud-v-fcvt.elf
Binary files differ
diff --git a/test/riscv-tests/rv64ud-v-fcvt_w.dump b/test/riscv-tests/rv64ud-v-fcvt_w.dump
new file mode 100644
index 0000000..a7e35f2
--- /dev/null
+++ b/test/riscv-tests/rv64ud-v-fcvt_w.dump
@@ -0,0 +1,2105 @@
+
+rv64ud-v-fcvt_w: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 00c0006f j 8000000c <handle_reset>
+
+0000000080000004 <nmi_vector>:
+ 80000004: 2580206f j 8000225c <wtf>
+
+0000000080000008 <trap_vector>:
+ 80000008: 2540206f j 8000225c <wtf>
+
+000000008000000c <handle_reset>:
+ 8000000c: 00000297 auipc t0,0x0
+ 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+ 80000014: 30529073 csrw mtvec,t0
+ 80000018: 0000a117 auipc sp,0xa
+ 8000001c: 6b810113 addi sp,sp,1720 # 8000a6d0 <_end+0xee0>
+ 80000020: f14022f3 csrr t0,mhartid
+ 80000024: 00c29293 slli t0,t0,0xc
+ 80000028: 00510133 add sp,sp,t0
+ 8000002c: 34011073 csrw mscratch,sp
+ 80000030: 00003517 auipc a0,0x3
+ 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart>
+ 80000038: 09d0206f j 800028d4 <vm_boot>
+
+000000008000003c <pop_tf>:
+ 8000003c: 10853283 ld t0,264(a0)
+ 80000040: 14129073 csrw sepc,t0
+ 80000044: 00853083 ld ra,8(a0)
+ 80000048: 01053103 ld sp,16(a0)
+ 8000004c: 01853183 ld gp,24(a0)
+ 80000050: 02053203 ld tp,32(a0)
+ 80000054: 02853283 ld t0,40(a0)
+ 80000058: 03053303 ld t1,48(a0)
+ 8000005c: 03853383 ld t2,56(a0)
+ 80000060: 04053403 ld s0,64(a0)
+ 80000064: 04853483 ld s1,72(a0)
+ 80000068: 05853583 ld a1,88(a0)
+ 8000006c: 06053603 ld a2,96(a0)
+ 80000070: 06853683 ld a3,104(a0)
+ 80000074: 07053703 ld a4,112(a0)
+ 80000078: 07853783 ld a5,120(a0)
+ 8000007c: 08053803 ld a6,128(a0)
+ 80000080: 08853883 ld a7,136(a0)
+ 80000084: 09053903 ld s2,144(a0)
+ 80000088: 09853983 ld s3,152(a0)
+ 8000008c: 0a053a03 ld s4,160(a0)
+ 80000090: 0a853a83 ld s5,168(a0)
+ 80000094: 0b053b03 ld s6,176(a0)
+ 80000098: 0b853b83 ld s7,184(a0)
+ 8000009c: 0c053c03 ld s8,192(a0)
+ 800000a0: 0c853c83 ld s9,200(a0)
+ 800000a4: 0d053d03 ld s10,208(a0)
+ 800000a8: 0d853d83 ld s11,216(a0)
+ 800000ac: 0e053e03 ld t3,224(a0)
+ 800000b0: 0e853e83 ld t4,232(a0)
+ 800000b4: 0f053f03 ld t5,240(a0)
+ 800000b8: 0f853f83 ld t6,248(a0)
+ 800000bc: 05053503 ld a0,80(a0)
+ 800000c0: 10200073 sret
+
+00000000800000c4 <trap_entry>:
+ 800000c4: 14011173 csrrw sp,sscratch,sp
+ 800000c8: 00113423 sd ra,8(sp)
+ 800000cc: 00313c23 sd gp,24(sp)
+ 800000d0: 02413023 sd tp,32(sp)
+ 800000d4: 02513423 sd t0,40(sp)
+ 800000d8: 02613823 sd t1,48(sp)
+ 800000dc: 02713c23 sd t2,56(sp)
+ 800000e0: 04813023 sd s0,64(sp)
+ 800000e4: 04913423 sd s1,72(sp)
+ 800000e8: 04a13823 sd a0,80(sp)
+ 800000ec: 04b13c23 sd a1,88(sp)
+ 800000f0: 06c13023 sd a2,96(sp)
+ 800000f4: 06d13423 sd a3,104(sp)
+ 800000f8: 06e13823 sd a4,112(sp)
+ 800000fc: 06f13c23 sd a5,120(sp)
+ 80000100: 09013023 sd a6,128(sp)
+ 80000104: 09113423 sd a7,136(sp)
+ 80000108: 09213823 sd s2,144(sp)
+ 8000010c: 09313c23 sd s3,152(sp)
+ 80000110: 0b413023 sd s4,160(sp)
+ 80000114: 0b513423 sd s5,168(sp)
+ 80000118: 0b613823 sd s6,176(sp)
+ 8000011c: 0b713c23 sd s7,184(sp)
+ 80000120: 0d813023 sd s8,192(sp)
+ 80000124: 0d913423 sd s9,200(sp)
+ 80000128: 0da13823 sd s10,208(sp)
+ 8000012c: 0db13c23 sd s11,216(sp)
+ 80000130: 0fc13023 sd t3,224(sp)
+ 80000134: 0fd13423 sd t4,232(sp)
+ 80000138: 0fe13823 sd t5,240(sp)
+ 8000013c: 0ff13c23 sd t6,248(sp)
+ 80000140: 140112f3 csrrw t0,sscratch,sp
+ 80000144: 00513823 sd t0,16(sp)
+ 80000148: 100022f3 csrr t0,sstatus
+ 8000014c: 10513023 sd t0,256(sp)
+ 80000150: 141022f3 csrr t0,sepc
+ 80000154: 10513423 sd t0,264(sp)
+ 80000158: 143022f3 csrr t0,stval
+ 8000015c: 10513823 sd t0,272(sp)
+ 80000160: 142022f3 csrr t0,scause
+ 80000164: 10513c23 sd t0,280(sp)
+ 80000168: 00010513 mv a0,sp
+ 8000016c: 4300206f j 8000259c <handle_trap>
+
+Disassembly of section .text:
+
+0000000080002000 <memcpy>:
+ 80002000: 00c5e7b3 or a5,a1,a2
+ 80002004: 00f567b3 or a5,a0,a5
+ 80002008: 0077f793 andi a5,a5,7
+ 8000200c: 00c506b3 add a3,a0,a2
+ 80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+ 80002014: 00c58633 add a2,a1,a2
+ 80002018: 00050793 mv a5,a0
+ 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+ 80002020: 00158593 addi a1,a1,1
+ 80002024: fff5c703 lbu a4,-1(a1)
+ 80002028: 00178793 addi a5,a5,1
+ 8000202c: fee78fa3 sb a4,-1(a5)
+ 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+ 80002034: 00008067 ret
+ 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+ 8000203c: 00050793 mv a5,a0
+ 80002040: 00858593 addi a1,a1,8
+ 80002044: ff85b703 ld a4,-8(a1)
+ 80002048: 00878793 addi a5,a5,8
+ 8000204c: fee7bc23 sd a4,-8(a5)
+ 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+ 80002054: 00008067 ret
+ 80002058: 00008067 ret
+
+000000008000205c <memset>:
+ 8000205c: 00c567b3 or a5,a0,a2
+ 80002060: 0077f793 andi a5,a5,7
+ 80002064: 00c50633 add a2,a0,a2
+ 80002068: 0ff5f593 andi a1,a1,255
+ 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c>
+ 80002070: 00050793 mv a5,a0
+ 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c>
+ 80002078: 00178793 addi a5,a5,1
+ 8000207c: feb78fa3 sb a1,-1(a5)
+ 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+ 80002084: 00008067 ret
+ 80002088: 00859793 slli a5,a1,0x8
+ 8000208c: 00b7e5b3 or a1,a5,a1
+ 80002090: 01059793 slli a5,a1,0x10
+ 80002094: 00b7e7b3 or a5,a5,a1
+ 80002098: 02079593 slli a1,a5,0x20
+ 8000209c: 00f5e5b3 or a1,a1,a5
+ 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28>
+ 800020a4: 00050793 mv a5,a0
+ 800020a8: 00878793 addi a5,a5,8
+ 800020ac: feb7bc23 sd a1,-8(a5)
+ 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c>
+ 800020b4: 00008067 ret
+ 800020b8: 00008067 ret
+
+00000000800020bc <strlen>:
+ 800020bc: 00054783 lbu a5,0(a0)
+ 800020c0: 00050713 mv a4,a0
+ 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20>
+ 800020c8: 00150513 addi a0,a0,1
+ 800020cc: 00054783 lbu a5,0(a0)
+ 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc>
+ 800020d4: 40e50533 sub a0,a0,a4
+ 800020d8: 00008067 ret
+ 800020dc: 00000513 li a0,0
+ 800020e0: 00008067 ret
+
+00000000800020e4 <strcmp>:
+ 800020e4: 00150513 addi a0,a0,1
+ 800020e8: fff54783 lbu a5,-1(a0)
+ 800020ec: 00158593 addi a1,a1,1
+ 800020f0: fff5c703 lbu a4,-1(a1)
+ 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24>
+ 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp>
+ 800020fc: 0007851b sext.w a0,a5
+ 80002100: 40e5053b subw a0,a0,a4
+ 80002104: 00008067 ret
+ 80002108: 00000513 li a0,0
+ 8000210c: ff5ff06f j 80002100 <strcmp+0x1c>
+
+0000000080002110 <memcmp>:
+ 80002110: 00b567b3 or a5,a0,a1
+ 80002114: 0077f793 andi a5,a5,7
+ 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c>
+ 8000211c: ff867693 andi a3,a2,-8
+ 80002120: 00d506b3 add a3,a0,a3
+ 80002124: 00050813 mv a6,a0
+ 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c>
+ 8000212c: 00053703 ld a4,0(a0)
+ 80002130: 0005b783 ld a5,0(a1)
+ 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38>
+ 80002138: 0240006f j 8000215c <memcmp+0x4c>
+ 8000213c: 00053703 ld a4,0(a0)
+ 80002140: 0005b783 ld a5,0(a1)
+ 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44>
+ 80002148: 00850513 addi a0,a0,8
+ 8000214c: 00858593 addi a1,a1,8
+ 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c>
+ 80002154: 41050833 sub a6,a0,a6
+ 80002158: 41060633 sub a2,a2,a6
+ 8000215c: 00c58633 add a2,a1,a2
+ 80002160: 0140006f j 80002174 <memcmp+0x64>
+ 80002164: 00158593 addi a1,a1,1
+ 80002168: fff54783 lbu a5,-1(a0)
+ 8000216c: fff5c703 lbu a4,-1(a1)
+ 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74>
+ 80002174: 00150513 addi a0,a0,1
+ 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54>
+ 8000217c: 00000513 li a0,0
+ 80002180: 00008067 ret
+ 80002184: 40e7853b subw a0,a5,a4
+ 80002188: 00008067 ret
+
+000000008000218c <strcpy>:
+ 8000218c: 00050793 mv a5,a0
+ 80002190: 00158593 addi a1,a1,1
+ 80002194: fff5c703 lbu a4,-1(a1)
+ 80002198: 00178793 addi a5,a5,1
+ 8000219c: fee78fa3 sb a4,-1(a5)
+ 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4>
+ 800021a4: 00008067 ret
+
+00000000800021a8 <atol>:
+ 800021a8: 00054783 lbu a5,0(a0)
+ 800021ac: 02000713 li a4,32
+ 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18>
+ 800021b4: 00150513 addi a0,a0,1
+ 800021b8: 00054783 lbu a5,0(a0)
+ 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc>
+ 800021c0: fd57871b addiw a4,a5,-43
+ 800021c4: 0fd77713 andi a4,a4,253
+ 800021c8: 04070263 beqz a4,8000220c <atol+0x64>
+ 800021cc: 00054683 lbu a3,0(a0)
+ 800021d0: 00050793 mv a5,a0
+ 800021d4: 00000613 li a2,0
+ 800021d8: 04068863 beqz a3,80002228 <atol+0x80>
+ 800021dc: 00000513 li a0,0
+ 800021e0: 00178793 addi a5,a5,1
+ 800021e4: fd06859b addiw a1,a3,-48
+ 800021e8: 00251713 slli a4,a0,0x2
+ 800021ec: 0007c683 lbu a3,0(a5)
+ 800021f0: 00a70533 add a0,a4,a0
+ 800021f4: 00151513 slli a0,a0,0x1
+ 800021f8: 00a58533 add a0,a1,a0
+ 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38>
+ 80002200: 00060463 beqz a2,80002208 <atol+0x60>
+ 80002204: 40a00533 neg a0,a0
+ 80002208: 00008067 ret
+ 8000220c: 00154683 lbu a3,1(a0)
+ 80002210: fd378793 addi a5,a5,-45
+ 80002214: 0017b613 seqz a2,a5
+ 80002218: 00150793 addi a5,a0,1
+ 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34>
+ 80002220: 00000513 li a0,0
+ 80002224: fddff06f j 80002200 <atol+0x58>
+ 80002228: 00000513 li a0,0
+ 8000222c: 00008067 ret
+
+0000000080002230 <terminate>:
+ 80002230: fffff797 auipc a5,0xfffff
+ 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost>
+ 80002238: 0007b703 ld a4,0(a5)
+ 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20>
+ 80002240: fffff717 auipc a4,0xfffff
+ 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost>
+ 80002248: 0007b703 ld a4,0(a5)
+ 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10>
+ 80002250: fffff797 auipc a5,0xfffff
+ 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost>
+ 80002258: 0000006f j 80002258 <terminate+0x28>
+
+000000008000225c <wtf>:
+ 8000225c: ff010113 addi sp,sp,-16
+ 80002260: 34900513 li a0,841
+ 80002264: 00113423 sd ra,8(sp)
+ 80002268: fc9ff0ef jal ra,80002230 <terminate>
+
+000000008000226c <printhex>:
+ 8000226c: fe010113 addi sp,sp,-32
+ 80002270: 01710713 addi a4,sp,23
+ 80002274: 00710813 addi a6,sp,7
+ 80002278: 00900593 li a1,9
+ 8000227c: 00f57793 andi a5,a0,15
+ 80002280: 03000613 li a2,48
+ 80002284: 0ff7f693 andi a3,a5,255
+ 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24>
+ 8000228c: 05700613 li a2,87
+ 80002290: 00c687bb addw a5,a3,a2
+ 80002294: 00f70023 sb a5,0(a4)
+ 80002298: fff70713 addi a4,a4,-1
+ 8000229c: 00455513 srli a0,a0,0x4
+ 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10>
+ 800022a4: 00814783 lbu a5,8(sp)
+ 800022a8: 00010c23 sb zero,24(sp)
+ 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88>
+ 800022b0: 10100513 li a0,257
+ 800022b4: 00810693 addi a3,sp,8
+ 800022b8: fffff717 auipc a4,0xfffff
+ 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost>
+ 800022c0: 03051513 slli a0,a0,0x30
+ 800022c4: 00073583 ld a1,0(a4)
+ 800022c8: 00168693 addi a3,a3,1
+ 800022cc: 00a7e633 or a2,a5,a0
+ 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78>
+ 800022d4: fffff797 auipc a5,0xfffff
+ 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost>
+ 800022dc: 00073783 ld a5,0(a4)
+ 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68>
+ 800022e4: 0006c783 lbu a5,0(a3)
+ 800022e8: fffff597 auipc a1,0xfffff
+ 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost>
+ 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58>
+ 800022f4: 02010113 addi sp,sp,32
+ 800022f8: 00008067 ret
+
+00000000800022fc <handle_fault>:
+ 800022fc: fffff8b7 lui a7,0xfffff
+ 80002300: 01150733 add a4,a0,a7
+ 80002304: 0003e7b7 lui a5,0x3e
+ 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154>
+ 8000230c: 00c55693 srli a3,a0,0xc
+ 80002310: 60068813 addi a6,a3,1536
+ 80002314: 00003617 auipc a2,0x3
+ 80002318: cec60613 addi a2,a2,-788 # 80005000 <pt>
+ 8000231c: 00381793 slli a5,a6,0x3
+ 80002320: 00f607b3 add a5,a2,a5
+ 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000>
+ 80002328: 01157533 and a0,a0,a7
+ 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110>
+ 80002330: 00007797 auipc a5,0x7
+ 80002334: 4b878793 addi a5,a5,1208 # 800097e8 <freelist_head>
+ 80002338: 0007b583 ld a1,0(a5)
+ 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0>
+ 80002340: 0085b783 ld a5,8(a1)
+ 80002344: 00007717 auipc a4,0x7
+ 80002348: 49c70713 addi a4,a4,1180 # 800097e0 <freelist_tail>
+ 8000234c: 00073703 ld a4,0(a4)
+ 80002350: 00007897 auipc a7,0x7
+ 80002354: 48f8bc23 sd a5,1176(a7) # 800097e8 <freelist_head>
+ 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148>
+ 8000235c: 0005b783 ld a5,0(a1)
+ 80002360: 00381893 slli a7,a6,0x3
+ 80002364: 011608b3 add a7,a2,a7
+ 80002368: 00c7d793 srli a5,a5,0xc
+ 8000236c: 00a79793 slli a5,a5,0xa
+ 80002370: 0df7e313 ori t1,a5,223
+ 80002374: 01f7e713 ori a4,a5,31
+ 80002378: 0068b023 sd t1,0(a7)
+ 8000237c: 12050073 sfence.vma a0
+ 80002380: 00007797 auipc a5,0x7
+ 80002384: 07078793 addi a5,a5,112 # 800093f0 <user_mapping>
+ 80002388: 00469693 slli a3,a3,0x4
+ 8000238c: 00d786b3 add a3,a5,a3
+ 80002390: 0006b783 ld a5,0(a3)
+ 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200>
+ 80002398: 0005b783 ld a5,0(a1)
+ 8000239c: 00f6b023 sd a5,0(a3)
+ 800023a0: 0085b783 ld a5,8(a1)
+ 800023a4: 00f6b423 sd a5,8(a3)
+ 800023a8: 000407b7 lui a5,0x40
+ 800023ac: 1007a8f3 csrrs a7,sstatus,a5
+ 800023b0: ffe007b7 lui a5,0xffe00
+ 800023b4: 00f507b3 add a5,a0,a5
+ 800023b8: 000015b7 lui a1,0x1
+ 800023bc: 00050693 mv a3,a0
+ 800023c0: 00b785b3 add a1,a5,a1
+ 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf6810>
+ 800023c8: 0087be83 ld t4,8(a5)
+ 800023cc: 0107be03 ld t3,16(a5)
+ 800023d0: 0187b303 ld t1,24(a5)
+ 800023d4: 01e6b023 sd t5,0(a3)
+ 800023d8: 01d6b423 sd t4,8(a3)
+ 800023dc: 01c6b823 sd t3,16(a3)
+ 800023e0: 0066bc23 sd t1,24(a3)
+ 800023e4: 02078793 addi a5,a5,32
+ 800023e8: 02068693 addi a3,a3,32
+ 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8>
+ 800023f0: 10089073 csrw sstatus,a7
+ 800023f4: 00381813 slli a6,a6,0x3
+ 800023f8: 01060633 add a2,a2,a6
+ 800023fc: 00e63023 sd a4,0(a2)
+ 80002400: 12050073 sfence.vma a0
+ 80002404: 0000100f fence.i
+ 80002408: 00008067 ret
+ 8000240c: 04077693 andi a3,a4,64
+ 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128>
+ 80002414: 04076713 ori a4,a4,64
+ 80002418: 00e7b023 sd a4,0(a5)
+ 8000241c: 12050073 sfence.vma a0
+ 80002420: 00008067 ret
+ 80002424: 08077693 andi a3,a4,128
+ 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250>
+ 8000242c: 00f00693 li a3,15
+ 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250>
+ 80002434: 08076713 ori a4,a4,128
+ 80002438: 00e7b023 sd a4,0(a5)
+ 8000243c: 12050073 sfence.vma a0
+ 80002440: 00008067 ret
+ 80002444: 00007797 auipc a5,0x7
+ 80002448: 3807be23 sd zero,924(a5) # 800097e0 <freelist_tail>
+ 8000244c: f11ff06f j 8000235c <handle_fault+0x60>
+ 80002450: 10100613 li a2,257
+ 80002454: 04100713 li a4,65
+ 80002458: 00001697 auipc a3,0x1
+ 8000245c: ee068693 addi a3,a3,-288 # 80003338 <pass+0x10>
+ 80002460: fffff797 auipc a5,0xfffff
+ 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost>
+ 80002468: 03061613 slli a2,a2,0x30
+ 8000246c: 0007b503 ld a0,0(a5)
+ 80002470: 00168693 addi a3,a3,1
+ 80002474: 00c765b3 or a1,a4,a2
+ 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190>
+ 8000247c: fffff717 auipc a4,0xfffff
+ 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost>
+ 80002484: 0007b703 ld a4,0(a5)
+ 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180>
+ 8000248c: 0006c703 lbu a4,0(a3)
+ 80002490: fffff517 auipc a0,0xfffff
+ 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost>
+ 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170>
+ 8000249c: ff010113 addi sp,sp,-16
+ 800024a0: 00300513 li a0,3
+ 800024a4: 00113423 sd ra,8(sp)
+ 800024a8: d89ff0ef jal ra,80002230 <terminate>
+ 800024ac: 10100693 li a3,257
+ 800024b0: 04100713 li a4,65
+ 800024b4: 00001617 auipc a2,0x1
+ 800024b8: f1460613 addi a2,a2,-236 # 800033c8 <pass+0xa0>
+ 800024bc: fffff797 auipc a5,0xfffff
+ 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost>
+ 800024c4: 03069693 slli a3,a3,0x30
+ 800024c8: 0007b503 ld a0,0(a5)
+ 800024cc: 00160613 addi a2,a2,1
+ 800024d0: 00d765b3 or a1,a4,a3
+ 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec>
+ 800024d8: fffff717 auipc a4,0xfffff
+ 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost>
+ 800024e0: 0007b703 ld a4,0(a5)
+ 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc>
+ 800024e8: 00064703 lbu a4,0(a2)
+ 800024ec: fffff517 auipc a0,0xfffff
+ 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost>
+ 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc>
+ 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0>
+ 800024fc: 10100693 li a3,257
+ 80002500: 04100713 li a4,65
+ 80002504: 00001617 auipc a2,0x1
+ 80002508: edc60613 addi a2,a2,-292 # 800033e0 <pass+0xb8>
+ 8000250c: fffff797 auipc a5,0xfffff
+ 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost>
+ 80002514: 03069693 slli a3,a3,0x30
+ 80002518: 0007b503 ld a0,0(a5)
+ 8000251c: 00160613 addi a2,a2,1
+ 80002520: 00d765b3 or a1,a4,a3
+ 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c>
+ 80002528: fffff717 auipc a4,0xfffff
+ 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost>
+ 80002530: 0007b703 ld a4,0(a5)
+ 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c>
+ 80002538: 00064703 lbu a4,0(a2)
+ 8000253c: fffff517 auipc a0,0xfffff
+ 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost>
+ 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c>
+ 80002548: f55ff06f j 8000249c <handle_fault+0x1a0>
+ 8000254c: 10100613 li a2,257
+ 80002550: 04100713 li a4,65
+ 80002554: 00001697 auipc a3,0x1
+ 80002558: e2c68693 addi a3,a3,-468 # 80003380 <pass+0x58>
+ 8000255c: fffff797 auipc a5,0xfffff
+ 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost>
+ 80002564: 03061613 slli a2,a2,0x30
+ 80002568: 0007b503 ld a0,0(a5)
+ 8000256c: 00168693 addi a3,a3,1
+ 80002570: 00c765b3 or a1,a4,a2
+ 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c>
+ 80002578: fffff717 auipc a4,0xfffff
+ 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost>
+ 80002580: 0007b703 ld a4,0(a5)
+ 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c>
+ 80002588: 0006c703 lbu a4,0(a3)
+ 8000258c: fffff517 auipc a0,0xfffff
+ 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost>
+ 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c>
+ 80002598: f05ff06f j 8000249c <handle_fault+0x1a0>
+
+000000008000259c <handle_trap>:
+ 8000259c: 11853583 ld a1,280(a0)
+ 800025a0: f9010113 addi sp,sp,-112
+ 800025a4: 06813023 sd s0,96(sp)
+ 800025a8: 06113423 sd ra,104(sp)
+ 800025ac: 04913c23 sd s1,88(sp)
+ 800025b0: 05213823 sd s2,80(sp)
+ 800025b4: 05313423 sd s3,72(sp)
+ 800025b8: 05413023 sd s4,64(sp)
+ 800025bc: 03513c23 sd s5,56(sp)
+ 800025c0: 03613823 sd s6,48(sp)
+ 800025c4: 03713423 sd s7,40(sp)
+ 800025c8: 03813023 sd s8,32(sp)
+ 800025cc: 01913c23 sd s9,24(sp)
+ 800025d0: 01a13823 sd s10,16(sp)
+ 800025d4: 01b13423 sd s11,8(sp)
+ 800025d8: 00800793 li a5,8
+ 800025dc: 00050413 mv s0,a0
+ 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178>
+ 800025e4: 00200793 li a5,2
+ 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac>
+ 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c>
+ 800025f0: 00100713 li a4,1
+ 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64>
+ 800025f8: 00f00793 li a5,15
+ 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248>
+ 80002600: 11043503 ld a0,272(s0)
+ 80002604: cf9ff0ef jal ra,800022fc <handle_fault>
+ 80002608: 00040513 mv a0,s0
+ 8000260c: 06013403 ld s0,96(sp)
+ 80002610: 06813083 ld ra,104(sp)
+ 80002614: 05813483 ld s1,88(sp)
+ 80002618: 05013903 ld s2,80(sp)
+ 8000261c: 04813983 ld s3,72(sp)
+ 80002620: 04013a03 ld s4,64(sp)
+ 80002624: 03813a83 ld s5,56(sp)
+ 80002628: 03013b03 ld s6,48(sp)
+ 8000262c: 02813b83 ld s7,40(sp)
+ 80002630: 02013c03 ld s8,32(sp)
+ 80002634: 01813c83 ld s9,24(sp)
+ 80002638: 01013d03 ld s10,16(sp)
+ 8000263c: 00813d83 ld s11,8(sp)
+ 80002640: 07010113 addi sp,sp,112
+ 80002644: 9f9fd06f j 8000003c <pop_tf>
+ 80002648: 10853703 ld a4,264(a0)
+ 8000264c: 00377793 andi a5,a4,3
+ 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128>
+ 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0>
+ 80002658: 00301073 fssr zero
+ 8000265c: 00072703 lw a4,0(a4)
+ 80002660: 0007a783 lw a5,0(a5)
+ 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120>
+ 80002668: 10100513 li a0,257
+ 8000266c: 04100793 li a5,65
+ 80002670: 00001697 auipc a3,0x1
+ 80002674: e4868693 addi a3,a3,-440 # 800034b8 <pass+0x190>
+ 80002678: fffff717 auipc a4,0xfffff
+ 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost>
+ 80002680: 03051513 slli a0,a0,0x30
+ 80002684: 00073583 ld a1,0(a4)
+ 80002688: 00168693 addi a3,a3,1
+ 8000268c: 00a7e633 or a2,a5,a0
+ 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108>
+ 80002694: fffff797 auipc a5,0xfffff
+ 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost>
+ 8000269c: 00073783 ld a5,0(a4)
+ 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8>
+ 800026a4: 0006c783 lbu a5,0(a3)
+ 800026a8: fffff597 auipc a1,0xfffff
+ 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost>
+ 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8>
+ 800026b4: 00300513 li a0,3
+ 800026b8: b79ff0ef jal ra,80002230 <terminate>
+ 800026bc: 00100513 li a0,1
+ 800026c0: b71ff0ef jal ra,80002230 <terminate>
+ 800026c4: 10100793 li a5,257
+ 800026c8: 00001617 auipc a2,0x1
+ 800026cc: dc860613 addi a2,a2,-568 # 80003490 <pass+0x168>
+ 800026d0: 04100693 li a3,65
+ 800026d4: fffff717 auipc a4,0xfffff
+ 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost>
+ 800026dc: 03079793 slli a5,a5,0x30
+ 800026e0: 00073503 ld a0,0(a4)
+ 800026e4: 00160613 addi a2,a2,1
+ 800026e8: 00f6e5b3 or a1,a3,a5
+ 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164>
+ 800026f0: fffff697 auipc a3,0xfffff
+ 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost>
+ 800026f8: 00073683 ld a3,0(a4)
+ 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154>
+ 80002700: 00064683 lbu a3,0(a2)
+ 80002704: fffff517 auipc a0,0xfffff
+ 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost>
+ 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144>
+ 80002710: fa5ff06f j 800026b4 <handle_trap+0x118>
+ 80002714: 05052983 lw s3,80(a0)
+ 80002718: 00001437 lui s0,0x1
+ 8000271c: 00007d17 auipc s10,0x7
+ 80002720: cd4d0d13 addi s10,s10,-812 # 800093f0 <user_mapping>
+ 80002724: 00003b97 auipc s7,0x3
+ 80002728: 8dcb8b93 addi s7,s7,-1828 # 80005000 <pt>
+ 8000272c: 00040b37 lui s6,0x40
+ 80002730: ffe00ab7 lui s5,0xffe00
+ 80002734: 00007a17 auipc s4,0x7
+ 80002738: 0aca0a13 addi s4,s4,172 # 800097e0 <freelist_tail>
+ 8000273c: 0003f937 lui s2,0x3f
+ 80002740: 01c0006f j 8000275c <handle_trap+0x1c0>
+ 80002744: 00f73423 sd a5,8(a4)
+ 80002748: 00007717 auipc a4,0x7
+ 8000274c: 08f73c23 sd a5,152(a4) # 800097e0 <freelist_tail>
+ 80002750: 000017b7 lui a5,0x1
+ 80002754: 00f40433 add s0,s0,a5
+ 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308>
+ 8000275c: 00c45793 srli a5,s0,0xc
+ 80002760: 00479493 slli s1,a5,0x4
+ 80002764: 009d0733 add a4,s10,s1
+ 80002768: 00073703 ld a4,0(a4)
+ 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4>
+ 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00>
+ 80002774: 00379793 slli a5,a5,0x3
+ 80002778: 00fb87b3 add a5,s7,a5
+ 8000277c: 0007bc03 ld s8,0(a5)
+ 80002780: 040c7793 andi a5,s8,64
+ 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0>
+ 80002788: 100b2cf3 csrrs s9,sstatus,s6
+ 8000278c: 01540db3 add s11,s0,s5
+ 80002790: 00001637 lui a2,0x1
+ 80002794: 000d8593 mv a1,s11
+ 80002798: 00040513 mv a0,s0
+ 8000279c: 975ff0ef jal ra,80002110 <memcmp>
+ 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220>
+ 800027a4: 080c7c13 andi s8,s8,128
+ 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298>
+ 800027ac: 00001637 lui a2,0x1
+ 800027b0: 000d8593 mv a1,s11
+ 800027b4: 00040513 mv a0,s0
+ 800027b8: 849ff0ef jal ra,80002000 <memcpy>
+ 800027bc: 009d07b3 add a5,s10,s1
+ 800027c0: 100c9073 csrw sstatus,s9
+ 800027c4: 000a3703 ld a4,0(s4)
+ 800027c8: 0007b023 sd zero,0(a5)
+ 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8>
+ 800027d0: 00007717 auipc a4,0x7
+ 800027d4: 00f73823 sd a5,16(a4) # 800097e0 <freelist_tail>
+ 800027d8: 00007717 auipc a4,0x7
+ 800027dc: 00f73823 sd a5,16(a4) # 800097e8 <freelist_head>
+ 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4>
+ 800027e4: 10100793 li a5,257
+ 800027e8: 04100613 li a2,65
+ 800027ec: 00001697 auipc a3,0x1
+ 800027f0: cfc68693 addi a3,a3,-772 # 800034e8 <pass+0x1c0>
+ 800027f4: fffff717 auipc a4,0xfffff
+ 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost>
+ 800027fc: 03079793 slli a5,a5,0x30
+ 80002800: 00073503 ld a0,0(a4)
+ 80002804: 00168693 addi a3,a3,1
+ 80002808: 00f665b3 or a1,a2,a5
+ 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284>
+ 80002810: fffff617 auipc a2,0xfffff
+ 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost>
+ 80002818: 00073603 ld a2,0(a4)
+ 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274>
+ 80002820: 0006c603 lbu a2,0(a3)
+ 80002824: ffffe517 auipc a0,0xffffe
+ 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost>
+ 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264>
+ 80002830: e85ff06f j 800026b4 <handle_trap+0x118>
+ 80002834: 10100793 li a5,257
+ 80002838: 04100613 li a2,65
+ 8000283c: 00001697 auipc a3,0x1
+ 80002840: c1c68693 addi a3,a3,-996 # 80003458 <pass+0x130>
+ 80002844: ffffe717 auipc a4,0xffffe
+ 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost>
+ 8000284c: 03079793 slli a5,a5,0x30
+ 80002850: 00168693 addi a3,a3,1
+ 80002854: 00f665b3 or a1,a2,a5
+ 80002858: 00073603 ld a2,0(a4)
+ 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310>
+ 80002860: ffffe617 auipc a2,0xffffe
+ 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost>
+ 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc>
+ 8000286c: 10100793 li a5,257
+ 80002870: 04100613 li a2,65
+ 80002874: 00001697 auipc a3,0x1
+ 80002878: bac68693 addi a3,a3,-1108 # 80003420 <pass+0xf8>
+ 8000287c: ffffe717 auipc a4,0xffffe
+ 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost>
+ 80002884: 03079793 slli a5,a5,0x30
+ 80002888: 00168693 addi a3,a3,1
+ 8000288c: 00f665b3 or a1,a2,a5
+ 80002890: 00073603 ld a2,0(a4)
+ 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324>
+ 80002898: ffffe617 auipc a2,0xffffe
+ 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost>
+ 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4>
+ 800028a4: 00098513 mv a0,s3
+ 800028a8: 989ff0ef jal ra,80002230 <terminate>
+ 800028ac: 0006c603 lbu a2,0(a3)
+ 800028b0: ffffe517 auipc a0,0xffffe
+ 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost>
+ 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4>
+ 800028bc: df9ff06f j 800026b4 <handle_trap+0x118>
+ 800028c0: 0006c603 lbu a2,0(a3)
+ 800028c4: ffffe517 auipc a0,0xffffe
+ 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost>
+ 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec>
+ 800028d0: de5ff06f j 800026b4 <handle_trap+0x118>
+
+00000000800028d4 <vm_boot>:
+ 800028d4: f14027f3 csrr a5,mhartid
+ 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198>
+ 800028dc: 00003697 auipc a3,0x3
+ 800028e0: 72468693 addi a3,a3,1828 # 80006000 <pt+0x1000>
+ 800028e4: 00004717 auipc a4,0x4
+ 800028e8: 71c70713 addi a4,a4,1820 # 80007000 <pt+0x2000>
+ 800028ec: 00c6d693 srli a3,a3,0xc
+ 800028f0: 00c75713 srli a4,a4,0xc
+ 800028f4: 00005797 auipc a5,0x5
+ 800028f8: 70c78793 addi a5,a5,1804 # 80008000 <pt+0x3000>
+ 800028fc: 00a69693 slli a3,a3,0xa
+ 80002900: 00a71713 slli a4,a4,0xa
+ 80002904: 0016e693 ori a3,a3,1
+ 80002908: 00176713 ori a4,a4,1
+ 8000290c: 00c7d793 srli a5,a5,0xc
+ 80002910: 00002897 auipc a7,0x2
+ 80002914: 6ed8b823 sd a3,1776(a7) # 80005000 <pt>
+ 80002918: 00a79793 slli a5,a5,0xa
+ 8000291c: 00003697 auipc a3,0x3
+ 80002920: 6ce6be23 sd a4,1756(a3) # 80005ff8 <pt+0xff8>
+ 80002924: 20000737 lui a4,0x20000
+ 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31>
+ 8000292c: fff00593 li a1,-1
+ 80002930: 0017e793 ori a5,a5,1
+ 80002934: 00002617 auipc a2,0x2
+ 80002938: 6cc60613 addi a2,a2,1740 # 80005000 <pt>
+ 8000293c: ed010113 addi sp,sp,-304
+ 80002940: 03f59813 slli a6,a1,0x3f
+ 80002944: 00005697 auipc a3,0x5
+ 80002948: 6ae6ba23 sd a4,1716(a3) # 80007ff8 <pt+0x2ff8>
+ 8000294c: 00003717 auipc a4,0x3
+ 80002950: 6af73a23 sd a5,1716(a4) # 80006000 <pt+0x1000>
+ 80002954: 00c65793 srli a5,a2,0xc
+ 80002958: 12113423 sd ra,296(sp)
+ 8000295c: 12813023 sd s0,288(sp)
+ 80002960: 0107e7b3 or a5,a5,a6
+ 80002964: 18079073 csrw satp,a5
+ 80002968: 01f00793 li a5,31
+ 8000296c: 00000297 auipc t0,0x0
+ 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac>
+ 80002974: 305292f3 csrrw t0,mtvec,t0
+ 80002978: 3b059073 csrw pmpaddr0,a1
+ 8000297c: 3a079073 csrw pmpcfg0,a5
+ 80002980: bff00813 li a6,-1025
+ 80002984: 01581813 slli a6,a6,0x15
+ 80002988: ffffd797 auipc a5,0xffffd
+ 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry>
+ 80002990: 010787b3 add a5,a5,a6
+ 80002994: 10579073 csrw stvec,a5
+ 80002998: 340027f3 csrr a5,mscratch
+ 8000299c: 010787b3 add a5,a5,a6
+ 800029a0: 14079073 csrw sscratch,a5
+ 800029a4: 0000b7b7 lui a5,0xb
+ 800029a8: 1007879b addiw a5,a5,256
+ 800029ac: 30279073 csrw medeleg,a5
+ 800029b0: 0001e7b7 lui a5,0x1e
+ 800029b4: 30079073 csrw mstatus,a5
+ 800029b8: 30405073 csrwi mie,0
+ 800029bc: 00006697 auipc a3,0x6
+ 800029c0: 64468693 addi a3,a3,1604 # 80009000 <freelist_nodes>
+ 800029c4: 010687b3 add a5,a3,a6
+ 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20>
+ 800029cc: 00007617 auipc a2,0x7
+ 800029d0: e0f63e23 sd a5,-484(a2) # 800097e8 <freelist_head>
+ 800029d4: 00007797 auipc a5,0x7
+ 800029d8: e0e7b623 sd a4,-500(a5) # 800097e0 <freelist_tail>
+ 800029dc: 00007317 auipc t1,0x7
+ 800029e0: a1430313 addi t1,t1,-1516 # 800093f0 <user_mapping>
+ 800029e4: 00a00793 li a5,10
+ 800029e8: 000808b7 lui a7,0x80
+ 800029ec: 01080813 addi a6,a6,16
+ 800029f0: 03f7871b addiw a4,a5,63
+ 800029f4: 02071713 slli a4,a4,0x20
+ 800029f8: 0017d61b srliw a2,a5,0x1
+ 800029fc: 02075713 srli a4,a4,0x20
+ 80002a00: 00c7c7b3 xor a5,a5,a2
+ 80002a04: 01170733 add a4,a4,a7
+ 80002a08: 010685b3 add a1,a3,a6
+ 80002a0c: 00c71713 slli a4,a4,0xc
+ 80002a10: 0057979b slliw a5,a5,0x5
+ 80002a14: 00e6b023 sd a4,0(a3)
+ 80002a18: 00b6b423 sd a1,8(a3)
+ 80002a1c: 0207f793 andi a5,a5,32
+ 80002a20: 01068693 addi a3,a3,16
+ 80002a24: 00c7e7b3 or a5,a5,a2
+ 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c>
+ 80002a2c: 00050413 mv s0,a0
+ 80002a30: 12000613 li a2,288
+ 80002a34: 00000593 li a1,0
+ 80002a38: 00010513 mv a0,sp
+ 80002a3c: 00007797 auipc a5,0x7
+ 80002a40: 9a07b623 sd zero,-1620(a5) # 800093e8 <freelist_nodes+0x3e8>
+ 80002a44: e18ff0ef jal ra,8000205c <memset>
+ 80002a48: 800007b7 lui a5,0x80000
+ 80002a4c: 00f40433 add s0,s0,a5
+ 80002a50: 00010513 mv a0,sp
+ 80002a54: 10813423 sd s0,264(sp)
+ 80002a58: de4fd0ef jal ra,8000003c <pop_tf>
+ 80002a5c: 12813083 ld ra,296(sp)
+ 80002a60: 12013403 ld s0,288(sp)
+ 80002a64: 13010113 addi sp,sp,304
+ 80002a68: 00008067 ret
+ 80002a6c: 0c1627b7 lui a5,0xc162
+ 80002a70: 000805b7 lui a1,0x80
+ 80002a74: 6ba78793 addi a5,a5,1722 # c1626ba <_start-0x73e9d946>
+ 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004>
+ 80002a7c: 00100613 li a2,1
+ 80002a80: 00b7f733 and a4,a5,a1
+ 80002a84: 01f61613 slli a2,a2,0x1f
+ 80002a88: 0017f693 andi a3,a5,1
+ 80002a8c: 02079793 slli a5,a5,0x20
+ 80002a90: 0207d793 srli a5,a5,0x20
+ 80002a94: 00c70733 add a4,a4,a2
+ 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8>
+ 80002a9c: 0007202f amoadd.w zero,zero,(a4)
+ 80002aa0: 0017d793 srli a5,a5,0x1
+ 80002aa4: 00b7f733 and a4,a5,a1
+ 80002aa8: 0017f693 andi a3,a5,1
+ 80002aac: 02079793 slli a5,a5,0x20
+ 80002ab0: 0207d793 srli a5,a5,0x20
+ 80002ab4: 00c70733 add a4,a4,a2
+ 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8>
+ 80002abc: 00072003 lw zero,0(a4)
+ 80002ac0: 0017d793 srli a5,a5,0x1
+ 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0>
+
+0000000080002ac8 <userstart>:
+ 80002ac8: 00301073 fssr zero
+
+0000000080002acc <test_2>:
+ 80002acc: 00200193 li gp,2
+ 80002ad0: 00001517 auipc a0,0x1
+ 80002ad4: 53050513 addi a0,a0,1328 # 80004000 <test_2_data>
+ 80002ad8: 00053007 fld ft0,0(a0)
+ 80002adc: 00853087 fld ft1,8(a0)
+ 80002ae0: 01053107 fld ft2,16(a0)
+ 80002ae4: 01853683 ld a3,24(a0)
+ 80002ae8: c2001553 fcvt.w.d a0,ft0,rtz
+ 80002aec: 001015f3 fsflags a1,zero
+ 80002af0: 00100613 li a2,1
+ 80002af4: 02d512e3 bne a0,a3,80003318 <fail>
+ 80002af8: 02c590e3 bne a1,a2,80003318 <fail>
+
+0000000080002afc <test_3>:
+ 80002afc: 00300193 li gp,3
+ 80002b00: 00001517 auipc a0,0x1
+ 80002b04: 52050513 addi a0,a0,1312 # 80004020 <test_3_data>
+ 80002b08: 00053007 fld ft0,0(a0)
+ 80002b0c: 00853087 fld ft1,8(a0)
+ 80002b10: 01053107 fld ft2,16(a0)
+ 80002b14: 01853683 ld a3,24(a0)
+ 80002b18: c2001553 fcvt.w.d a0,ft0,rtz
+ 80002b1c: 001015f3 fsflags a1,zero
+ 80002b20: 00000613 li a2,0
+ 80002b24: 7ed51a63 bne a0,a3,80003318 <fail>
+ 80002b28: 7ec59863 bne a1,a2,80003318 <fail>
+
+0000000080002b2c <test_4>:
+ 80002b2c: 00400193 li gp,4
+ 80002b30: 00001517 auipc a0,0x1
+ 80002b34: 51050513 addi a0,a0,1296 # 80004040 <test_4_data>
+ 80002b38: 00053007 fld ft0,0(a0)
+ 80002b3c: 00853087 fld ft1,8(a0)
+ 80002b40: 01053107 fld ft2,16(a0)
+ 80002b44: 01853683 ld a3,24(a0)
+ 80002b48: c2001553 fcvt.w.d a0,ft0,rtz
+ 80002b4c: 001015f3 fsflags a1,zero
+ 80002b50: 00100613 li a2,1
+ 80002b54: 7cd51263 bne a0,a3,80003318 <fail>
+ 80002b58: 7cc59063 bne a1,a2,80003318 <fail>
+
+0000000080002b5c <test_5>:
+ 80002b5c: 00500193 li gp,5
+ 80002b60: 00001517 auipc a0,0x1
+ 80002b64: 50050513 addi a0,a0,1280 # 80004060 <test_5_data>
+ 80002b68: 00053007 fld ft0,0(a0)
+ 80002b6c: 00853087 fld ft1,8(a0)
+ 80002b70: 01053107 fld ft2,16(a0)
+ 80002b74: 01853683 ld a3,24(a0)
+ 80002b78: c2001553 fcvt.w.d a0,ft0,rtz
+ 80002b7c: 001015f3 fsflags a1,zero
+ 80002b80: 00100613 li a2,1
+ 80002b84: 78d51a63 bne a0,a3,80003318 <fail>
+ 80002b88: 78c59863 bne a1,a2,80003318 <fail>
+
+0000000080002b8c <test_6>:
+ 80002b8c: 00600193 li gp,6
+ 80002b90: 00001517 auipc a0,0x1
+ 80002b94: 4f050513 addi a0,a0,1264 # 80004080 <test_6_data>
+ 80002b98: 00053007 fld ft0,0(a0)
+ 80002b9c: 00853087 fld ft1,8(a0)
+ 80002ba0: 01053107 fld ft2,16(a0)
+ 80002ba4: 01853683 ld a3,24(a0)
+ 80002ba8: c2001553 fcvt.w.d a0,ft0,rtz
+ 80002bac: 001015f3 fsflags a1,zero
+ 80002bb0: 00000613 li a2,0
+ 80002bb4: 76d51263 bne a0,a3,80003318 <fail>
+ 80002bb8: 76c59063 bne a1,a2,80003318 <fail>
+
+0000000080002bbc <test_7>:
+ 80002bbc: 00700193 li gp,7
+ 80002bc0: 00001517 auipc a0,0x1
+ 80002bc4: 4e050513 addi a0,a0,1248 # 800040a0 <test_7_data>
+ 80002bc8: 00053007 fld ft0,0(a0)
+ 80002bcc: 00853087 fld ft1,8(a0)
+ 80002bd0: 01053107 fld ft2,16(a0)
+ 80002bd4: 01853683 ld a3,24(a0)
+ 80002bd8: c2001553 fcvt.w.d a0,ft0,rtz
+ 80002bdc: 001015f3 fsflags a1,zero
+ 80002be0: 00100613 li a2,1
+ 80002be4: 72d51a63 bne a0,a3,80003318 <fail>
+ 80002be8: 72c59863 bne a1,a2,80003318 <fail>
+
+0000000080002bec <test_8>:
+ 80002bec: 00800193 li gp,8
+ 80002bf0: 00001517 auipc a0,0x1
+ 80002bf4: 4d050513 addi a0,a0,1232 # 800040c0 <test_8_data>
+ 80002bf8: 00053007 fld ft0,0(a0)
+ 80002bfc: 00853087 fld ft1,8(a0)
+ 80002c00: 01053107 fld ft2,16(a0)
+ 80002c04: 01853683 ld a3,24(a0)
+ 80002c08: c2001553 fcvt.w.d a0,ft0,rtz
+ 80002c0c: 001015f3 fsflags a1,zero
+ 80002c10: 01000613 li a2,16
+ 80002c14: 70d51263 bne a0,a3,80003318 <fail>
+ 80002c18: 70c59063 bne a1,a2,80003318 <fail>
+
+0000000080002c1c <test_9>:
+ 80002c1c: 00900193 li gp,9
+ 80002c20: 00001517 auipc a0,0x1
+ 80002c24: 4c050513 addi a0,a0,1216 # 800040e0 <test_9_data>
+ 80002c28: 00053007 fld ft0,0(a0)
+ 80002c2c: 00853087 fld ft1,8(a0)
+ 80002c30: 01053107 fld ft2,16(a0)
+ 80002c34: 01853683 ld a3,24(a0)
+ 80002c38: c2001553 fcvt.w.d a0,ft0,rtz
+ 80002c3c: 001015f3 fsflags a1,zero
+ 80002c40: 01000613 li a2,16
+ 80002c44: 6cd51a63 bne a0,a3,80003318 <fail>
+ 80002c48: 6cc59863 bne a1,a2,80003318 <fail>
+
+0000000080002c4c <test_12>:
+ 80002c4c: 00c00193 li gp,12
+ 80002c50: 00001517 auipc a0,0x1
+ 80002c54: 4b050513 addi a0,a0,1200 # 80004100 <test_12_data>
+ 80002c58: 00053007 fld ft0,0(a0)
+ 80002c5c: 00853087 fld ft1,8(a0)
+ 80002c60: 01053107 fld ft2,16(a0)
+ 80002c64: 01853683 ld a3,24(a0)
+ 80002c68: c2101553 fcvt.wu.d a0,ft0,rtz
+ 80002c6c: 001015f3 fsflags a1,zero
+ 80002c70: 01000613 li a2,16
+ 80002c74: 6ad51263 bne a0,a3,80003318 <fail>
+ 80002c78: 6ac59063 bne a1,a2,80003318 <fail>
+
+0000000080002c7c <test_13>:
+ 80002c7c: 00d00193 li gp,13
+ 80002c80: 00001517 auipc a0,0x1
+ 80002c84: 4a050513 addi a0,a0,1184 # 80004120 <test_13_data>
+ 80002c88: 00053007 fld ft0,0(a0)
+ 80002c8c: 00853087 fld ft1,8(a0)
+ 80002c90: 01053107 fld ft2,16(a0)
+ 80002c94: 01853683 ld a3,24(a0)
+ 80002c98: c2101553 fcvt.wu.d a0,ft0,rtz
+ 80002c9c: 001015f3 fsflags a1,zero
+ 80002ca0: 01000613 li a2,16
+ 80002ca4: 66d51a63 bne a0,a3,80003318 <fail>
+ 80002ca8: 66c59863 bne a1,a2,80003318 <fail>
+
+0000000080002cac <test_14>:
+ 80002cac: 00e00193 li gp,14
+ 80002cb0: 00001517 auipc a0,0x1
+ 80002cb4: 49050513 addi a0,a0,1168 # 80004140 <test_14_data>
+ 80002cb8: 00053007 fld ft0,0(a0)
+ 80002cbc: 00853087 fld ft1,8(a0)
+ 80002cc0: 01053107 fld ft2,16(a0)
+ 80002cc4: 01853683 ld a3,24(a0)
+ 80002cc8: c2101553 fcvt.wu.d a0,ft0,rtz
+ 80002ccc: 001015f3 fsflags a1,zero
+ 80002cd0: 00100613 li a2,1
+ 80002cd4: 64d51263 bne a0,a3,80003318 <fail>
+ 80002cd8: 64c59063 bne a1,a2,80003318 <fail>
+
+0000000080002cdc <test_15>:
+ 80002cdc: 00f00193 li gp,15
+ 80002ce0: 00001517 auipc a0,0x1
+ 80002ce4: 48050513 addi a0,a0,1152 # 80004160 <test_15_data>
+ 80002ce8: 00053007 fld ft0,0(a0)
+ 80002cec: 00853087 fld ft1,8(a0)
+ 80002cf0: 01053107 fld ft2,16(a0)
+ 80002cf4: 01853683 ld a3,24(a0)
+ 80002cf8: c2101553 fcvt.wu.d a0,ft0,rtz
+ 80002cfc: 001015f3 fsflags a1,zero
+ 80002d00: 00100613 li a2,1
+ 80002d04: 60d51a63 bne a0,a3,80003318 <fail>
+ 80002d08: 60c59863 bne a1,a2,80003318 <fail>
+
+0000000080002d0c <test_16>:
+ 80002d0c: 01000193 li gp,16
+ 80002d10: 00001517 auipc a0,0x1
+ 80002d14: 47050513 addi a0,a0,1136 # 80004180 <test_16_data>
+ 80002d18: 00053007 fld ft0,0(a0)
+ 80002d1c: 00853087 fld ft1,8(a0)
+ 80002d20: 01053107 fld ft2,16(a0)
+ 80002d24: 01853683 ld a3,24(a0)
+ 80002d28: c2101553 fcvt.wu.d a0,ft0,rtz
+ 80002d2c: 001015f3 fsflags a1,zero
+ 80002d30: 00000613 li a2,0
+ 80002d34: 5ed51263 bne a0,a3,80003318 <fail>
+ 80002d38: 5ec59063 bne a1,a2,80003318 <fail>
+
+0000000080002d3c <test_17>:
+ 80002d3c: 01100193 li gp,17
+ 80002d40: 00001517 auipc a0,0x1
+ 80002d44: 46050513 addi a0,a0,1120 # 800041a0 <test_17_data>
+ 80002d48: 00053007 fld ft0,0(a0)
+ 80002d4c: 00853087 fld ft1,8(a0)
+ 80002d50: 01053107 fld ft2,16(a0)
+ 80002d54: 01853683 ld a3,24(a0)
+ 80002d58: c2101553 fcvt.wu.d a0,ft0,rtz
+ 80002d5c: 001015f3 fsflags a1,zero
+ 80002d60: 00100613 li a2,1
+ 80002d64: 5ad51a63 bne a0,a3,80003318 <fail>
+ 80002d68: 5ac59863 bne a1,a2,80003318 <fail>
+
+0000000080002d6c <test_18>:
+ 80002d6c: 01200193 li gp,18
+ 80002d70: 00001517 auipc a0,0x1
+ 80002d74: 45050513 addi a0,a0,1104 # 800041c0 <test_18_data>
+ 80002d78: 00053007 fld ft0,0(a0)
+ 80002d7c: 00853087 fld ft1,8(a0)
+ 80002d80: 01053107 fld ft2,16(a0)
+ 80002d84: 01853683 ld a3,24(a0)
+ 80002d88: c2101553 fcvt.wu.d a0,ft0,rtz
+ 80002d8c: 001015f3 fsflags a1,zero
+ 80002d90: 01000613 li a2,16
+ 80002d94: 58d51263 bne a0,a3,80003318 <fail>
+ 80002d98: 58c59063 bne a1,a2,80003318 <fail>
+
+0000000080002d9c <test_19>:
+ 80002d9c: 01300193 li gp,19
+ 80002da0: 00001517 auipc a0,0x1
+ 80002da4: 44050513 addi a0,a0,1088 # 800041e0 <test_19_data>
+ 80002da8: 00053007 fld ft0,0(a0)
+ 80002dac: 00853087 fld ft1,8(a0)
+ 80002db0: 01053107 fld ft2,16(a0)
+ 80002db4: 01853683 ld a3,24(a0)
+ 80002db8: c2101553 fcvt.wu.d a0,ft0,rtz
+ 80002dbc: 001015f3 fsflags a1,zero
+ 80002dc0: 00000613 li a2,0
+ 80002dc4: 54d51a63 bne a0,a3,80003318 <fail>
+ 80002dc8: 54c59863 bne a1,a2,80003318 <fail>
+
+0000000080002dcc <test_22>:
+ 80002dcc: 01600193 li gp,22
+ 80002dd0: 00001517 auipc a0,0x1
+ 80002dd4: 43050513 addi a0,a0,1072 # 80004200 <test_22_data>
+ 80002dd8: 00053007 fld ft0,0(a0)
+ 80002ddc: 00853087 fld ft1,8(a0)
+ 80002de0: 01053107 fld ft2,16(a0)
+ 80002de4: 01853683 ld a3,24(a0)
+ 80002de8: c2201553 fcvt.l.d a0,ft0,rtz
+ 80002dec: 001015f3 fsflags a1,zero
+ 80002df0: 00100613 li a2,1
+ 80002df4: 52d51263 bne a0,a3,80003318 <fail>
+ 80002df8: 52c59063 bne a1,a2,80003318 <fail>
+
+0000000080002dfc <test_23>:
+ 80002dfc: 01700193 li gp,23
+ 80002e00: 00001517 auipc a0,0x1
+ 80002e04: 42050513 addi a0,a0,1056 # 80004220 <test_23_data>
+ 80002e08: 00053007 fld ft0,0(a0)
+ 80002e0c: 00853087 fld ft1,8(a0)
+ 80002e10: 01053107 fld ft2,16(a0)
+ 80002e14: 01853683 ld a3,24(a0)
+ 80002e18: c2201553 fcvt.l.d a0,ft0,rtz
+ 80002e1c: 001015f3 fsflags a1,zero
+ 80002e20: 00000613 li a2,0
+ 80002e24: 4ed51a63 bne a0,a3,80003318 <fail>
+ 80002e28: 4ec59863 bne a1,a2,80003318 <fail>
+
+0000000080002e2c <test_24>:
+ 80002e2c: 01800193 li gp,24
+ 80002e30: 00001517 auipc a0,0x1
+ 80002e34: 41050513 addi a0,a0,1040 # 80004240 <test_24_data>
+ 80002e38: 00053007 fld ft0,0(a0)
+ 80002e3c: 00853087 fld ft1,8(a0)
+ 80002e40: 01053107 fld ft2,16(a0)
+ 80002e44: 01853683 ld a3,24(a0)
+ 80002e48: c2201553 fcvt.l.d a0,ft0,rtz
+ 80002e4c: 001015f3 fsflags a1,zero
+ 80002e50: 00100613 li a2,1
+ 80002e54: 4cd51263 bne a0,a3,80003318 <fail>
+ 80002e58: 4cc59063 bne a1,a2,80003318 <fail>
+
+0000000080002e5c <test_25>:
+ 80002e5c: 01900193 li gp,25
+ 80002e60: 00001517 auipc a0,0x1
+ 80002e64: 40050513 addi a0,a0,1024 # 80004260 <test_25_data>
+ 80002e68: 00053007 fld ft0,0(a0)
+ 80002e6c: 00853087 fld ft1,8(a0)
+ 80002e70: 01053107 fld ft2,16(a0)
+ 80002e74: 01853683 ld a3,24(a0)
+ 80002e78: c2201553 fcvt.l.d a0,ft0,rtz
+ 80002e7c: 001015f3 fsflags a1,zero
+ 80002e80: 00100613 li a2,1
+ 80002e84: 48d51a63 bne a0,a3,80003318 <fail>
+ 80002e88: 48c59863 bne a1,a2,80003318 <fail>
+
+0000000080002e8c <test_26>:
+ 80002e8c: 01a00193 li gp,26
+ 80002e90: 00001517 auipc a0,0x1
+ 80002e94: 3f050513 addi a0,a0,1008 # 80004280 <test_26_data>
+ 80002e98: 00053007 fld ft0,0(a0)
+ 80002e9c: 00853087 fld ft1,8(a0)
+ 80002ea0: 01053107 fld ft2,16(a0)
+ 80002ea4: 01853683 ld a3,24(a0)
+ 80002ea8: c2201553 fcvt.l.d a0,ft0,rtz
+ 80002eac: 001015f3 fsflags a1,zero
+ 80002eb0: 00000613 li a2,0
+ 80002eb4: 46d51263 bne a0,a3,80003318 <fail>
+ 80002eb8: 46c59063 bne a1,a2,80003318 <fail>
+
+0000000080002ebc <test_27>:
+ 80002ebc: 01b00193 li gp,27
+ 80002ec0: 00001517 auipc a0,0x1
+ 80002ec4: 3e050513 addi a0,a0,992 # 800042a0 <test_27_data>
+ 80002ec8: 00053007 fld ft0,0(a0)
+ 80002ecc: 00853087 fld ft1,8(a0)
+ 80002ed0: 01053107 fld ft2,16(a0)
+ 80002ed4: 01853683 ld a3,24(a0)
+ 80002ed8: c2201553 fcvt.l.d a0,ft0,rtz
+ 80002edc: 001015f3 fsflags a1,zero
+ 80002ee0: 00100613 li a2,1
+ 80002ee4: 42d51a63 bne a0,a3,80003318 <fail>
+ 80002ee8: 42c59863 bne a1,a2,80003318 <fail>
+
+0000000080002eec <test_28>:
+ 80002eec: 01c00193 li gp,28
+ 80002ef0: 00001517 auipc a0,0x1
+ 80002ef4: 3d050513 addi a0,a0,976 # 800042c0 <test_28_data>
+ 80002ef8: 00053007 fld ft0,0(a0)
+ 80002efc: 00853087 fld ft1,8(a0)
+ 80002f00: 01053107 fld ft2,16(a0)
+ 80002f04: 01853683 ld a3,24(a0)
+ 80002f08: c2201553 fcvt.l.d a0,ft0,rtz
+ 80002f0c: 001015f3 fsflags a1,zero
+ 80002f10: 00000613 li a2,0
+ 80002f14: 40d51263 bne a0,a3,80003318 <fail>
+ 80002f18: 40c59063 bne a1,a2,80003318 <fail>
+
+0000000080002f1c <test_29>:
+ 80002f1c: 01d00193 li gp,29
+ 80002f20: 00001517 auipc a0,0x1
+ 80002f24: 3c050513 addi a0,a0,960 # 800042e0 <test_29_data>
+ 80002f28: 00053007 fld ft0,0(a0)
+ 80002f2c: 00853087 fld ft1,8(a0)
+ 80002f30: 01053107 fld ft2,16(a0)
+ 80002f34: 01853683 ld a3,24(a0)
+ 80002f38: c2201553 fcvt.l.d a0,ft0,rtz
+ 80002f3c: 001015f3 fsflags a1,zero
+ 80002f40: 00000613 li a2,0
+ 80002f44: 3cd51a63 bne a0,a3,80003318 <fail>
+ 80002f48: 3cc59863 bne a1,a2,80003318 <fail>
+
+0000000080002f4c <test_20>:
+ 80002f4c: 01400193 li gp,20
+ 80002f50: 00001517 auipc a0,0x1
+ 80002f54: 3b050513 addi a0,a0,944 # 80004300 <test_20_data>
+ 80002f58: 00053007 fld ft0,0(a0)
+ 80002f5c: 00853087 fld ft1,8(a0)
+ 80002f60: 01053107 fld ft2,16(a0)
+ 80002f64: 01853683 ld a3,24(a0)
+ 80002f68: c2201553 fcvt.l.d a0,ft0,rtz
+ 80002f6c: 001015f3 fsflags a1,zero
+ 80002f70: 01000613 li a2,16
+ 80002f74: 3ad51263 bne a0,a3,80003318 <fail>
+ 80002f78: 3ac59063 bne a1,a2,80003318 <fail>
+
+0000000080002f7c <test_21>:
+ 80002f7c: 01500193 li gp,21
+ 80002f80: 00001517 auipc a0,0x1
+ 80002f84: 3a050513 addi a0,a0,928 # 80004320 <test_21_data>
+ 80002f88: 00053007 fld ft0,0(a0)
+ 80002f8c: 00853087 fld ft1,8(a0)
+ 80002f90: 01053107 fld ft2,16(a0)
+ 80002f94: 01853683 ld a3,24(a0)
+ 80002f98: c2201553 fcvt.l.d a0,ft0,rtz
+ 80002f9c: 001015f3 fsflags a1,zero
+ 80002fa0: 01000613 li a2,16
+ 80002fa4: 36d51a63 bne a0,a3,80003318 <fail>
+ 80002fa8: 36c59863 bne a1,a2,80003318 <fail>
+
+0000000080002fac <test_32>:
+ 80002fac: 02000193 li gp,32
+ 80002fb0: 00001517 auipc a0,0x1
+ 80002fb4: 39050513 addi a0,a0,912 # 80004340 <test_32_data>
+ 80002fb8: 00053007 fld ft0,0(a0)
+ 80002fbc: 00853087 fld ft1,8(a0)
+ 80002fc0: 01053107 fld ft2,16(a0)
+ 80002fc4: 01853683 ld a3,24(a0)
+ 80002fc8: c2301553 fcvt.lu.d a0,ft0,rtz
+ 80002fcc: 001015f3 fsflags a1,zero
+ 80002fd0: 01000613 li a2,16
+ 80002fd4: 34d51263 bne a0,a3,80003318 <fail>
+ 80002fd8: 34c59063 bne a1,a2,80003318 <fail>
+
+0000000080002fdc <test_33>:
+ 80002fdc: 02100193 li gp,33
+ 80002fe0: 00001517 auipc a0,0x1
+ 80002fe4: 38050513 addi a0,a0,896 # 80004360 <test_33_data>
+ 80002fe8: 00053007 fld ft0,0(a0)
+ 80002fec: 00853087 fld ft1,8(a0)
+ 80002ff0: 01053107 fld ft2,16(a0)
+ 80002ff4: 01853683 ld a3,24(a0)
+ 80002ff8: c2301553 fcvt.lu.d a0,ft0,rtz
+ 80002ffc: 001015f3 fsflags a1,zero
+ 80003000: 01000613 li a2,16
+ 80003004: 30d51a63 bne a0,a3,80003318 <fail>
+ 80003008: 30c59863 bne a1,a2,80003318 <fail>
+
+000000008000300c <test_34>:
+ 8000300c: 02200193 li gp,34
+ 80003010: 00001517 auipc a0,0x1
+ 80003014: 37050513 addi a0,a0,880 # 80004380 <test_34_data>
+ 80003018: 00053007 fld ft0,0(a0)
+ 8000301c: 00853087 fld ft1,8(a0)
+ 80003020: 01053107 fld ft2,16(a0)
+ 80003024: 01853683 ld a3,24(a0)
+ 80003028: c2301553 fcvt.lu.d a0,ft0,rtz
+ 8000302c: 001015f3 fsflags a1,zero
+ 80003030: 00100613 li a2,1
+ 80003034: 2ed51263 bne a0,a3,80003318 <fail>
+ 80003038: 2ec59063 bne a1,a2,80003318 <fail>
+
+000000008000303c <test_35>:
+ 8000303c: 02300193 li gp,35
+ 80003040: 00001517 auipc a0,0x1
+ 80003044: 36050513 addi a0,a0,864 # 800043a0 <test_35_data>
+ 80003048: 00053007 fld ft0,0(a0)
+ 8000304c: 00853087 fld ft1,8(a0)
+ 80003050: 01053107 fld ft2,16(a0)
+ 80003054: 01853683 ld a3,24(a0)
+ 80003058: c2301553 fcvt.lu.d a0,ft0,rtz
+ 8000305c: 001015f3 fsflags a1,zero
+ 80003060: 00100613 li a2,1
+ 80003064: 2ad51a63 bne a0,a3,80003318 <fail>
+ 80003068: 2ac59863 bne a1,a2,80003318 <fail>
+
+000000008000306c <test_36>:
+ 8000306c: 02400193 li gp,36
+ 80003070: 00001517 auipc a0,0x1
+ 80003074: 35050513 addi a0,a0,848 # 800043c0 <test_36_data>
+ 80003078: 00053007 fld ft0,0(a0)
+ 8000307c: 00853087 fld ft1,8(a0)
+ 80003080: 01053107 fld ft2,16(a0)
+ 80003084: 01853683 ld a3,24(a0)
+ 80003088: c2301553 fcvt.lu.d a0,ft0,rtz
+ 8000308c: 001015f3 fsflags a1,zero
+ 80003090: 00000613 li a2,0
+ 80003094: 28d51263 bne a0,a3,80003318 <fail>
+ 80003098: 28c59063 bne a1,a2,80003318 <fail>
+
+000000008000309c <test_37>:
+ 8000309c: 02500193 li gp,37
+ 800030a0: 00001517 auipc a0,0x1
+ 800030a4: 34050513 addi a0,a0,832 # 800043e0 <test_37_data>
+ 800030a8: 00053007 fld ft0,0(a0)
+ 800030ac: 00853087 fld ft1,8(a0)
+ 800030b0: 01053107 fld ft2,16(a0)
+ 800030b4: 01853683 ld a3,24(a0)
+ 800030b8: c2301553 fcvt.lu.d a0,ft0,rtz
+ 800030bc: 001015f3 fsflags a1,zero
+ 800030c0: 00100613 li a2,1
+ 800030c4: 24d51a63 bne a0,a3,80003318 <fail>
+ 800030c8: 24c59863 bne a1,a2,80003318 <fail>
+
+00000000800030cc <test_38>:
+ 800030cc: 02600193 li gp,38
+ 800030d0: 00001517 auipc a0,0x1
+ 800030d4: 33050513 addi a0,a0,816 # 80004400 <test_38_data>
+ 800030d8: 00053007 fld ft0,0(a0)
+ 800030dc: 00853087 fld ft1,8(a0)
+ 800030e0: 01053107 fld ft2,16(a0)
+ 800030e4: 01853683 ld a3,24(a0)
+ 800030e8: c2301553 fcvt.lu.d a0,ft0,rtz
+ 800030ec: 001015f3 fsflags a1,zero
+ 800030f0: 01000613 li a2,16
+ 800030f4: 22d51263 bne a0,a3,80003318 <fail>
+ 800030f8: 22c59063 bne a1,a2,80003318 <fail>
+
+00000000800030fc <test_39>:
+ 800030fc: 02700193 li gp,39
+ 80003100: 00001517 auipc a0,0x1
+ 80003104: 32050513 addi a0,a0,800 # 80004420 <test_39_data>
+ 80003108: 00053007 fld ft0,0(a0)
+ 8000310c: 00853087 fld ft1,8(a0)
+ 80003110: 01053107 fld ft2,16(a0)
+ 80003114: 01853683 ld a3,24(a0)
+ 80003118: c2301553 fcvt.lu.d a0,ft0,rtz
+ 8000311c: 001015f3 fsflags a1,zero
+ 80003120: 00000613 li a2,0
+ 80003124: 1ed51a63 bne a0,a3,80003318 <fail>
+ 80003128: 1ec59863 bne a1,a2,80003318 <fail>
+
+000000008000312c <test_42>:
+ 8000312c: 00001097 auipc ra,0x1
+ 80003130: 32408093 addi ra,ra,804 # 80004450 <tdat_d>
+ 80003134: 0000b087 fld ft1,0(ra)
+ 80003138: c200f0d3 fcvt.w.d ra,ft1
+ 8000313c: 80000eb7 lui t4,0x80000
+ 80003140: fffe8e9b addiw t4,t4,-1
+ 80003144: 02a00193 li gp,42
+ 80003148: 1dd09863 bne ra,t4,80003318 <fail>
+
+000000008000314c <test_43>:
+ 8000314c: 00001097 auipc ra,0x1
+ 80003150: 30408093 addi ra,ra,772 # 80004450 <tdat_d>
+ 80003154: 0000b087 fld ft1,0(ra)
+ 80003158: c220f0d3 fcvt.l.d ra,ft1
+ 8000315c: fff00e9b addiw t4,zero,-1
+ 80003160: 03fe9e93 slli t4,t4,0x3f
+ 80003164: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffff680f>
+ 80003168: 02b00193 li gp,43
+ 8000316c: 1bd09663 bne ra,t4,80003318 <fail>
+
+0000000080003170 <test_44>:
+ 80003170: 00001097 auipc ra,0x1
+ 80003174: 2e008093 addi ra,ra,736 # 80004450 <tdat_d>
+ 80003178: 0100b087 fld ft1,16(ra)
+ 8000317c: c200f0d3 fcvt.w.d ra,ft1
+ 80003180: 80000eb7 lui t4,0x80000
+ 80003184: 02c00193 li gp,44
+ 80003188: 19d09863 bne ra,t4,80003318 <fail>
+
+000000008000318c <test_45>:
+ 8000318c: 00001097 auipc ra,0x1
+ 80003190: 2c408093 addi ra,ra,708 # 80004450 <tdat_d>
+ 80003194: 0100b087 fld ft1,16(ra)
+ 80003198: c220f0d3 fcvt.l.d ra,ft1
+ 8000319c: fff00e9b addiw t4,zero,-1
+ 800031a0: 03fe9e93 slli t4,t4,0x3f
+ 800031a4: 02d00193 li gp,45
+ 800031a8: 17d09863 bne ra,t4,80003318 <fail>
+
+00000000800031ac <test_52>:
+ 800031ac: 00001097 auipc ra,0x1
+ 800031b0: 2a408093 addi ra,ra,676 # 80004450 <tdat_d>
+ 800031b4: 0080b087 fld ft1,8(ra)
+ 800031b8: c200f0d3 fcvt.w.d ra,ft1
+ 800031bc: 80000eb7 lui t4,0x80000
+ 800031c0: fffe8e9b addiw t4,t4,-1
+ 800031c4: 03400193 li gp,52
+ 800031c8: 15d09863 bne ra,t4,80003318 <fail>
+
+00000000800031cc <test_53>:
+ 800031cc: 00001097 auipc ra,0x1
+ 800031d0: 28408093 addi ra,ra,644 # 80004450 <tdat_d>
+ 800031d4: 0080b087 fld ft1,8(ra)
+ 800031d8: c220f0d3 fcvt.l.d ra,ft1
+ 800031dc: fff00e9b addiw t4,zero,-1
+ 800031e0: 03fe9e93 slli t4,t4,0x3f
+ 800031e4: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffff680f>
+ 800031e8: 03500193 li gp,53
+ 800031ec: 13d09663 bne ra,t4,80003318 <fail>
+
+00000000800031f0 <test_54>:
+ 800031f0: 00001097 auipc ra,0x1
+ 800031f4: 26008093 addi ra,ra,608 # 80004450 <tdat_d>
+ 800031f8: 0180b087 fld ft1,24(ra)
+ 800031fc: c200f0d3 fcvt.w.d ra,ft1
+ 80003200: 80000eb7 lui t4,0x80000
+ 80003204: fffe8e9b addiw t4,t4,-1
+ 80003208: 03600193 li gp,54
+ 8000320c: 11d09663 bne ra,t4,80003318 <fail>
+
+0000000080003210 <test_55>:
+ 80003210: 00001097 auipc ra,0x1
+ 80003214: 24008093 addi ra,ra,576 # 80004450 <tdat_d>
+ 80003218: 0180b087 fld ft1,24(ra)
+ 8000321c: c220f0d3 fcvt.l.d ra,ft1
+ 80003220: fff00e9b addiw t4,zero,-1
+ 80003224: 03fe9e93 slli t4,t4,0x3f
+ 80003228: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffff680f>
+ 8000322c: 03700193 li gp,55
+ 80003230: 0fd09463 bne ra,t4,80003318 <fail>
+
+0000000080003234 <test_62>:
+ 80003234: 00001097 auipc ra,0x1
+ 80003238: 21c08093 addi ra,ra,540 # 80004450 <tdat_d>
+ 8000323c: 0000b087 fld ft1,0(ra)
+ 80003240: c210f0d3 fcvt.wu.d ra,ft1
+ 80003244: fff00e93 li t4,-1
+ 80003248: 03e00193 li gp,62
+ 8000324c: 0dd09663 bne ra,t4,80003318 <fail>
+
+0000000080003250 <test_63>:
+ 80003250: 00001097 auipc ra,0x1
+ 80003254: 20008093 addi ra,ra,512 # 80004450 <tdat_d>
+ 80003258: 0080b087 fld ft1,8(ra)
+ 8000325c: c210f0d3 fcvt.wu.d ra,ft1
+ 80003260: fff00e93 li t4,-1
+ 80003264: 03f00193 li gp,63
+ 80003268: 0bd09863 bne ra,t4,80003318 <fail>
+
+000000008000326c <test_64>:
+ 8000326c: 00001097 auipc ra,0x1
+ 80003270: 1e408093 addi ra,ra,484 # 80004450 <tdat_d>
+ 80003274: 0100b087 fld ft1,16(ra)
+ 80003278: c210f0d3 fcvt.wu.d ra,ft1
+ 8000327c: 00000e93 li t4,0
+ 80003280: 04000193 li gp,64
+ 80003284: 09d09a63 bne ra,t4,80003318 <fail>
+
+0000000080003288 <test_65>:
+ 80003288: 00001097 auipc ra,0x1
+ 8000328c: 1c808093 addi ra,ra,456 # 80004450 <tdat_d>
+ 80003290: 0180b087 fld ft1,24(ra)
+ 80003294: c210f0d3 fcvt.wu.d ra,ft1
+ 80003298: fff00e93 li t4,-1
+ 8000329c: 04100193 li gp,65
+ 800032a0: 07d09c63 bne ra,t4,80003318 <fail>
+
+00000000800032a4 <test_66>:
+ 800032a4: 00001097 auipc ra,0x1
+ 800032a8: 1ac08093 addi ra,ra,428 # 80004450 <tdat_d>
+ 800032ac: 0000b087 fld ft1,0(ra)
+ 800032b0: c230f0d3 fcvt.lu.d ra,ft1
+ 800032b4: fff00e93 li t4,-1
+ 800032b8: 04200193 li gp,66
+ 800032bc: 05d09e63 bne ra,t4,80003318 <fail>
+
+00000000800032c0 <test_67>:
+ 800032c0: 00001097 auipc ra,0x1
+ 800032c4: 19008093 addi ra,ra,400 # 80004450 <tdat_d>
+ 800032c8: 0080b087 fld ft1,8(ra)
+ 800032cc: c230f0d3 fcvt.lu.d ra,ft1
+ 800032d0: fff00e93 li t4,-1
+ 800032d4: 04300193 li gp,67
+ 800032d8: 05d09063 bne ra,t4,80003318 <fail>
+
+00000000800032dc <test_68>:
+ 800032dc: 00001097 auipc ra,0x1
+ 800032e0: 17408093 addi ra,ra,372 # 80004450 <tdat_d>
+ 800032e4: 0100b087 fld ft1,16(ra)
+ 800032e8: c230f0d3 fcvt.lu.d ra,ft1
+ 800032ec: 00000e93 li t4,0
+ 800032f0: 04400193 li gp,68
+ 800032f4: 03d09263 bne ra,t4,80003318 <fail>
+
+00000000800032f8 <test_69>:
+ 800032f8: 00001097 auipc ra,0x1
+ 800032fc: 15808093 addi ra,ra,344 # 80004450 <tdat_d>
+ 80003300: 0180b087 fld ft1,24(ra)
+ 80003304: c230f0d3 fcvt.lu.d ra,ft1
+ 80003308: fff00e93 li t4,-1
+ 8000330c: 04500193 li gp,69
+ 80003310: 01d09463 bne ra,t4,80003318 <fail>
+ 80003314: 00301a63 bne zero,gp,80003328 <pass>
+
+0000000080003318 <fail>:
+ 80003318: 00119513 slli a0,gp,0x1
+ 8000331c: 00050063 beqz a0,8000331c <fail+0x4>
+ 80003320: 00156513 ori a0,a0,1
+ 80003324: 00000073 ecall
+
+0000000080003328 <pass>:
+ 80003328: 00100513 li a0,1
+ 8000332c: 00000073 ecall
+ 80003330: c0001073 unimp
+
+Disassembly of section .data:
+
+0000000080004000 <test_2_data>:
+ 80004000: 999a add s3,s3,t1
+ 80004002: 9999 andi a1,a1,-26
+ 80004004: 9999 andi a1,a1,-26
+ 80004006: bff1 j 80003fe2 <pass+0xcba>
+ 80004008: 0000 unimp
+ 8000400a: 0000 unimp
+ 8000400c: 0000 unimp
+ 8000400e: 0000 unimp
+ 80004010: 0000 unimp
+ 80004012: 0000 unimp
+ 80004014: 0000 unimp
+ 80004016: 0000 unimp
+ 80004018: ffff 0xffff
+ 8000401a: ffff 0xffff
+ 8000401c: ffff 0xffff
+ 8000401e: ffff 0xffff
+
+0000000080004020 <test_3_data>:
+ 80004020: 0000 unimp
+ 80004022: 0000 unimp
+ 80004024: 0000 unimp
+ 80004026: bff0 fsd fa2,248(a5)
+ 80004028: 0000 unimp
+ 8000402a: 0000 unimp
+ 8000402c: 0000 unimp
+ 8000402e: 0000 unimp
+ 80004030: 0000 unimp
+ 80004032: 0000 unimp
+ 80004034: 0000 unimp
+ 80004036: 0000 unimp
+ 80004038: ffff 0xffff
+ 8000403a: ffff 0xffff
+ 8000403c: ffff 0xffff
+ 8000403e: ffff 0xffff
+
+0000000080004040 <test_4_data>:
+ 80004040: cccd beqz s1,800040fa <test_9_data+0x1a>
+ 80004042: cccc sw a1,28(s1)
+ 80004044: cccc sw a1,28(s1)
+ 80004046: bfec fsd fa1,248(a5)
+ 80004048: 0000 unimp
+ 8000404a: 0000 unimp
+ 8000404c: 0000 unimp
+ 8000404e: 0000 unimp
+ 80004050: 0000 unimp
+ 80004052: 0000 unimp
+ 80004054: 0000 unimp
+ 80004056: 0000 unimp
+ 80004058: 0000 unimp
+ 8000405a: 0000 unimp
+ 8000405c: 0000 unimp
+ 8000405e: 0000 unimp
+
+0000000080004060 <test_5_data>:
+ 80004060: cccd beqz s1,8000411a <test_12_data+0x1a>
+ 80004062: cccc sw a1,28(s1)
+ 80004064: cccc sw a1,28(s1)
+ 80004066: 3fec fld fa1,248(a5)
+ 80004068: 0000 unimp
+ 8000406a: 0000 unimp
+ 8000406c: 0000 unimp
+ 8000406e: 0000 unimp
+ 80004070: 0000 unimp
+ 80004072: 0000 unimp
+ 80004074: 0000 unimp
+ 80004076: 0000 unimp
+ 80004078: 0000 unimp
+ 8000407a: 0000 unimp
+ 8000407c: 0000 unimp
+ 8000407e: 0000 unimp
+
+0000000080004080 <test_6_data>:
+ 80004080: 0000 unimp
+ 80004082: 0000 unimp
+ 80004084: 0000 unimp
+ 80004086: 3ff0 fld fa2,248(a5)
+ 80004088: 0000 unimp
+ 8000408a: 0000 unimp
+ 8000408c: 0000 unimp
+ 8000408e: 0000 unimp
+ 80004090: 0000 unimp
+ 80004092: 0000 unimp
+ 80004094: 0000 unimp
+ 80004096: 0000 unimp
+ 80004098: 0001 nop
+ 8000409a: 0000 unimp
+ 8000409c: 0000 unimp
+ 8000409e: 0000 unimp
+
+00000000800040a0 <test_7_data>:
+ 800040a0: 999a add s3,s3,t1
+ 800040a2: 9999 andi a1,a1,-26
+ 800040a4: 9999 andi a1,a1,-26
+ 800040a6: 3ff1 addiw t6,t6,-4
+ 800040a8: 0000 unimp
+ 800040aa: 0000 unimp
+ 800040ac: 0000 unimp
+ 800040ae: 0000 unimp
+ 800040b0: 0000 unimp
+ 800040b2: 0000 unimp
+ 800040b4: 0000 unimp
+ 800040b6: 0000 unimp
+ 800040b8: 0001 nop
+ 800040ba: 0000 unimp
+ 800040bc: 0000 unimp
+ 800040be: 0000 unimp
+
+00000000800040c0 <test_8_data>:
+ 800040c0: 0000 unimp
+ 800040c2: c000 sw s0,0(s0)
+ 800040c4: c1e65a0b 0xc1e65a0b
+ 800040c8: 0000 unimp
+ 800040ca: 0000 unimp
+ 800040cc: 0000 unimp
+ 800040ce: 0000 unimp
+ 800040d0: 0000 unimp
+ 800040d2: 0000 unimp
+ 800040d4: 0000 unimp
+ 800040d6: 0000 unimp
+ 800040d8: 0000 unimp
+ 800040da: 8000 0x8000
+ 800040dc: ffff 0xffff
+ 800040de: ffff 0xffff
+
+00000000800040e0 <test_9_data>:
+ 800040e0: 0000 unimp
+ 800040e2: c000 sw s0,0(s0)
+ 800040e4: 41e65a0b 0x41e65a0b
+ 800040e8: 0000 unimp
+ 800040ea: 0000 unimp
+ 800040ec: 0000 unimp
+ 800040ee: 0000 unimp
+ 800040f0: 0000 unimp
+ 800040f2: 0000 unimp
+ 800040f4: 0000 unimp
+ 800040f6: 0000 unimp
+ 800040f8: ffff 0xffff
+ 800040fa: 7fff 0x7fff
+ 800040fc: 0000 unimp
+ 800040fe: 0000 unimp
+
+0000000080004100 <test_12_data>:
+ 80004100: 0000 unimp
+ 80004102: 0000 unimp
+ 80004104: 0000 unimp
+ 80004106: c008 sw a0,0(s0)
+ 80004108: 0000 unimp
+ 8000410a: 0000 unimp
+ 8000410c: 0000 unimp
+ 8000410e: 0000 unimp
+ 80004110: 0000 unimp
+ 80004112: 0000 unimp
+ 80004114: 0000 unimp
+ 80004116: 0000 unimp
+ 80004118: 0000 unimp
+ 8000411a: 0000 unimp
+ 8000411c: 0000 unimp
+ 8000411e: 0000 unimp
+
+0000000080004120 <test_13_data>:
+ 80004120: 0000 unimp
+ 80004122: 0000 unimp
+ 80004124: 0000 unimp
+ 80004126: bff0 fsd fa2,248(a5)
+ 80004128: 0000 unimp
+ 8000412a: 0000 unimp
+ 8000412c: 0000 unimp
+ 8000412e: 0000 unimp
+ 80004130: 0000 unimp
+ 80004132: 0000 unimp
+ 80004134: 0000 unimp
+ 80004136: 0000 unimp
+ 80004138: 0000 unimp
+ 8000413a: 0000 unimp
+ 8000413c: 0000 unimp
+ 8000413e: 0000 unimp
+
+0000000080004140 <test_14_data>:
+ 80004140: cccd beqz s1,800041fa <test_19_data+0x1a>
+ 80004142: cccc sw a1,28(s1)
+ 80004144: cccc sw a1,28(s1)
+ 80004146: bfec fsd fa1,248(a5)
+ 80004148: 0000 unimp
+ 8000414a: 0000 unimp
+ 8000414c: 0000 unimp
+ 8000414e: 0000 unimp
+ 80004150: 0000 unimp
+ 80004152: 0000 unimp
+ 80004154: 0000 unimp
+ 80004156: 0000 unimp
+ 80004158: 0000 unimp
+ 8000415a: 0000 unimp
+ 8000415c: 0000 unimp
+ 8000415e: 0000 unimp
+
+0000000080004160 <test_15_data>:
+ 80004160: cccd beqz s1,8000421a <test_22_data+0x1a>
+ 80004162: cccc sw a1,28(s1)
+ 80004164: cccc sw a1,28(s1)
+ 80004166: 3fec fld fa1,248(a5)
+ 80004168: 0000 unimp
+ 8000416a: 0000 unimp
+ 8000416c: 0000 unimp
+ 8000416e: 0000 unimp
+ 80004170: 0000 unimp
+ 80004172: 0000 unimp
+ 80004174: 0000 unimp
+ 80004176: 0000 unimp
+ 80004178: 0000 unimp
+ 8000417a: 0000 unimp
+ 8000417c: 0000 unimp
+ 8000417e: 0000 unimp
+
+0000000080004180 <test_16_data>:
+ 80004180: 0000 unimp
+ 80004182: 0000 unimp
+ 80004184: 0000 unimp
+ 80004186: 3ff0 fld fa2,248(a5)
+ 80004188: 0000 unimp
+ 8000418a: 0000 unimp
+ 8000418c: 0000 unimp
+ 8000418e: 0000 unimp
+ 80004190: 0000 unimp
+ 80004192: 0000 unimp
+ 80004194: 0000 unimp
+ 80004196: 0000 unimp
+ 80004198: 0001 nop
+ 8000419a: 0000 unimp
+ 8000419c: 0000 unimp
+ 8000419e: 0000 unimp
+
+00000000800041a0 <test_17_data>:
+ 800041a0: 999a add s3,s3,t1
+ 800041a2: 9999 andi a1,a1,-26
+ 800041a4: 9999 andi a1,a1,-26
+ 800041a6: 3ff1 addiw t6,t6,-4
+ 800041a8: 0000 unimp
+ 800041aa: 0000 unimp
+ 800041ac: 0000 unimp
+ 800041ae: 0000 unimp
+ 800041b0: 0000 unimp
+ 800041b2: 0000 unimp
+ 800041b4: 0000 unimp
+ 800041b6: 0000 unimp
+ 800041b8: 0001 nop
+ 800041ba: 0000 unimp
+ 800041bc: 0000 unimp
+ 800041be: 0000 unimp
+
+00000000800041c0 <test_18_data>:
+ 800041c0: 0000 unimp
+ 800041c2: c000 sw s0,0(s0)
+ 800041c4: c1e65a0b 0xc1e65a0b
+ 800041c8: 0000 unimp
+ 800041ca: 0000 unimp
+ 800041cc: 0000 unimp
+ 800041ce: 0000 unimp
+ 800041d0: 0000 unimp
+ 800041d2: 0000 unimp
+ 800041d4: 0000 unimp
+ 800041d6: 0000 unimp
+ 800041d8: 0000 unimp
+ 800041da: 0000 unimp
+ 800041dc: 0000 unimp
+ 800041de: 0000 unimp
+
+00000000800041e0 <test_19_data>:
+ 800041e0: 0000 unimp
+ 800041e2: c000 sw s0,0(s0)
+ 800041e4: 41e65a0b 0x41e65a0b
+ 800041e8: 0000 unimp
+ 800041ea: 0000 unimp
+ 800041ec: 0000 unimp
+ 800041ee: 0000 unimp
+ 800041f0: 0000 unimp
+ 800041f2: 0000 unimp
+ 800041f4: 0000 unimp
+ 800041f6: 0000 unimp
+ 800041f8: 5e00 lw s0,56(a2)
+ 800041fa: b2d0 fsd fa2,160(a3)
+ 800041fc: ffff 0xffff
+ 800041fe: ffff 0xffff
+
+0000000080004200 <test_22_data>:
+ 80004200: 999a add s3,s3,t1
+ 80004202: 9999 andi a1,a1,-26
+ 80004204: 9999 andi a1,a1,-26
+ 80004206: bff1 j 800041e2 <test_19_data+0x2>
+ 80004208: 0000 unimp
+ 8000420a: 0000 unimp
+ 8000420c: 0000 unimp
+ 8000420e: 0000 unimp
+ 80004210: 0000 unimp
+ 80004212: 0000 unimp
+ 80004214: 0000 unimp
+ 80004216: 0000 unimp
+ 80004218: ffff 0xffff
+ 8000421a: ffff 0xffff
+ 8000421c: ffff 0xffff
+ 8000421e: ffff 0xffff
+
+0000000080004220 <test_23_data>:
+ 80004220: 0000 unimp
+ 80004222: 0000 unimp
+ 80004224: 0000 unimp
+ 80004226: bff0 fsd fa2,248(a5)
+ 80004228: 0000 unimp
+ 8000422a: 0000 unimp
+ 8000422c: 0000 unimp
+ 8000422e: 0000 unimp
+ 80004230: 0000 unimp
+ 80004232: 0000 unimp
+ 80004234: 0000 unimp
+ 80004236: 0000 unimp
+ 80004238: ffff 0xffff
+ 8000423a: ffff 0xffff
+ 8000423c: ffff 0xffff
+ 8000423e: ffff 0xffff
+
+0000000080004240 <test_24_data>:
+ 80004240: cccd beqz s1,800042fa <test_29_data+0x1a>
+ 80004242: cccc sw a1,28(s1)
+ 80004244: cccc sw a1,28(s1)
+ 80004246: bfec fsd fa1,248(a5)
+ 80004248: 0000 unimp
+ 8000424a: 0000 unimp
+ 8000424c: 0000 unimp
+ 8000424e: 0000 unimp
+ 80004250: 0000 unimp
+ 80004252: 0000 unimp
+ 80004254: 0000 unimp
+ 80004256: 0000 unimp
+ 80004258: 0000 unimp
+ 8000425a: 0000 unimp
+ 8000425c: 0000 unimp
+ 8000425e: 0000 unimp
+
+0000000080004260 <test_25_data>:
+ 80004260: cccd beqz s1,8000431a <test_20_data+0x1a>
+ 80004262: cccc sw a1,28(s1)
+ 80004264: cccc sw a1,28(s1)
+ 80004266: 3fec fld fa1,248(a5)
+ 80004268: 0000 unimp
+ 8000426a: 0000 unimp
+ 8000426c: 0000 unimp
+ 8000426e: 0000 unimp
+ 80004270: 0000 unimp
+ 80004272: 0000 unimp
+ 80004274: 0000 unimp
+ 80004276: 0000 unimp
+ 80004278: 0000 unimp
+ 8000427a: 0000 unimp
+ 8000427c: 0000 unimp
+ 8000427e: 0000 unimp
+
+0000000080004280 <test_26_data>:
+ 80004280: 0000 unimp
+ 80004282: 0000 unimp
+ 80004284: 0000 unimp
+ 80004286: 3ff0 fld fa2,248(a5)
+ 80004288: 0000 unimp
+ 8000428a: 0000 unimp
+ 8000428c: 0000 unimp
+ 8000428e: 0000 unimp
+ 80004290: 0000 unimp
+ 80004292: 0000 unimp
+ 80004294: 0000 unimp
+ 80004296: 0000 unimp
+ 80004298: 0001 nop
+ 8000429a: 0000 unimp
+ 8000429c: 0000 unimp
+ 8000429e: 0000 unimp
+
+00000000800042a0 <test_27_data>:
+ 800042a0: 999a add s3,s3,t1
+ 800042a2: 9999 andi a1,a1,-26
+ 800042a4: 9999 andi a1,a1,-26
+ 800042a6: 3ff1 addiw t6,t6,-4
+ 800042a8: 0000 unimp
+ 800042aa: 0000 unimp
+ 800042ac: 0000 unimp
+ 800042ae: 0000 unimp
+ 800042b0: 0000 unimp
+ 800042b2: 0000 unimp
+ 800042b4: 0000 unimp
+ 800042b6: 0000 unimp
+ 800042b8: 0001 nop
+ 800042ba: 0000 unimp
+ 800042bc: 0000 unimp
+ 800042be: 0000 unimp
+
+00000000800042c0 <test_28_data>:
+ 800042c0: 0000 unimp
+ 800042c2: c000 sw s0,0(s0)
+ 800042c4: c1e65a0b 0xc1e65a0b
+ 800042c8: 0000 unimp
+ 800042ca: 0000 unimp
+ 800042cc: 0000 unimp
+ 800042ce: 0000 unimp
+ 800042d0: 0000 unimp
+ 800042d2: 0000 unimp
+ 800042d4: 0000 unimp
+ 800042d6: 0000 unimp
+ 800042d8: a200 fsd fs0,0(a2)
+ 800042da: ffff4d2f 0xffff4d2f
+ 800042de: ffff 0xffff
+
+00000000800042e0 <test_29_data>:
+ 800042e0: 0000 unimp
+ 800042e2: c000 sw s0,0(s0)
+ 800042e4: 41e65a0b 0x41e65a0b
+ 800042e8: 0000 unimp
+ 800042ea: 0000 unimp
+ 800042ec: 0000 unimp
+ 800042ee: 0000 unimp
+ 800042f0: 0000 unimp
+ 800042f2: 0000 unimp
+ 800042f4: 0000 unimp
+ 800042f6: 0000 unimp
+ 800042f8: 5e00 lw s0,56(a2)
+ 800042fa: b2d0 fsd fa2,160(a3)
+ 800042fc: 0000 unimp
+ 800042fe: 0000 unimp
+
+0000000080004300 <test_20_data>:
+ 80004300: db80 sw s0,48(a5)
+ 80004302: 90d9 srli s1,s1,0x36
+ 80004304: 0556 slli a0,a0,0x15
+ 80004306: c3fa sw t5,196(sp)
+ 80004308: 0000 unimp
+ 8000430a: 0000 unimp
+ 8000430c: 0000 unimp
+ 8000430e: 0000 unimp
+ 80004310: 0000 unimp
+ 80004312: 0000 unimp
+ 80004314: 0000 unimp
+ 80004316: 0000 unimp
+ 80004318: 0000 unimp
+ 8000431a: 0000 unimp
+ 8000431c: 0000 unimp
+ 8000431e: 8000 0x8000
+
+0000000080004320 <test_21_data>:
+ 80004320: db80 sw s0,48(a5)
+ 80004322: 90d9 srli s1,s1,0x36
+ 80004324: 0556 slli a0,a0,0x15
+ 80004326: 43fa lw t2,156(sp)
+ 80004328: 0000 unimp
+ 8000432a: 0000 unimp
+ 8000432c: 0000 unimp
+ 8000432e: 0000 unimp
+ 80004330: 0000 unimp
+ 80004332: 0000 unimp
+ 80004334: 0000 unimp
+ 80004336: 0000 unimp
+ 80004338: ffff 0xffff
+ 8000433a: ffff 0xffff
+ 8000433c: ffff 0xffff
+ 8000433e: 7fff 0x7fff
+
+0000000080004340 <test_32_data>:
+ 80004340: 0000 unimp
+ 80004342: 0000 unimp
+ 80004344: 0000 unimp
+ 80004346: c008 sw a0,0(s0)
+ 80004348: 0000 unimp
+ 8000434a: 0000 unimp
+ 8000434c: 0000 unimp
+ 8000434e: 0000 unimp
+ 80004350: 0000 unimp
+ 80004352: 0000 unimp
+ 80004354: 0000 unimp
+ 80004356: 0000 unimp
+ 80004358: 0000 unimp
+ 8000435a: 0000 unimp
+ 8000435c: 0000 unimp
+ 8000435e: 0000 unimp
+
+0000000080004360 <test_33_data>:
+ 80004360: 0000 unimp
+ 80004362: 0000 unimp
+ 80004364: 0000 unimp
+ 80004366: bff0 fsd fa2,248(a5)
+ 80004368: 0000 unimp
+ 8000436a: 0000 unimp
+ 8000436c: 0000 unimp
+ 8000436e: 0000 unimp
+ 80004370: 0000 unimp
+ 80004372: 0000 unimp
+ 80004374: 0000 unimp
+ 80004376: 0000 unimp
+ 80004378: 0000 unimp
+ 8000437a: 0000 unimp
+ 8000437c: 0000 unimp
+ 8000437e: 0000 unimp
+
+0000000080004380 <test_34_data>:
+ 80004380: cccd beqz s1,8000443a <test_39_data+0x1a>
+ 80004382: cccc sw a1,28(s1)
+ 80004384: cccc sw a1,28(s1)
+ 80004386: bfec fsd fa1,248(a5)
+ 80004388: 0000 unimp
+ 8000438a: 0000 unimp
+ 8000438c: 0000 unimp
+ 8000438e: 0000 unimp
+ 80004390: 0000 unimp
+ 80004392: 0000 unimp
+ 80004394: 0000 unimp
+ 80004396: 0000 unimp
+ 80004398: 0000 unimp
+ 8000439a: 0000 unimp
+ 8000439c: 0000 unimp
+ 8000439e: 0000 unimp
+
+00000000800043a0 <test_35_data>:
+ 800043a0: cccd beqz s1,8000445a <tdat_d+0xa>
+ 800043a2: cccc sw a1,28(s1)
+ 800043a4: cccc sw a1,28(s1)
+ 800043a6: 3fec fld fa1,248(a5)
+ 800043a8: 0000 unimp
+ 800043aa: 0000 unimp
+ 800043ac: 0000 unimp
+ 800043ae: 0000 unimp
+ 800043b0: 0000 unimp
+ 800043b2: 0000 unimp
+ 800043b4: 0000 unimp
+ 800043b6: 0000 unimp
+ 800043b8: 0000 unimp
+ 800043ba: 0000 unimp
+ 800043bc: 0000 unimp
+ 800043be: 0000 unimp
+
+00000000800043c0 <test_36_data>:
+ 800043c0: 0000 unimp
+ 800043c2: 0000 unimp
+ 800043c4: 0000 unimp
+ 800043c6: 3ff0 fld fa2,248(a5)
+ 800043c8: 0000 unimp
+ 800043ca: 0000 unimp
+ 800043cc: 0000 unimp
+ 800043ce: 0000 unimp
+ 800043d0: 0000 unimp
+ 800043d2: 0000 unimp
+ 800043d4: 0000 unimp
+ 800043d6: 0000 unimp
+ 800043d8: 0001 nop
+ 800043da: 0000 unimp
+ 800043dc: 0000 unimp
+ 800043de: 0000 unimp
+
+00000000800043e0 <test_37_data>:
+ 800043e0: 999a add s3,s3,t1
+ 800043e2: 9999 andi a1,a1,-26
+ 800043e4: 9999 andi a1,a1,-26
+ 800043e6: 3ff1 addiw t6,t6,-4
+ 800043e8: 0000 unimp
+ 800043ea: 0000 unimp
+ 800043ec: 0000 unimp
+ 800043ee: 0000 unimp
+ 800043f0: 0000 unimp
+ 800043f2: 0000 unimp
+ 800043f4: 0000 unimp
+ 800043f6: 0000 unimp
+ 800043f8: 0001 nop
+ 800043fa: 0000 unimp
+ 800043fc: 0000 unimp
+ 800043fe: 0000 unimp
+
+0000000080004400 <test_38_data>:
+ 80004400: 0000 unimp
+ 80004402: c000 sw s0,0(s0)
+ 80004404: c1e65a0b 0xc1e65a0b
+ 80004408: 0000 unimp
+ 8000440a: 0000 unimp
+ 8000440c: 0000 unimp
+ 8000440e: 0000 unimp
+ 80004410: 0000 unimp
+ 80004412: 0000 unimp
+ 80004414: 0000 unimp
+ 80004416: 0000 unimp
+ 80004418: 0000 unimp
+ 8000441a: 0000 unimp
+ 8000441c: 0000 unimp
+ 8000441e: 0000 unimp
+
+0000000080004420 <test_39_data>:
+ 80004420: 0000 unimp
+ 80004422: c000 sw s0,0(s0)
+ 80004424: 41e65a0b 0x41e65a0b
+ 80004428: 0000 unimp
+ 8000442a: 0000 unimp
+ 8000442c: 0000 unimp
+ 8000442e: 0000 unimp
+ 80004430: 0000 unimp
+ 80004432: 0000 unimp
+ 80004434: 0000 unimp
+ 80004436: 0000 unimp
+ 80004438: 5e00 lw s0,56(a2)
+ 8000443a: b2d0 fsd fa2,160(a3)
+ 8000443c: 0000 unimp
+ 8000443e: 0000 unimp
+
+0000000080004440 <begin_signature>:
+ 80004440: ffff 0xffff
+ 80004442: ffff 0xffff
+ 80004444: ffff 0xffff
+ 80004446: 7fff 0x7fff
+ 80004448: 0000 unimp
+ 8000444a: ff80 sd s0,56(a5)
+ 8000444c: 0000 unimp
+ 8000444e: 7f80 ld s0,56(a5)
+
+0000000080004450 <tdat_d>:
+ 80004450: ffff 0xffff
+ 80004452: ffff 0xffff
+ 80004454: ffff 0xffff
+ 80004456: ffff 0xffff
+ 80004458: ffff 0xffff
+ 8000445a: ffff 0xffff
+ 8000445c: ffff 0xffff
+ 8000445e: 7fff 0x7fff
+ 80004460: 0000 unimp
+ 80004462: 0000 unimp
+ 80004464: 0000 unimp
+ 80004466: fff0 sd a2,248(a5)
+ 80004468: 0000 unimp
+ 8000446a: 0000 unimp
+ 8000446c: 0000 unimp
+ 8000446e: 7ff0 ld a2,248(a5)
diff --git a/test/riscv-tests/rv64ud-v-fcvt_w.elf b/test/riscv-tests/rv64ud-v-fcvt_w.elf
new file mode 100644
index 0000000..ccda038
--- /dev/null
+++ b/test/riscv-tests/rv64ud-v-fcvt_w.elf
Binary files differ
diff --git a/test/riscv-tests/rv64ud-v-fdiv.dump b/test/riscv-tests/rv64ud-v-fdiv.dump
new file mode 100644
index 0000000..d5227c0
--- /dev/null
+++ b/test/riscv-tests/rv64ud-v-fdiv.dump
@@ -0,0 +1,1096 @@
+
+rv64ud-v-fdiv: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 00c0006f j 8000000c <handle_reset>
+
+0000000080000004 <nmi_vector>:
+ 80000004: 2580206f j 8000225c <wtf>
+
+0000000080000008 <trap_vector>:
+ 80000008: 2540206f j 8000225c <wtf>
+
+000000008000000c <handle_reset>:
+ 8000000c: 00000297 auipc t0,0x0
+ 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+ 80000014: 30529073 csrw mtvec,t0
+ 80000018: 00009117 auipc sp,0x9
+ 8000001c: 6b810113 addi sp,sp,1720 # 800096d0 <_end+0xee0>
+ 80000020: f14022f3 csrr t0,mhartid
+ 80000024: 00c29293 slli t0,t0,0xc
+ 80000028: 00510133 add sp,sp,t0
+ 8000002c: 34011073 csrw mscratch,sp
+ 80000030: 00003517 auipc a0,0x3
+ 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart>
+ 80000038: 09d0206f j 800028d4 <vm_boot>
+
+000000008000003c <pop_tf>:
+ 8000003c: 10853283 ld t0,264(a0)
+ 80000040: 14129073 csrw sepc,t0
+ 80000044: 00853083 ld ra,8(a0)
+ 80000048: 01053103 ld sp,16(a0)
+ 8000004c: 01853183 ld gp,24(a0)
+ 80000050: 02053203 ld tp,32(a0)
+ 80000054: 02853283 ld t0,40(a0)
+ 80000058: 03053303 ld t1,48(a0)
+ 8000005c: 03853383 ld t2,56(a0)
+ 80000060: 04053403 ld s0,64(a0)
+ 80000064: 04853483 ld s1,72(a0)
+ 80000068: 05853583 ld a1,88(a0)
+ 8000006c: 06053603 ld a2,96(a0)
+ 80000070: 06853683 ld a3,104(a0)
+ 80000074: 07053703 ld a4,112(a0)
+ 80000078: 07853783 ld a5,120(a0)
+ 8000007c: 08053803 ld a6,128(a0)
+ 80000080: 08853883 ld a7,136(a0)
+ 80000084: 09053903 ld s2,144(a0)
+ 80000088: 09853983 ld s3,152(a0)
+ 8000008c: 0a053a03 ld s4,160(a0)
+ 80000090: 0a853a83 ld s5,168(a0)
+ 80000094: 0b053b03 ld s6,176(a0)
+ 80000098: 0b853b83 ld s7,184(a0)
+ 8000009c: 0c053c03 ld s8,192(a0)
+ 800000a0: 0c853c83 ld s9,200(a0)
+ 800000a4: 0d053d03 ld s10,208(a0)
+ 800000a8: 0d853d83 ld s11,216(a0)
+ 800000ac: 0e053e03 ld t3,224(a0)
+ 800000b0: 0e853e83 ld t4,232(a0)
+ 800000b4: 0f053f03 ld t5,240(a0)
+ 800000b8: 0f853f83 ld t6,248(a0)
+ 800000bc: 05053503 ld a0,80(a0)
+ 800000c0: 10200073 sret
+
+00000000800000c4 <trap_entry>:
+ 800000c4: 14011173 csrrw sp,sscratch,sp
+ 800000c8: 00113423 sd ra,8(sp)
+ 800000cc: 00313c23 sd gp,24(sp)
+ 800000d0: 02413023 sd tp,32(sp)
+ 800000d4: 02513423 sd t0,40(sp)
+ 800000d8: 02613823 sd t1,48(sp)
+ 800000dc: 02713c23 sd t2,56(sp)
+ 800000e0: 04813023 sd s0,64(sp)
+ 800000e4: 04913423 sd s1,72(sp)
+ 800000e8: 04a13823 sd a0,80(sp)
+ 800000ec: 04b13c23 sd a1,88(sp)
+ 800000f0: 06c13023 sd a2,96(sp)
+ 800000f4: 06d13423 sd a3,104(sp)
+ 800000f8: 06e13823 sd a4,112(sp)
+ 800000fc: 06f13c23 sd a5,120(sp)
+ 80000100: 09013023 sd a6,128(sp)
+ 80000104: 09113423 sd a7,136(sp)
+ 80000108: 09213823 sd s2,144(sp)
+ 8000010c: 09313c23 sd s3,152(sp)
+ 80000110: 0b413023 sd s4,160(sp)
+ 80000114: 0b513423 sd s5,168(sp)
+ 80000118: 0b613823 sd s6,176(sp)
+ 8000011c: 0b713c23 sd s7,184(sp)
+ 80000120: 0d813023 sd s8,192(sp)
+ 80000124: 0d913423 sd s9,200(sp)
+ 80000128: 0da13823 sd s10,208(sp)
+ 8000012c: 0db13c23 sd s11,216(sp)
+ 80000130: 0fc13023 sd t3,224(sp)
+ 80000134: 0fd13423 sd t4,232(sp)
+ 80000138: 0fe13823 sd t5,240(sp)
+ 8000013c: 0ff13c23 sd t6,248(sp)
+ 80000140: 140112f3 csrrw t0,sscratch,sp
+ 80000144: 00513823 sd t0,16(sp)
+ 80000148: 100022f3 csrr t0,sstatus
+ 8000014c: 10513023 sd t0,256(sp)
+ 80000150: 141022f3 csrr t0,sepc
+ 80000154: 10513423 sd t0,264(sp)
+ 80000158: 143022f3 csrr t0,stval
+ 8000015c: 10513823 sd t0,272(sp)
+ 80000160: 142022f3 csrr t0,scause
+ 80000164: 10513c23 sd t0,280(sp)
+ 80000168: 00010513 mv a0,sp
+ 8000016c: 4300206f j 8000259c <handle_trap>
+
+Disassembly of section .text:
+
+0000000080002000 <memcpy>:
+ 80002000: 00c5e7b3 or a5,a1,a2
+ 80002004: 00f567b3 or a5,a0,a5
+ 80002008: 0077f793 andi a5,a5,7
+ 8000200c: 00c506b3 add a3,a0,a2
+ 80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+ 80002014: 00c58633 add a2,a1,a2
+ 80002018: 00050793 mv a5,a0
+ 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+ 80002020: 00158593 addi a1,a1,1
+ 80002024: fff5c703 lbu a4,-1(a1)
+ 80002028: 00178793 addi a5,a5,1
+ 8000202c: fee78fa3 sb a4,-1(a5)
+ 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+ 80002034: 00008067 ret
+ 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+ 8000203c: 00050793 mv a5,a0
+ 80002040: 00858593 addi a1,a1,8
+ 80002044: ff85b703 ld a4,-8(a1)
+ 80002048: 00878793 addi a5,a5,8
+ 8000204c: fee7bc23 sd a4,-8(a5)
+ 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+ 80002054: 00008067 ret
+ 80002058: 00008067 ret
+
+000000008000205c <memset>:
+ 8000205c: 00c567b3 or a5,a0,a2
+ 80002060: 0077f793 andi a5,a5,7
+ 80002064: 00c50633 add a2,a0,a2
+ 80002068: 0ff5f593 andi a1,a1,255
+ 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c>
+ 80002070: 00050793 mv a5,a0
+ 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c>
+ 80002078: 00178793 addi a5,a5,1
+ 8000207c: feb78fa3 sb a1,-1(a5)
+ 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+ 80002084: 00008067 ret
+ 80002088: 00859793 slli a5,a1,0x8
+ 8000208c: 00b7e5b3 or a1,a5,a1
+ 80002090: 01059793 slli a5,a1,0x10
+ 80002094: 00b7e7b3 or a5,a5,a1
+ 80002098: 02079593 slli a1,a5,0x20
+ 8000209c: 00f5e5b3 or a1,a1,a5
+ 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28>
+ 800020a4: 00050793 mv a5,a0
+ 800020a8: 00878793 addi a5,a5,8
+ 800020ac: feb7bc23 sd a1,-8(a5)
+ 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c>
+ 800020b4: 00008067 ret
+ 800020b8: 00008067 ret
+
+00000000800020bc <strlen>:
+ 800020bc: 00054783 lbu a5,0(a0)
+ 800020c0: 00050713 mv a4,a0
+ 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20>
+ 800020c8: 00150513 addi a0,a0,1
+ 800020cc: 00054783 lbu a5,0(a0)
+ 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc>
+ 800020d4: 40e50533 sub a0,a0,a4
+ 800020d8: 00008067 ret
+ 800020dc: 00000513 li a0,0
+ 800020e0: 00008067 ret
+
+00000000800020e4 <strcmp>:
+ 800020e4: 00150513 addi a0,a0,1
+ 800020e8: fff54783 lbu a5,-1(a0)
+ 800020ec: 00158593 addi a1,a1,1
+ 800020f0: fff5c703 lbu a4,-1(a1)
+ 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24>
+ 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp>
+ 800020fc: 0007851b sext.w a0,a5
+ 80002100: 40e5053b subw a0,a0,a4
+ 80002104: 00008067 ret
+ 80002108: 00000513 li a0,0
+ 8000210c: ff5ff06f j 80002100 <strcmp+0x1c>
+
+0000000080002110 <memcmp>:
+ 80002110: 00b567b3 or a5,a0,a1
+ 80002114: 0077f793 andi a5,a5,7
+ 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c>
+ 8000211c: ff867693 andi a3,a2,-8
+ 80002120: 00d506b3 add a3,a0,a3
+ 80002124: 00050813 mv a6,a0
+ 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c>
+ 8000212c: 00053703 ld a4,0(a0)
+ 80002130: 0005b783 ld a5,0(a1)
+ 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38>
+ 80002138: 0240006f j 8000215c <memcmp+0x4c>
+ 8000213c: 00053703 ld a4,0(a0)
+ 80002140: 0005b783 ld a5,0(a1)
+ 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44>
+ 80002148: 00850513 addi a0,a0,8
+ 8000214c: 00858593 addi a1,a1,8
+ 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c>
+ 80002154: 41050833 sub a6,a0,a6
+ 80002158: 41060633 sub a2,a2,a6
+ 8000215c: 00c58633 add a2,a1,a2
+ 80002160: 0140006f j 80002174 <memcmp+0x64>
+ 80002164: 00158593 addi a1,a1,1
+ 80002168: fff54783 lbu a5,-1(a0)
+ 8000216c: fff5c703 lbu a4,-1(a1)
+ 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74>
+ 80002174: 00150513 addi a0,a0,1
+ 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54>
+ 8000217c: 00000513 li a0,0
+ 80002180: 00008067 ret
+ 80002184: 40e7853b subw a0,a5,a4
+ 80002188: 00008067 ret
+
+000000008000218c <strcpy>:
+ 8000218c: 00050793 mv a5,a0
+ 80002190: 00158593 addi a1,a1,1
+ 80002194: fff5c703 lbu a4,-1(a1)
+ 80002198: 00178793 addi a5,a5,1
+ 8000219c: fee78fa3 sb a4,-1(a5)
+ 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4>
+ 800021a4: 00008067 ret
+
+00000000800021a8 <atol>:
+ 800021a8: 00054783 lbu a5,0(a0)
+ 800021ac: 02000713 li a4,32
+ 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18>
+ 800021b4: 00150513 addi a0,a0,1
+ 800021b8: 00054783 lbu a5,0(a0)
+ 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc>
+ 800021c0: fd57871b addiw a4,a5,-43
+ 800021c4: 0fd77713 andi a4,a4,253
+ 800021c8: 04070263 beqz a4,8000220c <atol+0x64>
+ 800021cc: 00054683 lbu a3,0(a0)
+ 800021d0: 00050793 mv a5,a0
+ 800021d4: 00000613 li a2,0
+ 800021d8: 04068863 beqz a3,80002228 <atol+0x80>
+ 800021dc: 00000513 li a0,0
+ 800021e0: 00178793 addi a5,a5,1
+ 800021e4: fd06859b addiw a1,a3,-48
+ 800021e8: 00251713 slli a4,a0,0x2
+ 800021ec: 0007c683 lbu a3,0(a5)
+ 800021f0: 00a70533 add a0,a4,a0
+ 800021f4: 00151513 slli a0,a0,0x1
+ 800021f8: 00a58533 add a0,a1,a0
+ 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38>
+ 80002200: 00060463 beqz a2,80002208 <atol+0x60>
+ 80002204: 40a00533 neg a0,a0
+ 80002208: 00008067 ret
+ 8000220c: 00154683 lbu a3,1(a0)
+ 80002210: fd378793 addi a5,a5,-45
+ 80002214: 0017b613 seqz a2,a5
+ 80002218: 00150793 addi a5,a0,1
+ 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34>
+ 80002220: 00000513 li a0,0
+ 80002224: fddff06f j 80002200 <atol+0x58>
+ 80002228: 00000513 li a0,0
+ 8000222c: 00008067 ret
+
+0000000080002230 <terminate>:
+ 80002230: fffff797 auipc a5,0xfffff
+ 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost>
+ 80002238: 0007b703 ld a4,0(a5)
+ 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20>
+ 80002240: fffff717 auipc a4,0xfffff
+ 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost>
+ 80002248: 0007b703 ld a4,0(a5)
+ 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10>
+ 80002250: fffff797 auipc a5,0xfffff
+ 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost>
+ 80002258: 0000006f j 80002258 <terminate+0x28>
+
+000000008000225c <wtf>:
+ 8000225c: ff010113 addi sp,sp,-16
+ 80002260: 34900513 li a0,841
+ 80002264: 00113423 sd ra,8(sp)
+ 80002268: fc9ff0ef jal ra,80002230 <terminate>
+
+000000008000226c <printhex>:
+ 8000226c: fe010113 addi sp,sp,-32
+ 80002270: 01710713 addi a4,sp,23
+ 80002274: 00710813 addi a6,sp,7
+ 80002278: 00900593 li a1,9
+ 8000227c: 00f57793 andi a5,a0,15
+ 80002280: 03000613 li a2,48
+ 80002284: 0ff7f693 andi a3,a5,255
+ 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24>
+ 8000228c: 05700613 li a2,87
+ 80002290: 00c687bb addw a5,a3,a2
+ 80002294: 00f70023 sb a5,0(a4)
+ 80002298: fff70713 addi a4,a4,-1
+ 8000229c: 00455513 srli a0,a0,0x4
+ 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10>
+ 800022a4: 00814783 lbu a5,8(sp)
+ 800022a8: 00010c23 sb zero,24(sp)
+ 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88>
+ 800022b0: 10100513 li a0,257
+ 800022b4: 00810693 addi a3,sp,8
+ 800022b8: fffff717 auipc a4,0xfffff
+ 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost>
+ 800022c0: 03051513 slli a0,a0,0x30
+ 800022c4: 00073583 ld a1,0(a4)
+ 800022c8: 00168693 addi a3,a3,1
+ 800022cc: 00a7e633 or a2,a5,a0
+ 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78>
+ 800022d4: fffff797 auipc a5,0xfffff
+ 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost>
+ 800022dc: 00073783 ld a5,0(a4)
+ 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68>
+ 800022e4: 0006c783 lbu a5,0(a3)
+ 800022e8: fffff597 auipc a1,0xfffff
+ 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost>
+ 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58>
+ 800022f4: 02010113 addi sp,sp,32
+ 800022f8: 00008067 ret
+
+00000000800022fc <handle_fault>:
+ 800022fc: fffff8b7 lui a7,0xfffff
+ 80002300: 01150733 add a4,a0,a7
+ 80002304: 0003e7b7 lui a5,0x3e
+ 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154>
+ 8000230c: 00c55693 srli a3,a0,0xc
+ 80002310: 60068813 addi a6,a3,1536
+ 80002314: 00002617 auipc a2,0x2
+ 80002318: cec60613 addi a2,a2,-788 # 80004000 <pt>
+ 8000231c: 00381793 slli a5,a6,0x3
+ 80002320: 00f607b3 add a5,a2,a5
+ 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000>
+ 80002328: 01157533 and a0,a0,a7
+ 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110>
+ 80002330: 00006797 auipc a5,0x6
+ 80002334: 4b878793 addi a5,a5,1208 # 800087e8 <freelist_head>
+ 80002338: 0007b583 ld a1,0(a5)
+ 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0>
+ 80002340: 0085b783 ld a5,8(a1)
+ 80002344: 00006717 auipc a4,0x6
+ 80002348: 49c70713 addi a4,a4,1180 # 800087e0 <freelist_tail>
+ 8000234c: 00073703 ld a4,0(a4)
+ 80002350: 00006897 auipc a7,0x6
+ 80002354: 48f8bc23 sd a5,1176(a7) # 800087e8 <freelist_head>
+ 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148>
+ 8000235c: 0005b783 ld a5,0(a1)
+ 80002360: 00381893 slli a7,a6,0x3
+ 80002364: 011608b3 add a7,a2,a7
+ 80002368: 00c7d793 srli a5,a5,0xc
+ 8000236c: 00a79793 slli a5,a5,0xa
+ 80002370: 0df7e313 ori t1,a5,223
+ 80002374: 01f7e713 ori a4,a5,31
+ 80002378: 0068b023 sd t1,0(a7)
+ 8000237c: 12050073 sfence.vma a0
+ 80002380: 00006797 auipc a5,0x6
+ 80002384: 07078793 addi a5,a5,112 # 800083f0 <user_mapping>
+ 80002388: 00469693 slli a3,a3,0x4
+ 8000238c: 00d786b3 add a3,a5,a3
+ 80002390: 0006b783 ld a5,0(a3)
+ 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200>
+ 80002398: 0005b783 ld a5,0(a1)
+ 8000239c: 00f6b023 sd a5,0(a3)
+ 800023a0: 0085b783 ld a5,8(a1)
+ 800023a4: 00f6b423 sd a5,8(a3)
+ 800023a8: 000407b7 lui a5,0x40
+ 800023ac: 1007a8f3 csrrs a7,sstatus,a5
+ 800023b0: ffe007b7 lui a5,0xffe00
+ 800023b4: 00f507b3 add a5,a0,a5
+ 800023b8: 000015b7 lui a1,0x1
+ 800023bc: 00050693 mv a3,a0
+ 800023c0: 00b785b3 add a1,a5,a1
+ 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf7810>
+ 800023c8: 0087be83 ld t4,8(a5)
+ 800023cc: 0107be03 ld t3,16(a5)
+ 800023d0: 0187b303 ld t1,24(a5)
+ 800023d4: 01e6b023 sd t5,0(a3)
+ 800023d8: 01d6b423 sd t4,8(a3)
+ 800023dc: 01c6b823 sd t3,16(a3)
+ 800023e0: 0066bc23 sd t1,24(a3)
+ 800023e4: 02078793 addi a5,a5,32
+ 800023e8: 02068693 addi a3,a3,32
+ 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8>
+ 800023f0: 10089073 csrw sstatus,a7
+ 800023f4: 00381813 slli a6,a6,0x3
+ 800023f8: 01060633 add a2,a2,a6
+ 800023fc: 00e63023 sd a4,0(a2)
+ 80002400: 12050073 sfence.vma a0
+ 80002404: 0000100f fence.i
+ 80002408: 00008067 ret
+ 8000240c: 04077693 andi a3,a4,64
+ 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128>
+ 80002414: 04076713 ori a4,a4,64
+ 80002418: 00e7b023 sd a4,0(a5)
+ 8000241c: 12050073 sfence.vma a0
+ 80002420: 00008067 ret
+ 80002424: 08077693 andi a3,a4,128
+ 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250>
+ 8000242c: 00f00693 li a3,15
+ 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250>
+ 80002434: 08076713 ori a4,a4,128
+ 80002438: 00e7b023 sd a4,0(a5)
+ 8000243c: 12050073 sfence.vma a0
+ 80002440: 00008067 ret
+ 80002444: 00006797 auipc a5,0x6
+ 80002448: 3807be23 sd zero,924(a5) # 800087e0 <freelist_tail>
+ 8000244c: f11ff06f j 8000235c <handle_fault+0x60>
+ 80002450: 10100613 li a2,257
+ 80002454: 04100713 li a4,65
+ 80002458: 00001697 auipc a3,0x1
+ 8000245c: 83868693 addi a3,a3,-1992 # 80002c90 <pass+0x10>
+ 80002460: fffff797 auipc a5,0xfffff
+ 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost>
+ 80002468: 03061613 slli a2,a2,0x30
+ 8000246c: 0007b503 ld a0,0(a5)
+ 80002470: 00168693 addi a3,a3,1
+ 80002474: 00c765b3 or a1,a4,a2
+ 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190>
+ 8000247c: fffff717 auipc a4,0xfffff
+ 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost>
+ 80002484: 0007b703 ld a4,0(a5)
+ 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180>
+ 8000248c: 0006c703 lbu a4,0(a3)
+ 80002490: fffff517 auipc a0,0xfffff
+ 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost>
+ 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170>
+ 8000249c: ff010113 addi sp,sp,-16
+ 800024a0: 00300513 li a0,3
+ 800024a4: 00113423 sd ra,8(sp)
+ 800024a8: d89ff0ef jal ra,80002230 <terminate>
+ 800024ac: 10100693 li a3,257
+ 800024b0: 04100713 li a4,65
+ 800024b4: 00001617 auipc a2,0x1
+ 800024b8: 86c60613 addi a2,a2,-1940 # 80002d20 <pass+0xa0>
+ 800024bc: fffff797 auipc a5,0xfffff
+ 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost>
+ 800024c4: 03069693 slli a3,a3,0x30
+ 800024c8: 0007b503 ld a0,0(a5)
+ 800024cc: 00160613 addi a2,a2,1
+ 800024d0: 00d765b3 or a1,a4,a3
+ 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec>
+ 800024d8: fffff717 auipc a4,0xfffff
+ 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost>
+ 800024e0: 0007b703 ld a4,0(a5)
+ 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc>
+ 800024e8: 00064703 lbu a4,0(a2)
+ 800024ec: fffff517 auipc a0,0xfffff
+ 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost>
+ 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc>
+ 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0>
+ 800024fc: 10100693 li a3,257
+ 80002500: 04100713 li a4,65
+ 80002504: 00001617 auipc a2,0x1
+ 80002508: 83460613 addi a2,a2,-1996 # 80002d38 <pass+0xb8>
+ 8000250c: fffff797 auipc a5,0xfffff
+ 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost>
+ 80002514: 03069693 slli a3,a3,0x30
+ 80002518: 0007b503 ld a0,0(a5)
+ 8000251c: 00160613 addi a2,a2,1
+ 80002520: 00d765b3 or a1,a4,a3
+ 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c>
+ 80002528: fffff717 auipc a4,0xfffff
+ 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost>
+ 80002530: 0007b703 ld a4,0(a5)
+ 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c>
+ 80002538: 00064703 lbu a4,0(a2)
+ 8000253c: fffff517 auipc a0,0xfffff
+ 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost>
+ 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c>
+ 80002548: f55ff06f j 8000249c <handle_fault+0x1a0>
+ 8000254c: 10100613 li a2,257
+ 80002550: 04100713 li a4,65
+ 80002554: 00000697 auipc a3,0x0
+ 80002558: 78468693 addi a3,a3,1924 # 80002cd8 <pass+0x58>
+ 8000255c: fffff797 auipc a5,0xfffff
+ 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost>
+ 80002564: 03061613 slli a2,a2,0x30
+ 80002568: 0007b503 ld a0,0(a5)
+ 8000256c: 00168693 addi a3,a3,1
+ 80002570: 00c765b3 or a1,a4,a2
+ 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c>
+ 80002578: fffff717 auipc a4,0xfffff
+ 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost>
+ 80002580: 0007b703 ld a4,0(a5)
+ 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c>
+ 80002588: 0006c703 lbu a4,0(a3)
+ 8000258c: fffff517 auipc a0,0xfffff
+ 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost>
+ 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c>
+ 80002598: f05ff06f j 8000249c <handle_fault+0x1a0>
+
+000000008000259c <handle_trap>:
+ 8000259c: 11853583 ld a1,280(a0)
+ 800025a0: f9010113 addi sp,sp,-112
+ 800025a4: 06813023 sd s0,96(sp)
+ 800025a8: 06113423 sd ra,104(sp)
+ 800025ac: 04913c23 sd s1,88(sp)
+ 800025b0: 05213823 sd s2,80(sp)
+ 800025b4: 05313423 sd s3,72(sp)
+ 800025b8: 05413023 sd s4,64(sp)
+ 800025bc: 03513c23 sd s5,56(sp)
+ 800025c0: 03613823 sd s6,48(sp)
+ 800025c4: 03713423 sd s7,40(sp)
+ 800025c8: 03813023 sd s8,32(sp)
+ 800025cc: 01913c23 sd s9,24(sp)
+ 800025d0: 01a13823 sd s10,16(sp)
+ 800025d4: 01b13423 sd s11,8(sp)
+ 800025d8: 00800793 li a5,8
+ 800025dc: 00050413 mv s0,a0
+ 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178>
+ 800025e4: 00200793 li a5,2
+ 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac>
+ 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c>
+ 800025f0: 00100713 li a4,1
+ 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64>
+ 800025f8: 00f00793 li a5,15
+ 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248>
+ 80002600: 11043503 ld a0,272(s0)
+ 80002604: cf9ff0ef jal ra,800022fc <handle_fault>
+ 80002608: 00040513 mv a0,s0
+ 8000260c: 06013403 ld s0,96(sp)
+ 80002610: 06813083 ld ra,104(sp)
+ 80002614: 05813483 ld s1,88(sp)
+ 80002618: 05013903 ld s2,80(sp)
+ 8000261c: 04813983 ld s3,72(sp)
+ 80002620: 04013a03 ld s4,64(sp)
+ 80002624: 03813a83 ld s5,56(sp)
+ 80002628: 03013b03 ld s6,48(sp)
+ 8000262c: 02813b83 ld s7,40(sp)
+ 80002630: 02013c03 ld s8,32(sp)
+ 80002634: 01813c83 ld s9,24(sp)
+ 80002638: 01013d03 ld s10,16(sp)
+ 8000263c: 00813d83 ld s11,8(sp)
+ 80002640: 07010113 addi sp,sp,112
+ 80002644: 9f9fd06f j 8000003c <pop_tf>
+ 80002648: 10853703 ld a4,264(a0)
+ 8000264c: 00377793 andi a5,a4,3
+ 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128>
+ 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0>
+ 80002658: 00301073 fssr zero
+ 8000265c: 00072703 lw a4,0(a4)
+ 80002660: 0007a783 lw a5,0(a5)
+ 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120>
+ 80002668: 10100513 li a0,257
+ 8000266c: 04100793 li a5,65
+ 80002670: 00000697 auipc a3,0x0
+ 80002674: 7a068693 addi a3,a3,1952 # 80002e10 <pass+0x190>
+ 80002678: fffff717 auipc a4,0xfffff
+ 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost>
+ 80002680: 03051513 slli a0,a0,0x30
+ 80002684: 00073583 ld a1,0(a4)
+ 80002688: 00168693 addi a3,a3,1
+ 8000268c: 00a7e633 or a2,a5,a0
+ 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108>
+ 80002694: fffff797 auipc a5,0xfffff
+ 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost>
+ 8000269c: 00073783 ld a5,0(a4)
+ 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8>
+ 800026a4: 0006c783 lbu a5,0(a3)
+ 800026a8: fffff597 auipc a1,0xfffff
+ 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost>
+ 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8>
+ 800026b4: 00300513 li a0,3
+ 800026b8: b79ff0ef jal ra,80002230 <terminate>
+ 800026bc: 00100513 li a0,1
+ 800026c0: b71ff0ef jal ra,80002230 <terminate>
+ 800026c4: 10100793 li a5,257
+ 800026c8: 00000617 auipc a2,0x0
+ 800026cc: 72060613 addi a2,a2,1824 # 80002de8 <pass+0x168>
+ 800026d0: 04100693 li a3,65
+ 800026d4: fffff717 auipc a4,0xfffff
+ 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost>
+ 800026dc: 03079793 slli a5,a5,0x30
+ 800026e0: 00073503 ld a0,0(a4)
+ 800026e4: 00160613 addi a2,a2,1
+ 800026e8: 00f6e5b3 or a1,a3,a5
+ 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164>
+ 800026f0: fffff697 auipc a3,0xfffff
+ 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost>
+ 800026f8: 00073683 ld a3,0(a4)
+ 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154>
+ 80002700: 00064683 lbu a3,0(a2)
+ 80002704: fffff517 auipc a0,0xfffff
+ 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost>
+ 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144>
+ 80002710: fa5ff06f j 800026b4 <handle_trap+0x118>
+ 80002714: 05052983 lw s3,80(a0)
+ 80002718: 00001437 lui s0,0x1
+ 8000271c: 00006d17 auipc s10,0x6
+ 80002720: cd4d0d13 addi s10,s10,-812 # 800083f0 <user_mapping>
+ 80002724: 00002b97 auipc s7,0x2
+ 80002728: 8dcb8b93 addi s7,s7,-1828 # 80004000 <pt>
+ 8000272c: 00040b37 lui s6,0x40
+ 80002730: ffe00ab7 lui s5,0xffe00
+ 80002734: 00006a17 auipc s4,0x6
+ 80002738: 0aca0a13 addi s4,s4,172 # 800087e0 <freelist_tail>
+ 8000273c: 0003f937 lui s2,0x3f
+ 80002740: 01c0006f j 8000275c <handle_trap+0x1c0>
+ 80002744: 00f73423 sd a5,8(a4)
+ 80002748: 00006717 auipc a4,0x6
+ 8000274c: 08f73c23 sd a5,152(a4) # 800087e0 <freelist_tail>
+ 80002750: 000017b7 lui a5,0x1
+ 80002754: 00f40433 add s0,s0,a5
+ 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308>
+ 8000275c: 00c45793 srli a5,s0,0xc
+ 80002760: 00479493 slli s1,a5,0x4
+ 80002764: 009d0733 add a4,s10,s1
+ 80002768: 00073703 ld a4,0(a4)
+ 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4>
+ 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00>
+ 80002774: 00379793 slli a5,a5,0x3
+ 80002778: 00fb87b3 add a5,s7,a5
+ 8000277c: 0007bc03 ld s8,0(a5)
+ 80002780: 040c7793 andi a5,s8,64
+ 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0>
+ 80002788: 100b2cf3 csrrs s9,sstatus,s6
+ 8000278c: 01540db3 add s11,s0,s5
+ 80002790: 00001637 lui a2,0x1
+ 80002794: 000d8593 mv a1,s11
+ 80002798: 00040513 mv a0,s0
+ 8000279c: 975ff0ef jal ra,80002110 <memcmp>
+ 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220>
+ 800027a4: 080c7c13 andi s8,s8,128
+ 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298>
+ 800027ac: 00001637 lui a2,0x1
+ 800027b0: 000d8593 mv a1,s11
+ 800027b4: 00040513 mv a0,s0
+ 800027b8: 849ff0ef jal ra,80002000 <memcpy>
+ 800027bc: 009d07b3 add a5,s10,s1
+ 800027c0: 100c9073 csrw sstatus,s9
+ 800027c4: 000a3703 ld a4,0(s4)
+ 800027c8: 0007b023 sd zero,0(a5)
+ 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8>
+ 800027d0: 00006717 auipc a4,0x6
+ 800027d4: 00f73823 sd a5,16(a4) # 800087e0 <freelist_tail>
+ 800027d8: 00006717 auipc a4,0x6
+ 800027dc: 00f73823 sd a5,16(a4) # 800087e8 <freelist_head>
+ 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4>
+ 800027e4: 10100793 li a5,257
+ 800027e8: 04100613 li a2,65
+ 800027ec: 00000697 auipc a3,0x0
+ 800027f0: 65468693 addi a3,a3,1620 # 80002e40 <pass+0x1c0>
+ 800027f4: fffff717 auipc a4,0xfffff
+ 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost>
+ 800027fc: 03079793 slli a5,a5,0x30
+ 80002800: 00073503 ld a0,0(a4)
+ 80002804: 00168693 addi a3,a3,1
+ 80002808: 00f665b3 or a1,a2,a5
+ 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284>
+ 80002810: fffff617 auipc a2,0xfffff
+ 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost>
+ 80002818: 00073603 ld a2,0(a4)
+ 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274>
+ 80002820: 0006c603 lbu a2,0(a3)
+ 80002824: ffffe517 auipc a0,0xffffe
+ 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost>
+ 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264>
+ 80002830: e85ff06f j 800026b4 <handle_trap+0x118>
+ 80002834: 10100793 li a5,257
+ 80002838: 04100613 li a2,65
+ 8000283c: 00000697 auipc a3,0x0
+ 80002840: 57468693 addi a3,a3,1396 # 80002db0 <pass+0x130>
+ 80002844: ffffe717 auipc a4,0xffffe
+ 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost>
+ 8000284c: 03079793 slli a5,a5,0x30
+ 80002850: 00168693 addi a3,a3,1
+ 80002854: 00f665b3 or a1,a2,a5
+ 80002858: 00073603 ld a2,0(a4)
+ 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310>
+ 80002860: ffffe617 auipc a2,0xffffe
+ 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost>
+ 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc>
+ 8000286c: 10100793 li a5,257
+ 80002870: 04100613 li a2,65
+ 80002874: 00000697 auipc a3,0x0
+ 80002878: 50468693 addi a3,a3,1284 # 80002d78 <pass+0xf8>
+ 8000287c: ffffe717 auipc a4,0xffffe
+ 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost>
+ 80002884: 03079793 slli a5,a5,0x30
+ 80002888: 00168693 addi a3,a3,1
+ 8000288c: 00f665b3 or a1,a2,a5
+ 80002890: 00073603 ld a2,0(a4)
+ 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324>
+ 80002898: ffffe617 auipc a2,0xffffe
+ 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost>
+ 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4>
+ 800028a4: 00098513 mv a0,s3
+ 800028a8: 989ff0ef jal ra,80002230 <terminate>
+ 800028ac: 0006c603 lbu a2,0(a3)
+ 800028b0: ffffe517 auipc a0,0xffffe
+ 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost>
+ 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4>
+ 800028bc: df9ff06f j 800026b4 <handle_trap+0x118>
+ 800028c0: 0006c603 lbu a2,0(a3)
+ 800028c4: ffffe517 auipc a0,0xffffe
+ 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost>
+ 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec>
+ 800028d0: de5ff06f j 800026b4 <handle_trap+0x118>
+
+00000000800028d4 <vm_boot>:
+ 800028d4: f14027f3 csrr a5,mhartid
+ 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198>
+ 800028dc: 00002697 auipc a3,0x2
+ 800028e0: 72468693 addi a3,a3,1828 # 80005000 <pt+0x1000>
+ 800028e4: 00003717 auipc a4,0x3
+ 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <pt+0x2000>
+ 800028ec: 00c6d693 srli a3,a3,0xc
+ 800028f0: 00c75713 srli a4,a4,0xc
+ 800028f4: 00004797 auipc a5,0x4
+ 800028f8: 70c78793 addi a5,a5,1804 # 80007000 <pt+0x3000>
+ 800028fc: 00a69693 slli a3,a3,0xa
+ 80002900: 00a71713 slli a4,a4,0xa
+ 80002904: 0016e693 ori a3,a3,1
+ 80002908: 00176713 ori a4,a4,1
+ 8000290c: 00c7d793 srli a5,a5,0xc
+ 80002910: 00001897 auipc a7,0x1
+ 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <pt>
+ 80002918: 00a79793 slli a5,a5,0xa
+ 8000291c: 00002697 auipc a3,0x2
+ 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <pt+0xff8>
+ 80002924: 20000737 lui a4,0x20000
+ 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31>
+ 8000292c: fff00593 li a1,-1
+ 80002930: 0017e793 ori a5,a5,1
+ 80002934: 00001617 auipc a2,0x1
+ 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <pt>
+ 8000293c: ed010113 addi sp,sp,-304
+ 80002940: 03f59813 slli a6,a1,0x3f
+ 80002944: 00004697 auipc a3,0x4
+ 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <pt+0x2ff8>
+ 8000294c: 00002717 auipc a4,0x2
+ 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <pt+0x1000>
+ 80002954: 00c65793 srli a5,a2,0xc
+ 80002958: 12113423 sd ra,296(sp)
+ 8000295c: 12813023 sd s0,288(sp)
+ 80002960: 0107e7b3 or a5,a5,a6
+ 80002964: 18079073 csrw satp,a5
+ 80002968: 01f00793 li a5,31
+ 8000296c: 00000297 auipc t0,0x0
+ 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac>
+ 80002974: 305292f3 csrrw t0,mtvec,t0
+ 80002978: 3b059073 csrw pmpaddr0,a1
+ 8000297c: 3a079073 csrw pmpcfg0,a5
+ 80002980: bff00813 li a6,-1025
+ 80002984: 01581813 slli a6,a6,0x15
+ 80002988: ffffd797 auipc a5,0xffffd
+ 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry>
+ 80002990: 010787b3 add a5,a5,a6
+ 80002994: 10579073 csrw stvec,a5
+ 80002998: 340027f3 csrr a5,mscratch
+ 8000299c: 010787b3 add a5,a5,a6
+ 800029a0: 14079073 csrw sscratch,a5
+ 800029a4: 0000b7b7 lui a5,0xb
+ 800029a8: 1007879b addiw a5,a5,256
+ 800029ac: 30279073 csrw medeleg,a5
+ 800029b0: 0001e7b7 lui a5,0x1e
+ 800029b4: 30079073 csrw mstatus,a5
+ 800029b8: 30405073 csrwi mie,0
+ 800029bc: 00005697 auipc a3,0x5
+ 800029c0: 64468693 addi a3,a3,1604 # 80008000 <freelist_nodes>
+ 800029c4: 010687b3 add a5,a3,a6
+ 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20>
+ 800029cc: 00006617 auipc a2,0x6
+ 800029d0: e0f63e23 sd a5,-484(a2) # 800087e8 <freelist_head>
+ 800029d4: 00006797 auipc a5,0x6
+ 800029d8: e0e7b623 sd a4,-500(a5) # 800087e0 <freelist_tail>
+ 800029dc: 00006317 auipc t1,0x6
+ 800029e0: a1430313 addi t1,t1,-1516 # 800083f0 <user_mapping>
+ 800029e4: 03c00793 li a5,60
+ 800029e8: 000808b7 lui a7,0x80
+ 800029ec: 01080813 addi a6,a6,16
+ 800029f0: 03f7871b addiw a4,a5,63
+ 800029f4: 02071713 slli a4,a4,0x20
+ 800029f8: 0017d61b srliw a2,a5,0x1
+ 800029fc: 02075713 srli a4,a4,0x20
+ 80002a00: 00c7c7b3 xor a5,a5,a2
+ 80002a04: 01170733 add a4,a4,a7
+ 80002a08: 010685b3 add a1,a3,a6
+ 80002a0c: 00c71713 slli a4,a4,0xc
+ 80002a10: 0057979b slliw a5,a5,0x5
+ 80002a14: 00e6b023 sd a4,0(a3)
+ 80002a18: 00b6b423 sd a1,8(a3)
+ 80002a1c: 0207f793 andi a5,a5,32
+ 80002a20: 01068693 addi a3,a3,16
+ 80002a24: 00c7e7b3 or a5,a5,a2
+ 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c>
+ 80002a2c: 00050413 mv s0,a0
+ 80002a30: 12000613 li a2,288
+ 80002a34: 00000593 li a1,0
+ 80002a38: 00010513 mv a0,sp
+ 80002a3c: 00006797 auipc a5,0x6
+ 80002a40: 9a07b623 sd zero,-1620(a5) # 800083e8 <freelist_nodes+0x3e8>
+ 80002a44: e18ff0ef jal ra,8000205c <memset>
+ 80002a48: 800007b7 lui a5,0x80000
+ 80002a4c: 00f40433 add s0,s0,a5
+ 80002a50: 00010513 mv a0,sp
+ 80002a54: 10813423 sd s0,264(sp)
+ 80002a58: de4fd0ef jal ra,8000003c <pop_tf>
+ 80002a5c: 12813083 ld ra,296(sp)
+ 80002a60: 12013403 ld s0,288(sp)
+ 80002a64: 13010113 addi sp,sp,304
+ 80002a68: 00008067 ret
+ 80002a6c: 0f8327b7 lui a5,0xf832
+ 80002a70: 000805b7 lui a1,0x80
+ 80002a74: e2178793 addi a5,a5,-479 # f831e21 <_start-0x707ce1df>
+ 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004>
+ 80002a7c: 00100613 li a2,1
+ 80002a80: 00b7f733 and a4,a5,a1
+ 80002a84: 01f61613 slli a2,a2,0x1f
+ 80002a88: 0017f693 andi a3,a5,1
+ 80002a8c: 02079793 slli a5,a5,0x20
+ 80002a90: 0207d793 srli a5,a5,0x20
+ 80002a94: 00c70733 add a4,a4,a2
+ 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8>
+ 80002a9c: 0007202f amoadd.w zero,zero,(a4)
+ 80002aa0: 0017d793 srli a5,a5,0x1
+ 80002aa4: 00b7f733 and a4,a5,a1
+ 80002aa8: 0017f693 andi a3,a5,1
+ 80002aac: 02079793 slli a5,a5,0x20
+ 80002ab0: 0207d793 srli a5,a5,0x20
+ 80002ab4: 00c70733 add a4,a4,a2
+ 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8>
+ 80002abc: 00072003 lw zero,0(a4)
+ 80002ac0: 0017d793 srli a5,a5,0x1
+ 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0>
+
+0000000080002ac8 <userstart>:
+ 80002ac8: 00301073 fssr zero
+
+0000000080002acc <test_2>:
+ 80002acc: 00200193 li gp,2
+ 80002ad0: 00000517 auipc a0,0x0
+ 80002ad4: 53050513 addi a0,a0,1328 # 80003000 <test_2_data>
+ 80002ad8: 00053007 fld ft0,0(a0)
+ 80002adc: 00853087 fld ft1,8(a0)
+ 80002ae0: 01053107 fld ft2,16(a0)
+ 80002ae4: 01853683 ld a3,24(a0)
+ 80002ae8: 1a1071d3 fdiv.d ft3,ft0,ft1
+ 80002aec: e2018553 fmv.x.d a0,ft3
+ 80002af0: 001015f3 fsflags a1,zero
+ 80002af4: 00100613 li a2,1
+ 80002af8: 16d51c63 bne a0,a3,80002c70 <fail>
+ 80002afc: 16c59a63 bne a1,a2,80002c70 <fail>
+
+0000000080002b00 <test_3>:
+ 80002b00: 00300193 li gp,3
+ 80002b04: 00000517 auipc a0,0x0
+ 80002b08: 51c50513 addi a0,a0,1308 # 80003020 <test_3_data>
+ 80002b0c: 00053007 fld ft0,0(a0)
+ 80002b10: 00853087 fld ft1,8(a0)
+ 80002b14: 01053107 fld ft2,16(a0)
+ 80002b18: 01853683 ld a3,24(a0)
+ 80002b1c: 1a1071d3 fdiv.d ft3,ft0,ft1
+ 80002b20: e2018553 fmv.x.d a0,ft3
+ 80002b24: 001015f3 fsflags a1,zero
+ 80002b28: 00100613 li a2,1
+ 80002b2c: 14d51263 bne a0,a3,80002c70 <fail>
+ 80002b30: 14c59063 bne a1,a2,80002c70 <fail>
+
+0000000080002b34 <test_4>:
+ 80002b34: 00400193 li gp,4
+ 80002b38: 00000517 auipc a0,0x0
+ 80002b3c: 50850513 addi a0,a0,1288 # 80003040 <test_4_data>
+ 80002b40: 00053007 fld ft0,0(a0)
+ 80002b44: 00853087 fld ft1,8(a0)
+ 80002b48: 01053107 fld ft2,16(a0)
+ 80002b4c: 01853683 ld a3,24(a0)
+ 80002b50: 1a1071d3 fdiv.d ft3,ft0,ft1
+ 80002b54: e2018553 fmv.x.d a0,ft3
+ 80002b58: 001015f3 fsflags a1,zero
+ 80002b5c: 00000613 li a2,0
+ 80002b60: 10d51863 bne a0,a3,80002c70 <fail>
+ 80002b64: 10c59663 bne a1,a2,80002c70 <fail>
+
+0000000080002b68 <test_5>:
+ 80002b68: 00500193 li gp,5
+ 80002b6c: 00000517 auipc a0,0x0
+ 80002b70: 4f450513 addi a0,a0,1268 # 80003060 <test_5_data>
+ 80002b74: 00053007 fld ft0,0(a0)
+ 80002b78: 00853087 fld ft1,8(a0)
+ 80002b7c: 01053107 fld ft2,16(a0)
+ 80002b80: 01853683 ld a3,24(a0)
+ 80002b84: 5a0071d3 fsqrt.d ft3,ft0
+ 80002b88: e2018553 fmv.x.d a0,ft3
+ 80002b8c: 001015f3 fsflags a1,zero
+ 80002b90: 00100613 li a2,1
+ 80002b94: 0cd51e63 bne a0,a3,80002c70 <fail>
+ 80002b98: 0cc59c63 bne a1,a2,80002c70 <fail>
+
+0000000080002b9c <test_6>:
+ 80002b9c: 00600193 li gp,6
+ 80002ba0: 00000517 auipc a0,0x0
+ 80002ba4: 4e050513 addi a0,a0,1248 # 80003080 <test_6_data>
+ 80002ba8: 00053007 fld ft0,0(a0)
+ 80002bac: 00853087 fld ft1,8(a0)
+ 80002bb0: 01053107 fld ft2,16(a0)
+ 80002bb4: 01853683 ld a3,24(a0)
+ 80002bb8: 5a0071d3 fsqrt.d ft3,ft0
+ 80002bbc: e2018553 fmv.x.d a0,ft3
+ 80002bc0: 001015f3 fsflags a1,zero
+ 80002bc4: 00000613 li a2,0
+ 80002bc8: 0ad51463 bne a0,a3,80002c70 <fail>
+ 80002bcc: 0ac59263 bne a1,a2,80002c70 <fail>
+
+0000000080002bd0 <test_16>:
+ 80002bd0: 01000193 li gp,16
+ 80002bd4: 00000517 auipc a0,0x0
+ 80002bd8: 4cc50513 addi a0,a0,1228 # 800030a0 <test_16_data>
+ 80002bdc: 00053007 fld ft0,0(a0)
+ 80002be0: 00853087 fld ft1,8(a0)
+ 80002be4: 01053107 fld ft2,16(a0)
+ 80002be8: 01853683 ld a3,24(a0)
+ 80002bec: 5a0071d3 fsqrt.d ft3,ft0
+ 80002bf0: e2018553 fmv.x.d a0,ft3
+ 80002bf4: 001015f3 fsflags a1,zero
+ 80002bf8: 01000613 li a2,16
+ 80002bfc: 06d51a63 bne a0,a3,80002c70 <fail>
+ 80002c00: 06c59863 bne a1,a2,80002c70 <fail>
+
+0000000080002c04 <test_7>:
+ 80002c04: 00700193 li gp,7
+ 80002c08: 00000517 auipc a0,0x0
+ 80002c0c: 4b850513 addi a0,a0,1208 # 800030c0 <test_7_data>
+ 80002c10: 00053007 fld ft0,0(a0)
+ 80002c14: 00853087 fld ft1,8(a0)
+ 80002c18: 01053107 fld ft2,16(a0)
+ 80002c1c: 01853683 ld a3,24(a0)
+ 80002c20: 5a0071d3 fsqrt.d ft3,ft0
+ 80002c24: e2018553 fmv.x.d a0,ft3
+ 80002c28: 001015f3 fsflags a1,zero
+ 80002c2c: 00100613 li a2,1
+ 80002c30: 04d51063 bne a0,a3,80002c70 <fail>
+ 80002c34: 02c59e63 bne a1,a2,80002c70 <fail>
+
+0000000080002c38 <test_8>:
+ 80002c38: 00800193 li gp,8
+ 80002c3c: 00000517 auipc a0,0x0
+ 80002c40: 4a450513 addi a0,a0,1188 # 800030e0 <test_8_data>
+ 80002c44: 00053007 fld ft0,0(a0)
+ 80002c48: 00853087 fld ft1,8(a0)
+ 80002c4c: 01053107 fld ft2,16(a0)
+ 80002c50: 01853683 ld a3,24(a0)
+ 80002c54: 5a0071d3 fsqrt.d ft3,ft0
+ 80002c58: e2018553 fmv.x.d a0,ft3
+ 80002c5c: 001015f3 fsflags a1,zero
+ 80002c60: 00100613 li a2,1
+ 80002c64: 00d51663 bne a0,a3,80002c70 <fail>
+ 80002c68: 00c59463 bne a1,a2,80002c70 <fail>
+ 80002c6c: 00301a63 bne zero,gp,80002c80 <pass>
+
+0000000080002c70 <fail>:
+ 80002c70: 00119513 slli a0,gp,0x1
+ 80002c74: 00050063 beqz a0,80002c74 <fail+0x4>
+ 80002c78: 00156513 ori a0,a0,1
+ 80002c7c: 00000073 ecall
+
+0000000080002c80 <pass>:
+ 80002c80: 00100513 li a0,1
+ 80002c84: 00000073 ecall
+ 80002c88: c0001073 unimp
+
+Disassembly of section .data:
+
+0000000080003000 <test_2_data>:
+ 80003000: d4f1 beqz s1,80002fcc <pass+0x34c>
+ 80003002: 53c8 lw a0,36(a5)
+ 80003004: 400921fb 0x400921fb
+ 80003008: b0dd j 800028ee <vm_boot+0x1a>
+ 8000300a: 89f1 andi a1,a1,28
+ 8000300c: bf0a fsd ft2,440(sp)
+ 8000300e: 4005 c.li zero,1
+ 80003010: 0000 unimp
+ 80003012: 0000 unimp
+ 80003014: 0000 unimp
+ 80003016: 0000 unimp
+ 80003018: 83ec 0x83ec
+ 8000301a: 7ddbf6c3 0x7ddbf6c3
+ 8000301e: 3ff2 fld ft11,312(sp)
+
+0000000080003020 <test_3_data>:
+ 80003020: 0000 unimp
+ 80003022: 0000 unimp
+ 80003024: 4800 lw s0,16(s0)
+ 80003026: 6666c093 xori ra,a3,1638
+ 8000302a: 6666 ld a2,88(sp)
+ 8000302c: 4c66 lw s8,88(sp)
+ 8000302e: 00004093 xori ra,zero,0
+ 80003032: 0000 unimp
+ 80003034: 0000 unimp
+ 80003036: 0000 unimp
+ 80003038: 29a5 addiw s3,s3,9
+ 8000303a: 3e19 addiw t3,t3,-26
+ 8000303c: f8b4 sd a3,112(s1)
+ 8000303e: jal t6,7ff1ed8c <_start-0xe1274>
+
+0000000080003040 <test_4_data>:
+ 80003040: d4f1 beqz s1,8000300c <test_2_data+0xc>
+ 80003042: 53c8 lw a0,36(a5)
+ 80003044: 400921fb 0x400921fb
+ 80003048: 0000 unimp
+ 8000304a: 0000 unimp
+ 8000304c: 0000 unimp
+ 8000304e: 3ff0 fld fa2,248(a5)
+ 80003050: 0000 unimp
+ 80003052: 0000 unimp
+ 80003054: 0000 unimp
+ 80003056: 0000 unimp
+ 80003058: d4f1 beqz s1,80003024 <test_3_data+0x4>
+ 8000305a: 53c8 lw a0,36(a5)
+ 8000305c: 400921fb 0x400921fb
+
+0000000080003060 <test_5_data>:
+ 80003060: d4f1 beqz s1,8000302c <test_3_data+0xc>
+ 80003062: 53c8 lw a0,36(a5)
+ 80003064: 400921fb 0x400921fb
+ 80003068: 0000 unimp
+ 8000306a: 0000 unimp
+ 8000306c: 0000 unimp
+ 8000306e: 0000 unimp
+ 80003070: 0000 unimp
+ 80003072: 0000 unimp
+ 80003074: 0000 unimp
+ 80003076: 0000 unimp
+ 80003078: 916f587b 0x916f587b
+ 8000307c: 5bf8 lw a4,116(a5)
+ 8000307e: 3ffc fld fa5,248(a5)
+
+0000000080003080 <test_6_data>:
+ 80003080: 0000 unimp
+ 80003082: 0000 unimp
+ 80003084: 8800 0x8800
+ 80003086: 000040c3 fmadd.s ft1,ft0,ft0,ft0,rmm
+ 8000308a: 0000 unimp
+ 8000308c: 0000 unimp
+ 8000308e: 0000 unimp
+ 80003090: 0000 unimp
+ 80003092: 0000 unimp
+ 80003094: 0000 unimp
+ 80003096: 0000 unimp
+ 80003098: 0000 unimp
+ 8000309a: 0000 unimp
+ 8000309c: 0000 unimp
+ 8000309e: 4059 c.li zero,22
+
+00000000800030a0 <test_16_data>:
+ 800030a0: 0000 unimp
+ 800030a2: 0000 unimp
+ 800030a4: 0000 unimp
+ 800030a6: bff0 fsd fa2,248(a5)
+ 800030a8: 0000 unimp
+ 800030aa: 0000 unimp
+ 800030ac: 0000 unimp
+ 800030ae: 0000 unimp
+ 800030b0: 0000 unimp
+ 800030b2: 0000 unimp
+ 800030b4: 0000 unimp
+ 800030b6: 0000 unimp
+ 800030b8: 0000 unimp
+ 800030ba: 0000 unimp
+ 800030bc: 0000 unimp
+ 800030be: 7ff8 ld a4,248(a5)
+
+00000000800030c0 <test_7_data>:
+ 800030c0: 0000 unimp
+ 800030c2: 0000 unimp
+ 800030c4: 6000 ld s0,0(s0)
+ 800030c6: 4065 c.li zero,25
+ 800030c8: 0000 unimp
+ 800030ca: 0000 unimp
+ 800030cc: 0000 unimp
+ 800030ce: 0000 unimp
+ 800030d0: 0000 unimp
+ 800030d2: 0000 unimp
+ 800030d4: 0000 unimp
+ 800030d6: 0000 unimp
+ 800030d8: 74f5 lui s1,0xffffd
+ 800030da: ce96 sw t0,92(sp)
+ 800030dc: 2744 fld fs1,136(a4)
+ 800030de: 402a 0x402a
+
+00000000800030e0 <test_8_data>:
+ 800030e0: a105 j 80003500 <begin_signature+0x400>
+ 800030e2: c70a sw sp,140(sp)
+ 800030e4: 94df 3e85 0000 0x3e8594df
+ 800030ea: 0000 unimp
+ 800030ec: 0000 unimp
+ 800030ee: 0000 unimp
+ 800030f0: 0000 unimp
+ 800030f2: 0000 unimp
+ 800030f4: 0000 unimp
+ 800030f6: 0000 unimp
+ 800030f8: 7f99 lui t6,0xfffe6
+ 800030fa: 4789c0e3 blt s3,s8,80003d5a <begin_signature+0xc5a>
+ 800030fe: 3f3a fld ft10,424(sp)
diff --git a/test/riscv-tests/rv64ud-v-fdiv.elf b/test/riscv-tests/rv64ud-v-fdiv.elf
new file mode 100644
index 0000000..cc37abf
--- /dev/null
+++ b/test/riscv-tests/rv64ud-v-fdiv.elf
Binary files differ
diff --git a/test/riscv-tests/rv64ud-v-fmadd.dump b/test/riscv-tests/rv64ud-v-fmadd.dump
new file mode 100644
index 0000000..dd5409f
--- /dev/null
+++ b/test/riscv-tests/rv64ud-v-fmadd.dump
@@ -0,0 +1,1236 @@
+
+rv64ud-v-fmadd: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 00c0006f j 8000000c <handle_reset>
+
+0000000080000004 <nmi_vector>:
+ 80000004: 2580206f j 8000225c <wtf>
+
+0000000080000008 <trap_vector>:
+ 80000008: 2540206f j 8000225c <wtf>
+
+000000008000000c <handle_reset>:
+ 8000000c: 00000297 auipc t0,0x0
+ 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+ 80000014: 30529073 csrw mtvec,t0
+ 80000018: 00009117 auipc sp,0x9
+ 8000001c: 6b810113 addi sp,sp,1720 # 800096d0 <_end+0xee0>
+ 80000020: f14022f3 csrr t0,mhartid
+ 80000024: 00c29293 slli t0,t0,0xc
+ 80000028: 00510133 add sp,sp,t0
+ 8000002c: 34011073 csrw mscratch,sp
+ 80000030: 00003517 auipc a0,0x3
+ 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart>
+ 80000038: 09d0206f j 800028d4 <vm_boot>
+
+000000008000003c <pop_tf>:
+ 8000003c: 10853283 ld t0,264(a0)
+ 80000040: 14129073 csrw sepc,t0
+ 80000044: 00853083 ld ra,8(a0)
+ 80000048: 01053103 ld sp,16(a0)
+ 8000004c: 01853183 ld gp,24(a0)
+ 80000050: 02053203 ld tp,32(a0)
+ 80000054: 02853283 ld t0,40(a0)
+ 80000058: 03053303 ld t1,48(a0)
+ 8000005c: 03853383 ld t2,56(a0)
+ 80000060: 04053403 ld s0,64(a0)
+ 80000064: 04853483 ld s1,72(a0)
+ 80000068: 05853583 ld a1,88(a0)
+ 8000006c: 06053603 ld a2,96(a0)
+ 80000070: 06853683 ld a3,104(a0)
+ 80000074: 07053703 ld a4,112(a0)
+ 80000078: 07853783 ld a5,120(a0)
+ 8000007c: 08053803 ld a6,128(a0)
+ 80000080: 08853883 ld a7,136(a0)
+ 80000084: 09053903 ld s2,144(a0)
+ 80000088: 09853983 ld s3,152(a0)
+ 8000008c: 0a053a03 ld s4,160(a0)
+ 80000090: 0a853a83 ld s5,168(a0)
+ 80000094: 0b053b03 ld s6,176(a0)
+ 80000098: 0b853b83 ld s7,184(a0)
+ 8000009c: 0c053c03 ld s8,192(a0)
+ 800000a0: 0c853c83 ld s9,200(a0)
+ 800000a4: 0d053d03 ld s10,208(a0)
+ 800000a8: 0d853d83 ld s11,216(a0)
+ 800000ac: 0e053e03 ld t3,224(a0)
+ 800000b0: 0e853e83 ld t4,232(a0)
+ 800000b4: 0f053f03 ld t5,240(a0)
+ 800000b8: 0f853f83 ld t6,248(a0)
+ 800000bc: 05053503 ld a0,80(a0)
+ 800000c0: 10200073 sret
+
+00000000800000c4 <trap_entry>:
+ 800000c4: 14011173 csrrw sp,sscratch,sp
+ 800000c8: 00113423 sd ra,8(sp)
+ 800000cc: 00313c23 sd gp,24(sp)
+ 800000d0: 02413023 sd tp,32(sp)
+ 800000d4: 02513423 sd t0,40(sp)
+ 800000d8: 02613823 sd t1,48(sp)
+ 800000dc: 02713c23 sd t2,56(sp)
+ 800000e0: 04813023 sd s0,64(sp)
+ 800000e4: 04913423 sd s1,72(sp)
+ 800000e8: 04a13823 sd a0,80(sp)
+ 800000ec: 04b13c23 sd a1,88(sp)
+ 800000f0: 06c13023 sd a2,96(sp)
+ 800000f4: 06d13423 sd a3,104(sp)
+ 800000f8: 06e13823 sd a4,112(sp)
+ 800000fc: 06f13c23 sd a5,120(sp)
+ 80000100: 09013023 sd a6,128(sp)
+ 80000104: 09113423 sd a7,136(sp)
+ 80000108: 09213823 sd s2,144(sp)
+ 8000010c: 09313c23 sd s3,152(sp)
+ 80000110: 0b413023 sd s4,160(sp)
+ 80000114: 0b513423 sd s5,168(sp)
+ 80000118: 0b613823 sd s6,176(sp)
+ 8000011c: 0b713c23 sd s7,184(sp)
+ 80000120: 0d813023 sd s8,192(sp)
+ 80000124: 0d913423 sd s9,200(sp)
+ 80000128: 0da13823 sd s10,208(sp)
+ 8000012c: 0db13c23 sd s11,216(sp)
+ 80000130: 0fc13023 sd t3,224(sp)
+ 80000134: 0fd13423 sd t4,232(sp)
+ 80000138: 0fe13823 sd t5,240(sp)
+ 8000013c: 0ff13c23 sd t6,248(sp)
+ 80000140: 140112f3 csrrw t0,sscratch,sp
+ 80000144: 00513823 sd t0,16(sp)
+ 80000148: 100022f3 csrr t0,sstatus
+ 8000014c: 10513023 sd t0,256(sp)
+ 80000150: 141022f3 csrr t0,sepc
+ 80000154: 10513423 sd t0,264(sp)
+ 80000158: 143022f3 csrr t0,stval
+ 8000015c: 10513823 sd t0,272(sp)
+ 80000160: 142022f3 csrr t0,scause
+ 80000164: 10513c23 sd t0,280(sp)
+ 80000168: 00010513 mv a0,sp
+ 8000016c: 4300206f j 8000259c <handle_trap>
+
+Disassembly of section .text:
+
+0000000080002000 <memcpy>:
+ 80002000: 00c5e7b3 or a5,a1,a2
+ 80002004: 00f567b3 or a5,a0,a5
+ 80002008: 0077f793 andi a5,a5,7
+ 8000200c: 00c506b3 add a3,a0,a2
+ 80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+ 80002014: 00c58633 add a2,a1,a2
+ 80002018: 00050793 mv a5,a0
+ 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+ 80002020: 00158593 addi a1,a1,1
+ 80002024: fff5c703 lbu a4,-1(a1)
+ 80002028: 00178793 addi a5,a5,1
+ 8000202c: fee78fa3 sb a4,-1(a5)
+ 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+ 80002034: 00008067 ret
+ 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+ 8000203c: 00050793 mv a5,a0
+ 80002040: 00858593 addi a1,a1,8
+ 80002044: ff85b703 ld a4,-8(a1)
+ 80002048: 00878793 addi a5,a5,8
+ 8000204c: fee7bc23 sd a4,-8(a5)
+ 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+ 80002054: 00008067 ret
+ 80002058: 00008067 ret
+
+000000008000205c <memset>:
+ 8000205c: 00c567b3 or a5,a0,a2
+ 80002060: 0077f793 andi a5,a5,7
+ 80002064: 00c50633 add a2,a0,a2
+ 80002068: 0ff5f593 andi a1,a1,255
+ 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c>
+ 80002070: 00050793 mv a5,a0
+ 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c>
+ 80002078: 00178793 addi a5,a5,1
+ 8000207c: feb78fa3 sb a1,-1(a5)
+ 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+ 80002084: 00008067 ret
+ 80002088: 00859793 slli a5,a1,0x8
+ 8000208c: 00b7e5b3 or a1,a5,a1
+ 80002090: 01059793 slli a5,a1,0x10
+ 80002094: 00b7e7b3 or a5,a5,a1
+ 80002098: 02079593 slli a1,a5,0x20
+ 8000209c: 00f5e5b3 or a1,a1,a5
+ 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28>
+ 800020a4: 00050793 mv a5,a0
+ 800020a8: 00878793 addi a5,a5,8
+ 800020ac: feb7bc23 sd a1,-8(a5)
+ 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c>
+ 800020b4: 00008067 ret
+ 800020b8: 00008067 ret
+
+00000000800020bc <strlen>:
+ 800020bc: 00054783 lbu a5,0(a0)
+ 800020c0: 00050713 mv a4,a0
+ 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20>
+ 800020c8: 00150513 addi a0,a0,1
+ 800020cc: 00054783 lbu a5,0(a0)
+ 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc>
+ 800020d4: 40e50533 sub a0,a0,a4
+ 800020d8: 00008067 ret
+ 800020dc: 00000513 li a0,0
+ 800020e0: 00008067 ret
+
+00000000800020e4 <strcmp>:
+ 800020e4: 00150513 addi a0,a0,1
+ 800020e8: fff54783 lbu a5,-1(a0)
+ 800020ec: 00158593 addi a1,a1,1
+ 800020f0: fff5c703 lbu a4,-1(a1)
+ 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24>
+ 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp>
+ 800020fc: 0007851b sext.w a0,a5
+ 80002100: 40e5053b subw a0,a0,a4
+ 80002104: 00008067 ret
+ 80002108: 00000513 li a0,0
+ 8000210c: ff5ff06f j 80002100 <strcmp+0x1c>
+
+0000000080002110 <memcmp>:
+ 80002110: 00b567b3 or a5,a0,a1
+ 80002114: 0077f793 andi a5,a5,7
+ 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c>
+ 8000211c: ff867693 andi a3,a2,-8
+ 80002120: 00d506b3 add a3,a0,a3
+ 80002124: 00050813 mv a6,a0
+ 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c>
+ 8000212c: 00053703 ld a4,0(a0)
+ 80002130: 0005b783 ld a5,0(a1)
+ 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38>
+ 80002138: 0240006f j 8000215c <memcmp+0x4c>
+ 8000213c: 00053703 ld a4,0(a0)
+ 80002140: 0005b783 ld a5,0(a1)
+ 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44>
+ 80002148: 00850513 addi a0,a0,8
+ 8000214c: 00858593 addi a1,a1,8
+ 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c>
+ 80002154: 41050833 sub a6,a0,a6
+ 80002158: 41060633 sub a2,a2,a6
+ 8000215c: 00c58633 add a2,a1,a2
+ 80002160: 0140006f j 80002174 <memcmp+0x64>
+ 80002164: 00158593 addi a1,a1,1
+ 80002168: fff54783 lbu a5,-1(a0)
+ 8000216c: fff5c703 lbu a4,-1(a1)
+ 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74>
+ 80002174: 00150513 addi a0,a0,1
+ 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54>
+ 8000217c: 00000513 li a0,0
+ 80002180: 00008067 ret
+ 80002184: 40e7853b subw a0,a5,a4
+ 80002188: 00008067 ret
+
+000000008000218c <strcpy>:
+ 8000218c: 00050793 mv a5,a0
+ 80002190: 00158593 addi a1,a1,1
+ 80002194: fff5c703 lbu a4,-1(a1)
+ 80002198: 00178793 addi a5,a5,1
+ 8000219c: fee78fa3 sb a4,-1(a5)
+ 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4>
+ 800021a4: 00008067 ret
+
+00000000800021a8 <atol>:
+ 800021a8: 00054783 lbu a5,0(a0)
+ 800021ac: 02000713 li a4,32
+ 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18>
+ 800021b4: 00150513 addi a0,a0,1
+ 800021b8: 00054783 lbu a5,0(a0)
+ 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc>
+ 800021c0: fd57871b addiw a4,a5,-43
+ 800021c4: 0fd77713 andi a4,a4,253
+ 800021c8: 04070263 beqz a4,8000220c <atol+0x64>
+ 800021cc: 00054683 lbu a3,0(a0)
+ 800021d0: 00050793 mv a5,a0
+ 800021d4: 00000613 li a2,0
+ 800021d8: 04068863 beqz a3,80002228 <atol+0x80>
+ 800021dc: 00000513 li a0,0
+ 800021e0: 00178793 addi a5,a5,1
+ 800021e4: fd06859b addiw a1,a3,-48
+ 800021e8: 00251713 slli a4,a0,0x2
+ 800021ec: 0007c683 lbu a3,0(a5)
+ 800021f0: 00a70533 add a0,a4,a0
+ 800021f4: 00151513 slli a0,a0,0x1
+ 800021f8: 00a58533 add a0,a1,a0
+ 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38>
+ 80002200: 00060463 beqz a2,80002208 <atol+0x60>
+ 80002204: 40a00533 neg a0,a0
+ 80002208: 00008067 ret
+ 8000220c: 00154683 lbu a3,1(a0)
+ 80002210: fd378793 addi a5,a5,-45
+ 80002214: 0017b613 seqz a2,a5
+ 80002218: 00150793 addi a5,a0,1
+ 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34>
+ 80002220: 00000513 li a0,0
+ 80002224: fddff06f j 80002200 <atol+0x58>
+ 80002228: 00000513 li a0,0
+ 8000222c: 00008067 ret
+
+0000000080002230 <terminate>:
+ 80002230: fffff797 auipc a5,0xfffff
+ 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost>
+ 80002238: 0007b703 ld a4,0(a5)
+ 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20>
+ 80002240: fffff717 auipc a4,0xfffff
+ 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost>
+ 80002248: 0007b703 ld a4,0(a5)
+ 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10>
+ 80002250: fffff797 auipc a5,0xfffff
+ 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost>
+ 80002258: 0000006f j 80002258 <terminate+0x28>
+
+000000008000225c <wtf>:
+ 8000225c: ff010113 addi sp,sp,-16
+ 80002260: 34900513 li a0,841
+ 80002264: 00113423 sd ra,8(sp)
+ 80002268: fc9ff0ef jal ra,80002230 <terminate>
+
+000000008000226c <printhex>:
+ 8000226c: fe010113 addi sp,sp,-32
+ 80002270: 01710713 addi a4,sp,23
+ 80002274: 00710813 addi a6,sp,7
+ 80002278: 00900593 li a1,9
+ 8000227c: 00f57793 andi a5,a0,15
+ 80002280: 03000613 li a2,48
+ 80002284: 0ff7f693 andi a3,a5,255
+ 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24>
+ 8000228c: 05700613 li a2,87
+ 80002290: 00c687bb addw a5,a3,a2
+ 80002294: 00f70023 sb a5,0(a4)
+ 80002298: fff70713 addi a4,a4,-1
+ 8000229c: 00455513 srli a0,a0,0x4
+ 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10>
+ 800022a4: 00814783 lbu a5,8(sp)
+ 800022a8: 00010c23 sb zero,24(sp)
+ 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88>
+ 800022b0: 10100513 li a0,257
+ 800022b4: 00810693 addi a3,sp,8
+ 800022b8: fffff717 auipc a4,0xfffff
+ 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost>
+ 800022c0: 03051513 slli a0,a0,0x30
+ 800022c4: 00073583 ld a1,0(a4)
+ 800022c8: 00168693 addi a3,a3,1
+ 800022cc: 00a7e633 or a2,a5,a0
+ 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78>
+ 800022d4: fffff797 auipc a5,0xfffff
+ 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost>
+ 800022dc: 00073783 ld a5,0(a4)
+ 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68>
+ 800022e4: 0006c783 lbu a5,0(a3)
+ 800022e8: fffff597 auipc a1,0xfffff
+ 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost>
+ 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58>
+ 800022f4: 02010113 addi sp,sp,32
+ 800022f8: 00008067 ret
+
+00000000800022fc <handle_fault>:
+ 800022fc: fffff8b7 lui a7,0xfffff
+ 80002300: 01150733 add a4,a0,a7
+ 80002304: 0003e7b7 lui a5,0x3e
+ 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154>
+ 8000230c: 00c55693 srli a3,a0,0xc
+ 80002310: 60068813 addi a6,a3,1536
+ 80002314: 00002617 auipc a2,0x2
+ 80002318: cec60613 addi a2,a2,-788 # 80004000 <pt>
+ 8000231c: 00381793 slli a5,a6,0x3
+ 80002320: 00f607b3 add a5,a2,a5
+ 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000>
+ 80002328: 01157533 and a0,a0,a7
+ 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110>
+ 80002330: 00006797 auipc a5,0x6
+ 80002334: 4b878793 addi a5,a5,1208 # 800087e8 <freelist_head>
+ 80002338: 0007b583 ld a1,0(a5)
+ 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0>
+ 80002340: 0085b783 ld a5,8(a1)
+ 80002344: 00006717 auipc a4,0x6
+ 80002348: 49c70713 addi a4,a4,1180 # 800087e0 <freelist_tail>
+ 8000234c: 00073703 ld a4,0(a4)
+ 80002350: 00006897 auipc a7,0x6
+ 80002354: 48f8bc23 sd a5,1176(a7) # 800087e8 <freelist_head>
+ 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148>
+ 8000235c: 0005b783 ld a5,0(a1)
+ 80002360: 00381893 slli a7,a6,0x3
+ 80002364: 011608b3 add a7,a2,a7
+ 80002368: 00c7d793 srli a5,a5,0xc
+ 8000236c: 00a79793 slli a5,a5,0xa
+ 80002370: 0df7e313 ori t1,a5,223
+ 80002374: 01f7e713 ori a4,a5,31
+ 80002378: 0068b023 sd t1,0(a7)
+ 8000237c: 12050073 sfence.vma a0
+ 80002380: 00006797 auipc a5,0x6
+ 80002384: 07078793 addi a5,a5,112 # 800083f0 <user_mapping>
+ 80002388: 00469693 slli a3,a3,0x4
+ 8000238c: 00d786b3 add a3,a5,a3
+ 80002390: 0006b783 ld a5,0(a3)
+ 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200>
+ 80002398: 0005b783 ld a5,0(a1)
+ 8000239c: 00f6b023 sd a5,0(a3)
+ 800023a0: 0085b783 ld a5,8(a1)
+ 800023a4: 00f6b423 sd a5,8(a3)
+ 800023a8: 000407b7 lui a5,0x40
+ 800023ac: 1007a8f3 csrrs a7,sstatus,a5
+ 800023b0: ffe007b7 lui a5,0xffe00
+ 800023b4: 00f507b3 add a5,a0,a5
+ 800023b8: 000015b7 lui a1,0x1
+ 800023bc: 00050693 mv a3,a0
+ 800023c0: 00b785b3 add a1,a5,a1
+ 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf7810>
+ 800023c8: 0087be83 ld t4,8(a5)
+ 800023cc: 0107be03 ld t3,16(a5)
+ 800023d0: 0187b303 ld t1,24(a5)
+ 800023d4: 01e6b023 sd t5,0(a3)
+ 800023d8: 01d6b423 sd t4,8(a3)
+ 800023dc: 01c6b823 sd t3,16(a3)
+ 800023e0: 0066bc23 sd t1,24(a3)
+ 800023e4: 02078793 addi a5,a5,32
+ 800023e8: 02068693 addi a3,a3,32
+ 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8>
+ 800023f0: 10089073 csrw sstatus,a7
+ 800023f4: 00381813 slli a6,a6,0x3
+ 800023f8: 01060633 add a2,a2,a6
+ 800023fc: 00e63023 sd a4,0(a2)
+ 80002400: 12050073 sfence.vma a0
+ 80002404: 0000100f fence.i
+ 80002408: 00008067 ret
+ 8000240c: 04077693 andi a3,a4,64
+ 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128>
+ 80002414: 04076713 ori a4,a4,64
+ 80002418: 00e7b023 sd a4,0(a5)
+ 8000241c: 12050073 sfence.vma a0
+ 80002420: 00008067 ret
+ 80002424: 08077693 andi a3,a4,128
+ 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250>
+ 8000242c: 00f00693 li a3,15
+ 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250>
+ 80002434: 08076713 ori a4,a4,128
+ 80002438: 00e7b023 sd a4,0(a5)
+ 8000243c: 12050073 sfence.vma a0
+ 80002440: 00008067 ret
+ 80002444: 00006797 auipc a5,0x6
+ 80002448: 3807be23 sd zero,924(a5) # 800087e0 <freelist_tail>
+ 8000244c: f11ff06f j 8000235c <handle_fault+0x60>
+ 80002450: 10100613 li a2,257
+ 80002454: 04100713 li a4,65
+ 80002458: 00001697 auipc a3,0x1
+ 8000245c: 90868693 addi a3,a3,-1784 # 80002d60 <pass+0x10>
+ 80002460: fffff797 auipc a5,0xfffff
+ 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost>
+ 80002468: 03061613 slli a2,a2,0x30
+ 8000246c: 0007b503 ld a0,0(a5)
+ 80002470: 00168693 addi a3,a3,1
+ 80002474: 00c765b3 or a1,a4,a2
+ 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190>
+ 8000247c: fffff717 auipc a4,0xfffff
+ 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost>
+ 80002484: 0007b703 ld a4,0(a5)
+ 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180>
+ 8000248c: 0006c703 lbu a4,0(a3)
+ 80002490: fffff517 auipc a0,0xfffff
+ 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost>
+ 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170>
+ 8000249c: ff010113 addi sp,sp,-16
+ 800024a0: 00300513 li a0,3
+ 800024a4: 00113423 sd ra,8(sp)
+ 800024a8: d89ff0ef jal ra,80002230 <terminate>
+ 800024ac: 10100693 li a3,257
+ 800024b0: 04100713 li a4,65
+ 800024b4: 00001617 auipc a2,0x1
+ 800024b8: 93c60613 addi a2,a2,-1732 # 80002df0 <pass+0xa0>
+ 800024bc: fffff797 auipc a5,0xfffff
+ 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost>
+ 800024c4: 03069693 slli a3,a3,0x30
+ 800024c8: 0007b503 ld a0,0(a5)
+ 800024cc: 00160613 addi a2,a2,1
+ 800024d0: 00d765b3 or a1,a4,a3
+ 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec>
+ 800024d8: fffff717 auipc a4,0xfffff
+ 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost>
+ 800024e0: 0007b703 ld a4,0(a5)
+ 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc>
+ 800024e8: 00064703 lbu a4,0(a2)
+ 800024ec: fffff517 auipc a0,0xfffff
+ 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost>
+ 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc>
+ 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0>
+ 800024fc: 10100693 li a3,257
+ 80002500: 04100713 li a4,65
+ 80002504: 00001617 auipc a2,0x1
+ 80002508: 90460613 addi a2,a2,-1788 # 80002e08 <pass+0xb8>
+ 8000250c: fffff797 auipc a5,0xfffff
+ 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost>
+ 80002514: 03069693 slli a3,a3,0x30
+ 80002518: 0007b503 ld a0,0(a5)
+ 8000251c: 00160613 addi a2,a2,1
+ 80002520: 00d765b3 or a1,a4,a3
+ 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c>
+ 80002528: fffff717 auipc a4,0xfffff
+ 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost>
+ 80002530: 0007b703 ld a4,0(a5)
+ 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c>
+ 80002538: 00064703 lbu a4,0(a2)
+ 8000253c: fffff517 auipc a0,0xfffff
+ 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost>
+ 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c>
+ 80002548: f55ff06f j 8000249c <handle_fault+0x1a0>
+ 8000254c: 10100613 li a2,257
+ 80002550: 04100713 li a4,65
+ 80002554: 00001697 auipc a3,0x1
+ 80002558: 85468693 addi a3,a3,-1964 # 80002da8 <pass+0x58>
+ 8000255c: fffff797 auipc a5,0xfffff
+ 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost>
+ 80002564: 03061613 slli a2,a2,0x30
+ 80002568: 0007b503 ld a0,0(a5)
+ 8000256c: 00168693 addi a3,a3,1
+ 80002570: 00c765b3 or a1,a4,a2
+ 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c>
+ 80002578: fffff717 auipc a4,0xfffff
+ 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost>
+ 80002580: 0007b703 ld a4,0(a5)
+ 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c>
+ 80002588: 0006c703 lbu a4,0(a3)
+ 8000258c: fffff517 auipc a0,0xfffff
+ 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost>
+ 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c>
+ 80002598: f05ff06f j 8000249c <handle_fault+0x1a0>
+
+000000008000259c <handle_trap>:
+ 8000259c: 11853583 ld a1,280(a0)
+ 800025a0: f9010113 addi sp,sp,-112
+ 800025a4: 06813023 sd s0,96(sp)
+ 800025a8: 06113423 sd ra,104(sp)
+ 800025ac: 04913c23 sd s1,88(sp)
+ 800025b0: 05213823 sd s2,80(sp)
+ 800025b4: 05313423 sd s3,72(sp)
+ 800025b8: 05413023 sd s4,64(sp)
+ 800025bc: 03513c23 sd s5,56(sp)
+ 800025c0: 03613823 sd s6,48(sp)
+ 800025c4: 03713423 sd s7,40(sp)
+ 800025c8: 03813023 sd s8,32(sp)
+ 800025cc: 01913c23 sd s9,24(sp)
+ 800025d0: 01a13823 sd s10,16(sp)
+ 800025d4: 01b13423 sd s11,8(sp)
+ 800025d8: 00800793 li a5,8
+ 800025dc: 00050413 mv s0,a0
+ 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178>
+ 800025e4: 00200793 li a5,2
+ 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac>
+ 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c>
+ 800025f0: 00100713 li a4,1
+ 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64>
+ 800025f8: 00f00793 li a5,15
+ 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248>
+ 80002600: 11043503 ld a0,272(s0)
+ 80002604: cf9ff0ef jal ra,800022fc <handle_fault>
+ 80002608: 00040513 mv a0,s0
+ 8000260c: 06013403 ld s0,96(sp)
+ 80002610: 06813083 ld ra,104(sp)
+ 80002614: 05813483 ld s1,88(sp)
+ 80002618: 05013903 ld s2,80(sp)
+ 8000261c: 04813983 ld s3,72(sp)
+ 80002620: 04013a03 ld s4,64(sp)
+ 80002624: 03813a83 ld s5,56(sp)
+ 80002628: 03013b03 ld s6,48(sp)
+ 8000262c: 02813b83 ld s7,40(sp)
+ 80002630: 02013c03 ld s8,32(sp)
+ 80002634: 01813c83 ld s9,24(sp)
+ 80002638: 01013d03 ld s10,16(sp)
+ 8000263c: 00813d83 ld s11,8(sp)
+ 80002640: 07010113 addi sp,sp,112
+ 80002644: 9f9fd06f j 8000003c <pop_tf>
+ 80002648: 10853703 ld a4,264(a0)
+ 8000264c: 00377793 andi a5,a4,3
+ 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128>
+ 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0>
+ 80002658: 00301073 fssr zero
+ 8000265c: 00072703 lw a4,0(a4)
+ 80002660: 0007a783 lw a5,0(a5)
+ 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120>
+ 80002668: 10100513 li a0,257
+ 8000266c: 04100793 li a5,65
+ 80002670: 00001697 auipc a3,0x1
+ 80002674: 87068693 addi a3,a3,-1936 # 80002ee0 <pass+0x190>
+ 80002678: fffff717 auipc a4,0xfffff
+ 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost>
+ 80002680: 03051513 slli a0,a0,0x30
+ 80002684: 00073583 ld a1,0(a4)
+ 80002688: 00168693 addi a3,a3,1
+ 8000268c: 00a7e633 or a2,a5,a0
+ 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108>
+ 80002694: fffff797 auipc a5,0xfffff
+ 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost>
+ 8000269c: 00073783 ld a5,0(a4)
+ 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8>
+ 800026a4: 0006c783 lbu a5,0(a3)
+ 800026a8: fffff597 auipc a1,0xfffff
+ 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost>
+ 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8>
+ 800026b4: 00300513 li a0,3
+ 800026b8: b79ff0ef jal ra,80002230 <terminate>
+ 800026bc: 00100513 li a0,1
+ 800026c0: b71ff0ef jal ra,80002230 <terminate>
+ 800026c4: 10100793 li a5,257
+ 800026c8: 00000617 auipc a2,0x0
+ 800026cc: 7f060613 addi a2,a2,2032 # 80002eb8 <pass+0x168>
+ 800026d0: 04100693 li a3,65
+ 800026d4: fffff717 auipc a4,0xfffff
+ 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost>
+ 800026dc: 03079793 slli a5,a5,0x30
+ 800026e0: 00073503 ld a0,0(a4)
+ 800026e4: 00160613 addi a2,a2,1
+ 800026e8: 00f6e5b3 or a1,a3,a5
+ 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164>
+ 800026f0: fffff697 auipc a3,0xfffff
+ 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost>
+ 800026f8: 00073683 ld a3,0(a4)
+ 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154>
+ 80002700: 00064683 lbu a3,0(a2)
+ 80002704: fffff517 auipc a0,0xfffff
+ 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost>
+ 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144>
+ 80002710: fa5ff06f j 800026b4 <handle_trap+0x118>
+ 80002714: 05052983 lw s3,80(a0)
+ 80002718: 00001437 lui s0,0x1
+ 8000271c: 00006d17 auipc s10,0x6
+ 80002720: cd4d0d13 addi s10,s10,-812 # 800083f0 <user_mapping>
+ 80002724: 00002b97 auipc s7,0x2
+ 80002728: 8dcb8b93 addi s7,s7,-1828 # 80004000 <pt>
+ 8000272c: 00040b37 lui s6,0x40
+ 80002730: ffe00ab7 lui s5,0xffe00
+ 80002734: 00006a17 auipc s4,0x6
+ 80002738: 0aca0a13 addi s4,s4,172 # 800087e0 <freelist_tail>
+ 8000273c: 0003f937 lui s2,0x3f
+ 80002740: 01c0006f j 8000275c <handle_trap+0x1c0>
+ 80002744: 00f73423 sd a5,8(a4)
+ 80002748: 00006717 auipc a4,0x6
+ 8000274c: 08f73c23 sd a5,152(a4) # 800087e0 <freelist_tail>
+ 80002750: 000017b7 lui a5,0x1
+ 80002754: 00f40433 add s0,s0,a5
+ 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308>
+ 8000275c: 00c45793 srli a5,s0,0xc
+ 80002760: 00479493 slli s1,a5,0x4
+ 80002764: 009d0733 add a4,s10,s1
+ 80002768: 00073703 ld a4,0(a4)
+ 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4>
+ 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00>
+ 80002774: 00379793 slli a5,a5,0x3
+ 80002778: 00fb87b3 add a5,s7,a5
+ 8000277c: 0007bc03 ld s8,0(a5)
+ 80002780: 040c7793 andi a5,s8,64
+ 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0>
+ 80002788: 100b2cf3 csrrs s9,sstatus,s6
+ 8000278c: 01540db3 add s11,s0,s5
+ 80002790: 00001637 lui a2,0x1
+ 80002794: 000d8593 mv a1,s11
+ 80002798: 00040513 mv a0,s0
+ 8000279c: 975ff0ef jal ra,80002110 <memcmp>
+ 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220>
+ 800027a4: 080c7c13 andi s8,s8,128
+ 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298>
+ 800027ac: 00001637 lui a2,0x1
+ 800027b0: 000d8593 mv a1,s11
+ 800027b4: 00040513 mv a0,s0
+ 800027b8: 849ff0ef jal ra,80002000 <memcpy>
+ 800027bc: 009d07b3 add a5,s10,s1
+ 800027c0: 100c9073 csrw sstatus,s9
+ 800027c4: 000a3703 ld a4,0(s4)
+ 800027c8: 0007b023 sd zero,0(a5)
+ 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8>
+ 800027d0: 00006717 auipc a4,0x6
+ 800027d4: 00f73823 sd a5,16(a4) # 800087e0 <freelist_tail>
+ 800027d8: 00006717 auipc a4,0x6
+ 800027dc: 00f73823 sd a5,16(a4) # 800087e8 <freelist_head>
+ 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4>
+ 800027e4: 10100793 li a5,257
+ 800027e8: 04100613 li a2,65
+ 800027ec: 00000697 auipc a3,0x0
+ 800027f0: 72468693 addi a3,a3,1828 # 80002f10 <pass+0x1c0>
+ 800027f4: fffff717 auipc a4,0xfffff
+ 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost>
+ 800027fc: 03079793 slli a5,a5,0x30
+ 80002800: 00073503 ld a0,0(a4)
+ 80002804: 00168693 addi a3,a3,1
+ 80002808: 00f665b3 or a1,a2,a5
+ 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284>
+ 80002810: fffff617 auipc a2,0xfffff
+ 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost>
+ 80002818: 00073603 ld a2,0(a4)
+ 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274>
+ 80002820: 0006c603 lbu a2,0(a3)
+ 80002824: ffffe517 auipc a0,0xffffe
+ 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost>
+ 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264>
+ 80002830: e85ff06f j 800026b4 <handle_trap+0x118>
+ 80002834: 10100793 li a5,257
+ 80002838: 04100613 li a2,65
+ 8000283c: 00000697 auipc a3,0x0
+ 80002840: 64468693 addi a3,a3,1604 # 80002e80 <pass+0x130>
+ 80002844: ffffe717 auipc a4,0xffffe
+ 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost>
+ 8000284c: 03079793 slli a5,a5,0x30
+ 80002850: 00168693 addi a3,a3,1
+ 80002854: 00f665b3 or a1,a2,a5
+ 80002858: 00073603 ld a2,0(a4)
+ 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310>
+ 80002860: ffffe617 auipc a2,0xffffe
+ 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost>
+ 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc>
+ 8000286c: 10100793 li a5,257
+ 80002870: 04100613 li a2,65
+ 80002874: 00000697 auipc a3,0x0
+ 80002878: 5d468693 addi a3,a3,1492 # 80002e48 <pass+0xf8>
+ 8000287c: ffffe717 auipc a4,0xffffe
+ 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost>
+ 80002884: 03079793 slli a5,a5,0x30
+ 80002888: 00168693 addi a3,a3,1
+ 8000288c: 00f665b3 or a1,a2,a5
+ 80002890: 00073603 ld a2,0(a4)
+ 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324>
+ 80002898: ffffe617 auipc a2,0xffffe
+ 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost>
+ 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4>
+ 800028a4: 00098513 mv a0,s3
+ 800028a8: 989ff0ef jal ra,80002230 <terminate>
+ 800028ac: 0006c603 lbu a2,0(a3)
+ 800028b0: ffffe517 auipc a0,0xffffe
+ 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost>
+ 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4>
+ 800028bc: df9ff06f j 800026b4 <handle_trap+0x118>
+ 800028c0: 0006c603 lbu a2,0(a3)
+ 800028c4: ffffe517 auipc a0,0xffffe
+ 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost>
+ 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec>
+ 800028d0: de5ff06f j 800026b4 <handle_trap+0x118>
+
+00000000800028d4 <vm_boot>:
+ 800028d4: f14027f3 csrr a5,mhartid
+ 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198>
+ 800028dc: 00002697 auipc a3,0x2
+ 800028e0: 72468693 addi a3,a3,1828 # 80005000 <pt+0x1000>
+ 800028e4: 00003717 auipc a4,0x3
+ 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <pt+0x2000>
+ 800028ec: 00c6d693 srli a3,a3,0xc
+ 800028f0: 00c75713 srli a4,a4,0xc
+ 800028f4: 00004797 auipc a5,0x4
+ 800028f8: 70c78793 addi a5,a5,1804 # 80007000 <pt+0x3000>
+ 800028fc: 00a69693 slli a3,a3,0xa
+ 80002900: 00a71713 slli a4,a4,0xa
+ 80002904: 0016e693 ori a3,a3,1
+ 80002908: 00176713 ori a4,a4,1
+ 8000290c: 00c7d793 srli a5,a5,0xc
+ 80002910: 00001897 auipc a7,0x1
+ 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <pt>
+ 80002918: 00a79793 slli a5,a5,0xa
+ 8000291c: 00002697 auipc a3,0x2
+ 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <pt+0xff8>
+ 80002924: 20000737 lui a4,0x20000
+ 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31>
+ 8000292c: fff00593 li a1,-1
+ 80002930: 0017e793 ori a5,a5,1
+ 80002934: 00001617 auipc a2,0x1
+ 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <pt>
+ 8000293c: ed010113 addi sp,sp,-304
+ 80002940: 03f59813 slli a6,a1,0x3f
+ 80002944: 00004697 auipc a3,0x4
+ 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <pt+0x2ff8>
+ 8000294c: 00002717 auipc a4,0x2
+ 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <pt+0x1000>
+ 80002954: 00c65793 srli a5,a2,0xc
+ 80002958: 12113423 sd ra,296(sp)
+ 8000295c: 12813023 sd s0,288(sp)
+ 80002960: 0107e7b3 or a5,a5,a6
+ 80002964: 18079073 csrw satp,a5
+ 80002968: 01f00793 li a5,31
+ 8000296c: 00000297 auipc t0,0x0
+ 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac>
+ 80002974: 305292f3 csrrw t0,mtvec,t0
+ 80002978: 3b059073 csrw pmpaddr0,a1
+ 8000297c: 3a079073 csrw pmpcfg0,a5
+ 80002980: bff00813 li a6,-1025
+ 80002984: 01581813 slli a6,a6,0x15
+ 80002988: ffffd797 auipc a5,0xffffd
+ 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry>
+ 80002990: 010787b3 add a5,a5,a6
+ 80002994: 10579073 csrw stvec,a5
+ 80002998: 340027f3 csrr a5,mscratch
+ 8000299c: 010787b3 add a5,a5,a6
+ 800029a0: 14079073 csrw sscratch,a5
+ 800029a4: 0000b7b7 lui a5,0xb
+ 800029a8: 1007879b addiw a5,a5,256
+ 800029ac: 30279073 csrw medeleg,a5
+ 800029b0: 0001e7b7 lui a5,0x1e
+ 800029b4: 30079073 csrw mstatus,a5
+ 800029b8: 30405073 csrwi mie,0
+ 800029bc: 00005697 auipc a3,0x5
+ 800029c0: 64468693 addi a3,a3,1604 # 80008000 <freelist_nodes>
+ 800029c4: 010687b3 add a5,a3,a6
+ 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20>
+ 800029cc: 00006617 auipc a2,0x6
+ 800029d0: e0f63e23 sd a5,-484(a2) # 800087e8 <freelist_head>
+ 800029d4: 00006797 auipc a5,0x6
+ 800029d8: e0e7b623 sd a4,-500(a5) # 800087e0 <freelist_tail>
+ 800029dc: 00006317 auipc t1,0x6
+ 800029e0: a1430313 addi t1,t1,-1516 # 800083f0 <user_mapping>
+ 800029e4: 02600793 li a5,38
+ 800029e8: 000808b7 lui a7,0x80
+ 800029ec: 01080813 addi a6,a6,16
+ 800029f0: 03f7871b addiw a4,a5,63
+ 800029f4: 02071713 slli a4,a4,0x20
+ 800029f8: 0017d61b srliw a2,a5,0x1
+ 800029fc: 02075713 srli a4,a4,0x20
+ 80002a00: 00c7c7b3 xor a5,a5,a2
+ 80002a04: 01170733 add a4,a4,a7
+ 80002a08: 010685b3 add a1,a3,a6
+ 80002a0c: 00c71713 slli a4,a4,0xc
+ 80002a10: 0057979b slliw a5,a5,0x5
+ 80002a14: 00e6b023 sd a4,0(a3)
+ 80002a18: 00b6b423 sd a1,8(a3)
+ 80002a1c: 0207f793 andi a5,a5,32
+ 80002a20: 01068693 addi a3,a3,16
+ 80002a24: 00c7e7b3 or a5,a5,a2
+ 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c>
+ 80002a2c: 00050413 mv s0,a0
+ 80002a30: 12000613 li a2,288
+ 80002a34: 00000593 li a1,0
+ 80002a38: 00010513 mv a0,sp
+ 80002a3c: 00006797 auipc a5,0x6
+ 80002a40: 9a07b623 sd zero,-1620(a5) # 800083e8 <freelist_nodes+0x3e8>
+ 80002a44: e18ff0ef jal ra,8000205c <memset>
+ 80002a48: 800007b7 lui a5,0x80000
+ 80002a4c: 00f40433 add s0,s0,a5
+ 80002a50: 00010513 mv a0,sp
+ 80002a54: 10813423 sd s0,264(sp)
+ 80002a58: de4fd0ef jal ra,8000003c <pop_tf>
+ 80002a5c: 12813083 ld ra,296(sp)
+ 80002a60: 12013403 ld s0,288(sp)
+ 80002a64: 13010113 addi sp,sp,304
+ 80002a68: 00008067 ret
+ 80002a6c: 08dc47b7 lui a5,0x8dc4
+ 80002a70: 000805b7 lui a1,0x80
+ 80002a74: 2d678793 addi a5,a5,726 # 8dc42d6 <_start-0x7723bd2a>
+ 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004>
+ 80002a7c: 00100613 li a2,1
+ 80002a80: 00b7f733 and a4,a5,a1
+ 80002a84: 01f61613 slli a2,a2,0x1f
+ 80002a88: 0017f693 andi a3,a5,1
+ 80002a8c: 02079793 slli a5,a5,0x20
+ 80002a90: 0207d793 srli a5,a5,0x20
+ 80002a94: 00c70733 add a4,a4,a2
+ 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8>
+ 80002a9c: 0007202f amoadd.w zero,zero,(a4)
+ 80002aa0: 0017d793 srli a5,a5,0x1
+ 80002aa4: 00b7f733 and a4,a5,a1
+ 80002aa8: 0017f693 andi a3,a5,1
+ 80002aac: 02079793 slli a5,a5,0x20
+ 80002ab0: 0207d793 srli a5,a5,0x20
+ 80002ab4: 00c70733 add a4,a4,a2
+ 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8>
+ 80002abc: 00072003 lw zero,0(a4)
+ 80002ac0: 0017d793 srli a5,a5,0x1
+ 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0>
+
+0000000080002ac8 <userstart>:
+ 80002ac8: 00301073 fssr zero
+
+0000000080002acc <test_2>:
+ 80002acc: 00200193 li gp,2
+ 80002ad0: 00000517 auipc a0,0x0
+ 80002ad4: 53050513 addi a0,a0,1328 # 80003000 <test_2_data>
+ 80002ad8: 00053007 fld ft0,0(a0)
+ 80002adc: 00853087 fld ft1,8(a0)
+ 80002ae0: 01053107 fld ft2,16(a0)
+ 80002ae4: 01853683 ld a3,24(a0)
+ 80002ae8: 121071c3 fmadd.d ft3,ft0,ft1,ft2
+ 80002aec: e2018553 fmv.x.d a0,ft3
+ 80002af0: 001015f3 fsflags a1,zero
+ 80002af4: 00000613 li a2,0
+ 80002af8: 24d51463 bne a0,a3,80002d40 <fail>
+ 80002afc: 24c59263 bne a1,a2,80002d40 <fail>
+
+0000000080002b00 <test_3>:
+ 80002b00: 00300193 li gp,3
+ 80002b04: 00000517 auipc a0,0x0
+ 80002b08: 51c50513 addi a0,a0,1308 # 80003020 <test_3_data>
+ 80002b0c: 00053007 fld ft0,0(a0)
+ 80002b10: 00853087 fld ft1,8(a0)
+ 80002b14: 01053107 fld ft2,16(a0)
+ 80002b18: 01853683 ld a3,24(a0)
+ 80002b1c: 121071c3 fmadd.d ft3,ft0,ft1,ft2
+ 80002b20: e2018553 fmv.x.d a0,ft3
+ 80002b24: 001015f3 fsflags a1,zero
+ 80002b28: 00100613 li a2,1
+ 80002b2c: 20d51a63 bne a0,a3,80002d40 <fail>
+ 80002b30: 20c59863 bne a1,a2,80002d40 <fail>
+
+0000000080002b34 <test_4>:
+ 80002b34: 00400193 li gp,4
+ 80002b38: 00000517 auipc a0,0x0
+ 80002b3c: 50850513 addi a0,a0,1288 # 80003040 <test_4_data>
+ 80002b40: 00053007 fld ft0,0(a0)
+ 80002b44: 00853087 fld ft1,8(a0)
+ 80002b48: 01053107 fld ft2,16(a0)
+ 80002b4c: 01853683 ld a3,24(a0)
+ 80002b50: 121071c3 fmadd.d ft3,ft0,ft1,ft2
+ 80002b54: e2018553 fmv.x.d a0,ft3
+ 80002b58: 001015f3 fsflags a1,zero
+ 80002b5c: 00000613 li a2,0
+ 80002b60: 1ed51063 bne a0,a3,80002d40 <fail>
+ 80002b64: 1cc59e63 bne a1,a2,80002d40 <fail>
+
+0000000080002b68 <test_5>:
+ 80002b68: 00500193 li gp,5
+ 80002b6c: 00000517 auipc a0,0x0
+ 80002b70: 4f450513 addi a0,a0,1268 # 80003060 <test_5_data>
+ 80002b74: 00053007 fld ft0,0(a0)
+ 80002b78: 00853087 fld ft1,8(a0)
+ 80002b7c: 01053107 fld ft2,16(a0)
+ 80002b80: 01853683 ld a3,24(a0)
+ 80002b84: 121071cf fnmadd.d ft3,ft0,ft1,ft2
+ 80002b88: e2018553 fmv.x.d a0,ft3
+ 80002b8c: 001015f3 fsflags a1,zero
+ 80002b90: 00000613 li a2,0
+ 80002b94: 1ad51663 bne a0,a3,80002d40 <fail>
+ 80002b98: 1ac59463 bne a1,a2,80002d40 <fail>
+
+0000000080002b9c <test_6>:
+ 80002b9c: 00600193 li gp,6
+ 80002ba0: 00000517 auipc a0,0x0
+ 80002ba4: 4e050513 addi a0,a0,1248 # 80003080 <test_6_data>
+ 80002ba8: 00053007 fld ft0,0(a0)
+ 80002bac: 00853087 fld ft1,8(a0)
+ 80002bb0: 01053107 fld ft2,16(a0)
+ 80002bb4: 01853683 ld a3,24(a0)
+ 80002bb8: 121071cf fnmadd.d ft3,ft0,ft1,ft2
+ 80002bbc: e2018553 fmv.x.d a0,ft3
+ 80002bc0: 001015f3 fsflags a1,zero
+ 80002bc4: 00100613 li a2,1
+ 80002bc8: 16d51c63 bne a0,a3,80002d40 <fail>
+ 80002bcc: 16c59a63 bne a1,a2,80002d40 <fail>
+
+0000000080002bd0 <test_7>:
+ 80002bd0: 00700193 li gp,7
+ 80002bd4: 00000517 auipc a0,0x0
+ 80002bd8: 4cc50513 addi a0,a0,1228 # 800030a0 <test_7_data>
+ 80002bdc: 00053007 fld ft0,0(a0)
+ 80002be0: 00853087 fld ft1,8(a0)
+ 80002be4: 01053107 fld ft2,16(a0)
+ 80002be8: 01853683 ld a3,24(a0)
+ 80002bec: 121071cf fnmadd.d ft3,ft0,ft1,ft2
+ 80002bf0: e2018553 fmv.x.d a0,ft3
+ 80002bf4: 001015f3 fsflags a1,zero
+ 80002bf8: 00000613 li a2,0
+ 80002bfc: 14d51263 bne a0,a3,80002d40 <fail>
+ 80002c00: 14c59063 bne a1,a2,80002d40 <fail>
+
+0000000080002c04 <test_8>:
+ 80002c04: 00800193 li gp,8
+ 80002c08: 00000517 auipc a0,0x0
+ 80002c0c: 4b850513 addi a0,a0,1208 # 800030c0 <test_8_data>
+ 80002c10: 00053007 fld ft0,0(a0)
+ 80002c14: 00853087 fld ft1,8(a0)
+ 80002c18: 01053107 fld ft2,16(a0)
+ 80002c1c: 01853683 ld a3,24(a0)
+ 80002c20: 121071c7 fmsub.d ft3,ft0,ft1,ft2
+ 80002c24: e2018553 fmv.x.d a0,ft3
+ 80002c28: 001015f3 fsflags a1,zero
+ 80002c2c: 00000613 li a2,0
+ 80002c30: 10d51863 bne a0,a3,80002d40 <fail>
+ 80002c34: 10c59663 bne a1,a2,80002d40 <fail>
+
+0000000080002c38 <test_9>:
+ 80002c38: 00900193 li gp,9
+ 80002c3c: 00000517 auipc a0,0x0
+ 80002c40: 4a450513 addi a0,a0,1188 # 800030e0 <test_9_data>
+ 80002c44: 00053007 fld ft0,0(a0)
+ 80002c48: 00853087 fld ft1,8(a0)
+ 80002c4c: 01053107 fld ft2,16(a0)
+ 80002c50: 01853683 ld a3,24(a0)
+ 80002c54: 121071c7 fmsub.d ft3,ft0,ft1,ft2
+ 80002c58: e2018553 fmv.x.d a0,ft3
+ 80002c5c: 001015f3 fsflags a1,zero
+ 80002c60: 00100613 li a2,1
+ 80002c64: 0cd51e63 bne a0,a3,80002d40 <fail>
+ 80002c68: 0cc59c63 bne a1,a2,80002d40 <fail>
+
+0000000080002c6c <test_10>:
+ 80002c6c: 00a00193 li gp,10
+ 80002c70: 00000517 auipc a0,0x0
+ 80002c74: 49050513 addi a0,a0,1168 # 80003100 <test_10_data>
+ 80002c78: 00053007 fld ft0,0(a0)
+ 80002c7c: 00853087 fld ft1,8(a0)
+ 80002c80: 01053107 fld ft2,16(a0)
+ 80002c84: 01853683 ld a3,24(a0)
+ 80002c88: 121071c7 fmsub.d ft3,ft0,ft1,ft2
+ 80002c8c: e2018553 fmv.x.d a0,ft3
+ 80002c90: 001015f3 fsflags a1,zero
+ 80002c94: 00000613 li a2,0
+ 80002c98: 0ad51463 bne a0,a3,80002d40 <fail>
+ 80002c9c: 0ac59263 bne a1,a2,80002d40 <fail>
+
+0000000080002ca0 <test_11>:
+ 80002ca0: 00b00193 li gp,11
+ 80002ca4: 00000517 auipc a0,0x0
+ 80002ca8: 47c50513 addi a0,a0,1148 # 80003120 <test_11_data>
+ 80002cac: 00053007 fld ft0,0(a0)
+ 80002cb0: 00853087 fld ft1,8(a0)
+ 80002cb4: 01053107 fld ft2,16(a0)
+ 80002cb8: 01853683 ld a3,24(a0)
+ 80002cbc: 121071cb fnmsub.d ft3,ft0,ft1,ft2
+ 80002cc0: e2018553 fmv.x.d a0,ft3
+ 80002cc4: 001015f3 fsflags a1,zero
+ 80002cc8: 00000613 li a2,0
+ 80002ccc: 06d51a63 bne a0,a3,80002d40 <fail>
+ 80002cd0: 06c59863 bne a1,a2,80002d40 <fail>
+
+0000000080002cd4 <test_12>:
+ 80002cd4: 00c00193 li gp,12
+ 80002cd8: 00000517 auipc a0,0x0
+ 80002cdc: 46850513 addi a0,a0,1128 # 80003140 <test_12_data>
+ 80002ce0: 00053007 fld ft0,0(a0)
+ 80002ce4: 00853087 fld ft1,8(a0)
+ 80002ce8: 01053107 fld ft2,16(a0)
+ 80002cec: 01853683 ld a3,24(a0)
+ 80002cf0: 121071cb fnmsub.d ft3,ft0,ft1,ft2
+ 80002cf4: e2018553 fmv.x.d a0,ft3
+ 80002cf8: 001015f3 fsflags a1,zero
+ 80002cfc: 00100613 li a2,1
+ 80002d00: 04d51063 bne a0,a3,80002d40 <fail>
+ 80002d04: 02c59e63 bne a1,a2,80002d40 <fail>
+
+0000000080002d08 <test_13>:
+ 80002d08: 00d00193 li gp,13
+ 80002d0c: 00000517 auipc a0,0x0
+ 80002d10: 45450513 addi a0,a0,1108 # 80003160 <test_13_data>
+ 80002d14: 00053007 fld ft0,0(a0)
+ 80002d18: 00853087 fld ft1,8(a0)
+ 80002d1c: 01053107 fld ft2,16(a0)
+ 80002d20: 01853683 ld a3,24(a0)
+ 80002d24: 121071cb fnmsub.d ft3,ft0,ft1,ft2
+ 80002d28: e2018553 fmv.x.d a0,ft3
+ 80002d2c: 001015f3 fsflags a1,zero
+ 80002d30: 00000613 li a2,0
+ 80002d34: 00d51663 bne a0,a3,80002d40 <fail>
+ 80002d38: 00c59463 bne a1,a2,80002d40 <fail>
+ 80002d3c: 00301a63 bne zero,gp,80002d50 <pass>
+
+0000000080002d40 <fail>:
+ 80002d40: 00119513 slli a0,gp,0x1
+ 80002d44: 00050063 beqz a0,80002d44 <fail+0x4>
+ 80002d48: 00156513 ori a0,a0,1
+ 80002d4c: 00000073 ecall
+
+0000000080002d50 <pass>:
+ 80002d50: 00100513 li a0,1
+ 80002d54: 00000073 ecall
+ 80002d58: c0001073 unimp
+
+Disassembly of section .data:
+
+0000000080003000 <test_2_data>:
+ 80003000: 0000 unimp
+ 80003002: 0000 unimp
+ 80003004: 0000 unimp
+ 80003006: 3ff0 fld fa2,248(a5)
+ 80003008: 0000 unimp
+ 8000300a: 0000 unimp
+ 8000300c: 0000 unimp
+ 8000300e: 4004 lw s1,0(s0)
+ 80003010: 0000 unimp
+ 80003012: 0000 unimp
+ 80003014: 0000 unimp
+ 80003016: 3ff0 fld fa2,248(a5)
+ 80003018: 0000 unimp
+ 8000301a: 0000 unimp
+ 8000301c: 0000 unimp
+ 8000301e: 400c lw a1,0(s0)
+
+0000000080003020 <test_3_data>:
+ 80003020: 0000 unimp
+ 80003022: 0000 unimp
+ 80003024: 0000 unimp
+ 80003026: bff0 fsd fa2,248(a5)
+ 80003028: 6666 ld a2,88(sp)
+ 8000302a: 6666 ld a2,88(sp)
+ 8000302c: 4c66 lw s8,88(sp)
+ 8000302e: 999ac093 xori ra,s5,-1639
+ 80003032: 9999 andi a1,a1,-26
+ 80003034: 9999 andi a1,a1,-26
+ 80003036: 3ff1 addiw t6,t6,-4
+ 80003038: cccc sw a1,28(s1)
+ 8000303a: cccc sw a1,28(s1)
+ 8000303c: 50cc lw a1,36(s1)
+ 8000303e: xori ra,zero,0
+
+0000000080003040 <test_4_data>:
+ 80003040: 0000 unimp
+ 80003042: 0000 unimp
+ 80003044: 0000 unimp
+ 80003046: 4000 lw s0,0(s0)
+ 80003048: 0000 unimp
+ 8000304a: 0000 unimp
+ 8000304c: 0000 unimp
+ 8000304e: c014 sw a3,0(s0)
+ 80003050: 0000 unimp
+ 80003052: 0000 unimp
+ 80003054: 0000 unimp
+ 80003056: c000 sw s0,0(s0)
+ 80003058: 0000 unimp
+ 8000305a: 0000 unimp
+ 8000305c: 0000 unimp
+ 8000305e: c028 sw a0,64(s0)
+
+0000000080003060 <test_5_data>:
+ 80003060: 0000 unimp
+ 80003062: 0000 unimp
+ 80003064: 0000 unimp
+ 80003066: 3ff0 fld fa2,248(a5)
+ 80003068: 0000 unimp
+ 8000306a: 0000 unimp
+ 8000306c: 0000 unimp
+ 8000306e: 4004 lw s1,0(s0)
+ 80003070: 0000 unimp
+ 80003072: 0000 unimp
+ 80003074: 0000 unimp
+ 80003076: 3ff0 fld fa2,248(a5)
+ 80003078: 0000 unimp
+ 8000307a: 0000 unimp
+ 8000307c: 0000 unimp
+ 8000307e: c00c sw a1,0(s0)
+
+0000000080003080 <test_6_data>:
+ 80003080: 0000 unimp
+ 80003082: 0000 unimp
+ 80003084: 0000 unimp
+ 80003086: bff0 fsd fa2,248(a5)
+ 80003088: 6666 ld a2,88(sp)
+ 8000308a: 6666 ld a2,88(sp)
+ 8000308c: 4c66 lw s8,88(sp)
+ 8000308e: 999ac093 xori ra,s5,-1639
+ 80003092: 9999 andi a1,a1,-26
+ 80003094: 9999 andi a1,a1,-26
+ 80003096: 3ff1 addiw t6,t6,-4
+ 80003098: cccc sw a1,28(s1)
+ 8000309a: cccc sw a1,28(s1)
+ 8000309c: 50cc lw a1,36(s1)
+ 8000309e: xori ra,ra,0
+
+00000000800030a0 <test_7_data>:
+ 800030a0: 0000 unimp
+ 800030a2: 0000 unimp
+ 800030a4: 0000 unimp
+ 800030a6: 4000 lw s0,0(s0)
+ 800030a8: 0000 unimp
+ 800030aa: 0000 unimp
+ 800030ac: 0000 unimp
+ 800030ae: c014 sw a3,0(s0)
+ 800030b0: 0000 unimp
+ 800030b2: 0000 unimp
+ 800030b4: 0000 unimp
+ 800030b6: c000 sw s0,0(s0)
+ 800030b8: 0000 unimp
+ 800030ba: 0000 unimp
+ 800030bc: 0000 unimp
+ 800030be: 4028 lw a0,64(s0)
+
+00000000800030c0 <test_8_data>:
+ 800030c0: 0000 unimp
+ 800030c2: 0000 unimp
+ 800030c4: 0000 unimp
+ 800030c6: 3ff0 fld fa2,248(a5)
+ 800030c8: 0000 unimp
+ 800030ca: 0000 unimp
+ 800030cc: 0000 unimp
+ 800030ce: 4004 lw s1,0(s0)
+ 800030d0: 0000 unimp
+ 800030d2: 0000 unimp
+ 800030d4: 0000 unimp
+ 800030d6: 3ff0 fld fa2,248(a5)
+ 800030d8: 0000 unimp
+ 800030da: 0000 unimp
+ 800030dc: 0000 unimp
+ 800030de: 3ff8 fld fa4,248(a5)
+
+00000000800030e0 <test_9_data>:
+ 800030e0: 0000 unimp
+ 800030e2: 0000 unimp
+ 800030e4: 0000 unimp
+ 800030e6: bff0 fsd fa2,248(a5)
+ 800030e8: 6666 ld a2,88(sp)
+ 800030ea: 6666 ld a2,88(sp)
+ 800030ec: 4c66 lw s8,88(sp)
+ 800030ee: 999ac093 xori ra,s5,-1639
+ 800030f2: 9999 andi a1,a1,-26
+ 800030f4: 9999 andi a1,a1,-26
+ 800030f6: 3ff1 addiw t6,t6,-4
+ 800030f8: 0000 unimp
+ 800030fa: 0000 unimp
+ 800030fc: 4800 lw s0,16(s0)
+ 800030fe: xori ra,zero,0
+
+0000000080003100 <test_10_data>:
+ 80003100: 0000 unimp
+ 80003102: 0000 unimp
+ 80003104: 0000 unimp
+ 80003106: 4000 lw s0,0(s0)
+ 80003108: 0000 unimp
+ 8000310a: 0000 unimp
+ 8000310c: 0000 unimp
+ 8000310e: c014 sw a3,0(s0)
+ 80003110: 0000 unimp
+ 80003112: 0000 unimp
+ 80003114: 0000 unimp
+ 80003116: c000 sw s0,0(s0)
+ 80003118: 0000 unimp
+ 8000311a: 0000 unimp
+ 8000311c: 0000 unimp
+ 8000311e: c020 sw s0,64(s0)
+
+0000000080003120 <test_11_data>:
+ 80003120: 0000 unimp
+ 80003122: 0000 unimp
+ 80003124: 0000 unimp
+ 80003126: 3ff0 fld fa2,248(a5)
+ 80003128: 0000 unimp
+ 8000312a: 0000 unimp
+ 8000312c: 0000 unimp
+ 8000312e: 4004 lw s1,0(s0)
+ 80003130: 0000 unimp
+ 80003132: 0000 unimp
+ 80003134: 0000 unimp
+ 80003136: 3ff0 fld fa2,248(a5)
+ 80003138: 0000 unimp
+ 8000313a: 0000 unimp
+ 8000313c: 0000 unimp
+ 8000313e: bff8 fsd fa4,248(a5)
+
+0000000080003140 <test_12_data>:
+ 80003140: 0000 unimp
+ 80003142: 0000 unimp
+ 80003144: 0000 unimp
+ 80003146: bff0 fsd fa2,248(a5)
+ 80003148: 6666 ld a2,88(sp)
+ 8000314a: 6666 ld a2,88(sp)
+ 8000314c: 4c66 lw s8,88(sp)
+ 8000314e: 999ac093 xori ra,s5,-1639
+ 80003152: 9999 andi a1,a1,-26
+ 80003154: 9999 andi a1,a1,-26
+ 80003156: 3ff1 addiw t6,t6,-4
+ 80003158: 0000 unimp
+ 8000315a: 0000 unimp
+ 8000315c: 4800 lw s0,16(s0)
+ 8000315e: xori ra,ra,0
+
+0000000080003160 <test_13_data>:
+ 80003160: 0000 unimp
+ 80003162: 0000 unimp
+ 80003164: 0000 unimp
+ 80003166: 4000 lw s0,0(s0)
+ 80003168: 0000 unimp
+ 8000316a: 0000 unimp
+ 8000316c: 0000 unimp
+ 8000316e: c014 sw a3,0(s0)
+ 80003170: 0000 unimp
+ 80003172: 0000 unimp
+ 80003174: 0000 unimp
+ 80003176: c000 sw s0,0(s0)
+ 80003178: 0000 unimp
+ 8000317a: 0000 unimp
+ 8000317c: 0000 unimp
+ 8000317e: 4020 lw s0,64(s0)
diff --git a/test/riscv-tests/rv64ud-v-fmadd.elf b/test/riscv-tests/rv64ud-v-fmadd.elf
new file mode 100644
index 0000000..4394e02
--- /dev/null
+++ b/test/riscv-tests/rv64ud-v-fmadd.elf
Binary files differ
diff --git a/test/riscv-tests/rv64ud-v-fmin.dump b/test/riscv-tests/rv64ud-v-fmin.dump
new file mode 100644
index 0000000..1884f2f
--- /dev/null
+++ b/test/riscv-tests/rv64ud-v-fmin.dump
@@ -0,0 +1,1429 @@
+
+rv64ud-v-fmin: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 00c0006f j 8000000c <handle_reset>
+
+0000000080000004 <nmi_vector>:
+ 80000004: 2580206f j 8000225c <wtf>
+
+0000000080000008 <trap_vector>:
+ 80000008: 2540206f j 8000225c <wtf>
+
+000000008000000c <handle_reset>:
+ 8000000c: 00000297 auipc t0,0x0
+ 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+ 80000014: 30529073 csrw mtvec,t0
+ 80000018: 0000a117 auipc sp,0xa
+ 8000001c: 6b810113 addi sp,sp,1720 # 8000a6d0 <_end+0xee0>
+ 80000020: f14022f3 csrr t0,mhartid
+ 80000024: 00c29293 slli t0,t0,0xc
+ 80000028: 00510133 add sp,sp,t0
+ 8000002c: 34011073 csrw mscratch,sp
+ 80000030: 00003517 auipc a0,0x3
+ 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart>
+ 80000038: 09d0206f j 800028d4 <vm_boot>
+
+000000008000003c <pop_tf>:
+ 8000003c: 10853283 ld t0,264(a0)
+ 80000040: 14129073 csrw sepc,t0
+ 80000044: 00853083 ld ra,8(a0)
+ 80000048: 01053103 ld sp,16(a0)
+ 8000004c: 01853183 ld gp,24(a0)
+ 80000050: 02053203 ld tp,32(a0)
+ 80000054: 02853283 ld t0,40(a0)
+ 80000058: 03053303 ld t1,48(a0)
+ 8000005c: 03853383 ld t2,56(a0)
+ 80000060: 04053403 ld s0,64(a0)
+ 80000064: 04853483 ld s1,72(a0)
+ 80000068: 05853583 ld a1,88(a0)
+ 8000006c: 06053603 ld a2,96(a0)
+ 80000070: 06853683 ld a3,104(a0)
+ 80000074: 07053703 ld a4,112(a0)
+ 80000078: 07853783 ld a5,120(a0)
+ 8000007c: 08053803 ld a6,128(a0)
+ 80000080: 08853883 ld a7,136(a0)
+ 80000084: 09053903 ld s2,144(a0)
+ 80000088: 09853983 ld s3,152(a0)
+ 8000008c: 0a053a03 ld s4,160(a0)
+ 80000090: 0a853a83 ld s5,168(a0)
+ 80000094: 0b053b03 ld s6,176(a0)
+ 80000098: 0b853b83 ld s7,184(a0)
+ 8000009c: 0c053c03 ld s8,192(a0)
+ 800000a0: 0c853c83 ld s9,200(a0)
+ 800000a4: 0d053d03 ld s10,208(a0)
+ 800000a8: 0d853d83 ld s11,216(a0)
+ 800000ac: 0e053e03 ld t3,224(a0)
+ 800000b0: 0e853e83 ld t4,232(a0)
+ 800000b4: 0f053f03 ld t5,240(a0)
+ 800000b8: 0f853f83 ld t6,248(a0)
+ 800000bc: 05053503 ld a0,80(a0)
+ 800000c0: 10200073 sret
+
+00000000800000c4 <trap_entry>:
+ 800000c4: 14011173 csrrw sp,sscratch,sp
+ 800000c8: 00113423 sd ra,8(sp)
+ 800000cc: 00313c23 sd gp,24(sp)
+ 800000d0: 02413023 sd tp,32(sp)
+ 800000d4: 02513423 sd t0,40(sp)
+ 800000d8: 02613823 sd t1,48(sp)
+ 800000dc: 02713c23 sd t2,56(sp)
+ 800000e0: 04813023 sd s0,64(sp)
+ 800000e4: 04913423 sd s1,72(sp)
+ 800000e8: 04a13823 sd a0,80(sp)
+ 800000ec: 04b13c23 sd a1,88(sp)
+ 800000f0: 06c13023 sd a2,96(sp)
+ 800000f4: 06d13423 sd a3,104(sp)
+ 800000f8: 06e13823 sd a4,112(sp)
+ 800000fc: 06f13c23 sd a5,120(sp)
+ 80000100: 09013023 sd a6,128(sp)
+ 80000104: 09113423 sd a7,136(sp)
+ 80000108: 09213823 sd s2,144(sp)
+ 8000010c: 09313c23 sd s3,152(sp)
+ 80000110: 0b413023 sd s4,160(sp)
+ 80000114: 0b513423 sd s5,168(sp)
+ 80000118: 0b613823 sd s6,176(sp)
+ 8000011c: 0b713c23 sd s7,184(sp)
+ 80000120: 0d813023 sd s8,192(sp)
+ 80000124: 0d913423 sd s9,200(sp)
+ 80000128: 0da13823 sd s10,208(sp)
+ 8000012c: 0db13c23 sd s11,216(sp)
+ 80000130: 0fc13023 sd t3,224(sp)
+ 80000134: 0fd13423 sd t4,232(sp)
+ 80000138: 0fe13823 sd t5,240(sp)
+ 8000013c: 0ff13c23 sd t6,248(sp)
+ 80000140: 140112f3 csrrw t0,sscratch,sp
+ 80000144: 00513823 sd t0,16(sp)
+ 80000148: 100022f3 csrr t0,sstatus
+ 8000014c: 10513023 sd t0,256(sp)
+ 80000150: 141022f3 csrr t0,sepc
+ 80000154: 10513423 sd t0,264(sp)
+ 80000158: 143022f3 csrr t0,stval
+ 8000015c: 10513823 sd t0,272(sp)
+ 80000160: 142022f3 csrr t0,scause
+ 80000164: 10513c23 sd t0,280(sp)
+ 80000168: 00010513 mv a0,sp
+ 8000016c: 4300206f j 8000259c <handle_trap>
+
+Disassembly of section .text:
+
+0000000080002000 <memcpy>:
+ 80002000: 00c5e7b3 or a5,a1,a2
+ 80002004: 00f567b3 or a5,a0,a5
+ 80002008: 0077f793 andi a5,a5,7
+ 8000200c: 00c506b3 add a3,a0,a2
+ 80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+ 80002014: 00c58633 add a2,a1,a2
+ 80002018: 00050793 mv a5,a0
+ 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+ 80002020: 00158593 addi a1,a1,1
+ 80002024: fff5c703 lbu a4,-1(a1)
+ 80002028: 00178793 addi a5,a5,1
+ 8000202c: fee78fa3 sb a4,-1(a5)
+ 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+ 80002034: 00008067 ret
+ 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+ 8000203c: 00050793 mv a5,a0
+ 80002040: 00858593 addi a1,a1,8
+ 80002044: ff85b703 ld a4,-8(a1)
+ 80002048: 00878793 addi a5,a5,8
+ 8000204c: fee7bc23 sd a4,-8(a5)
+ 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+ 80002054: 00008067 ret
+ 80002058: 00008067 ret
+
+000000008000205c <memset>:
+ 8000205c: 00c567b3 or a5,a0,a2
+ 80002060: 0077f793 andi a5,a5,7
+ 80002064: 00c50633 add a2,a0,a2
+ 80002068: 0ff5f593 andi a1,a1,255
+ 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c>
+ 80002070: 00050793 mv a5,a0
+ 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c>
+ 80002078: 00178793 addi a5,a5,1
+ 8000207c: feb78fa3 sb a1,-1(a5)
+ 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+ 80002084: 00008067 ret
+ 80002088: 00859793 slli a5,a1,0x8
+ 8000208c: 00b7e5b3 or a1,a5,a1
+ 80002090: 01059793 slli a5,a1,0x10
+ 80002094: 00b7e7b3 or a5,a5,a1
+ 80002098: 02079593 slli a1,a5,0x20
+ 8000209c: 00f5e5b3 or a1,a1,a5
+ 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28>
+ 800020a4: 00050793 mv a5,a0
+ 800020a8: 00878793 addi a5,a5,8
+ 800020ac: feb7bc23 sd a1,-8(a5)
+ 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c>
+ 800020b4: 00008067 ret
+ 800020b8: 00008067 ret
+
+00000000800020bc <strlen>:
+ 800020bc: 00054783 lbu a5,0(a0)
+ 800020c0: 00050713 mv a4,a0
+ 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20>
+ 800020c8: 00150513 addi a0,a0,1
+ 800020cc: 00054783 lbu a5,0(a0)
+ 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc>
+ 800020d4: 40e50533 sub a0,a0,a4
+ 800020d8: 00008067 ret
+ 800020dc: 00000513 li a0,0
+ 800020e0: 00008067 ret
+
+00000000800020e4 <strcmp>:
+ 800020e4: 00150513 addi a0,a0,1
+ 800020e8: fff54783 lbu a5,-1(a0)
+ 800020ec: 00158593 addi a1,a1,1
+ 800020f0: fff5c703 lbu a4,-1(a1)
+ 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24>
+ 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp>
+ 800020fc: 0007851b sext.w a0,a5
+ 80002100: 40e5053b subw a0,a0,a4
+ 80002104: 00008067 ret
+ 80002108: 00000513 li a0,0
+ 8000210c: ff5ff06f j 80002100 <strcmp+0x1c>
+
+0000000080002110 <memcmp>:
+ 80002110: 00b567b3 or a5,a0,a1
+ 80002114: 0077f793 andi a5,a5,7
+ 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c>
+ 8000211c: ff867693 andi a3,a2,-8
+ 80002120: 00d506b3 add a3,a0,a3
+ 80002124: 00050813 mv a6,a0
+ 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c>
+ 8000212c: 00053703 ld a4,0(a0)
+ 80002130: 0005b783 ld a5,0(a1)
+ 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38>
+ 80002138: 0240006f j 8000215c <memcmp+0x4c>
+ 8000213c: 00053703 ld a4,0(a0)
+ 80002140: 0005b783 ld a5,0(a1)
+ 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44>
+ 80002148: 00850513 addi a0,a0,8
+ 8000214c: 00858593 addi a1,a1,8
+ 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c>
+ 80002154: 41050833 sub a6,a0,a6
+ 80002158: 41060633 sub a2,a2,a6
+ 8000215c: 00c58633 add a2,a1,a2
+ 80002160: 0140006f j 80002174 <memcmp+0x64>
+ 80002164: 00158593 addi a1,a1,1
+ 80002168: fff54783 lbu a5,-1(a0)
+ 8000216c: fff5c703 lbu a4,-1(a1)
+ 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74>
+ 80002174: 00150513 addi a0,a0,1
+ 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54>
+ 8000217c: 00000513 li a0,0
+ 80002180: 00008067 ret
+ 80002184: 40e7853b subw a0,a5,a4
+ 80002188: 00008067 ret
+
+000000008000218c <strcpy>:
+ 8000218c: 00050793 mv a5,a0
+ 80002190: 00158593 addi a1,a1,1
+ 80002194: fff5c703 lbu a4,-1(a1)
+ 80002198: 00178793 addi a5,a5,1
+ 8000219c: fee78fa3 sb a4,-1(a5)
+ 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4>
+ 800021a4: 00008067 ret
+
+00000000800021a8 <atol>:
+ 800021a8: 00054783 lbu a5,0(a0)
+ 800021ac: 02000713 li a4,32
+ 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18>
+ 800021b4: 00150513 addi a0,a0,1
+ 800021b8: 00054783 lbu a5,0(a0)
+ 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc>
+ 800021c0: fd57871b addiw a4,a5,-43
+ 800021c4: 0fd77713 andi a4,a4,253
+ 800021c8: 04070263 beqz a4,8000220c <atol+0x64>
+ 800021cc: 00054683 lbu a3,0(a0)
+ 800021d0: 00050793 mv a5,a0
+ 800021d4: 00000613 li a2,0
+ 800021d8: 04068863 beqz a3,80002228 <atol+0x80>
+ 800021dc: 00000513 li a0,0
+ 800021e0: 00178793 addi a5,a5,1
+ 800021e4: fd06859b addiw a1,a3,-48
+ 800021e8: 00251713 slli a4,a0,0x2
+ 800021ec: 0007c683 lbu a3,0(a5)
+ 800021f0: 00a70533 add a0,a4,a0
+ 800021f4: 00151513 slli a0,a0,0x1
+ 800021f8: 00a58533 add a0,a1,a0
+ 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38>
+ 80002200: 00060463 beqz a2,80002208 <atol+0x60>
+ 80002204: 40a00533 neg a0,a0
+ 80002208: 00008067 ret
+ 8000220c: 00154683 lbu a3,1(a0)
+ 80002210: fd378793 addi a5,a5,-45
+ 80002214: 0017b613 seqz a2,a5
+ 80002218: 00150793 addi a5,a0,1
+ 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34>
+ 80002220: 00000513 li a0,0
+ 80002224: fddff06f j 80002200 <atol+0x58>
+ 80002228: 00000513 li a0,0
+ 8000222c: 00008067 ret
+
+0000000080002230 <terminate>:
+ 80002230: fffff797 auipc a5,0xfffff
+ 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost>
+ 80002238: 0007b703 ld a4,0(a5)
+ 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20>
+ 80002240: fffff717 auipc a4,0xfffff
+ 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost>
+ 80002248: 0007b703 ld a4,0(a5)
+ 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10>
+ 80002250: fffff797 auipc a5,0xfffff
+ 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost>
+ 80002258: 0000006f j 80002258 <terminate+0x28>
+
+000000008000225c <wtf>:
+ 8000225c: ff010113 addi sp,sp,-16
+ 80002260: 34900513 li a0,841
+ 80002264: 00113423 sd ra,8(sp)
+ 80002268: fc9ff0ef jal ra,80002230 <terminate>
+
+000000008000226c <printhex>:
+ 8000226c: fe010113 addi sp,sp,-32
+ 80002270: 01710713 addi a4,sp,23
+ 80002274: 00710813 addi a6,sp,7
+ 80002278: 00900593 li a1,9
+ 8000227c: 00f57793 andi a5,a0,15
+ 80002280: 03000613 li a2,48
+ 80002284: 0ff7f693 andi a3,a5,255
+ 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24>
+ 8000228c: 05700613 li a2,87
+ 80002290: 00c687bb addw a5,a3,a2
+ 80002294: 00f70023 sb a5,0(a4)
+ 80002298: fff70713 addi a4,a4,-1
+ 8000229c: 00455513 srli a0,a0,0x4
+ 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10>
+ 800022a4: 00814783 lbu a5,8(sp)
+ 800022a8: 00010c23 sb zero,24(sp)
+ 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88>
+ 800022b0: 10100513 li a0,257
+ 800022b4: 00810693 addi a3,sp,8
+ 800022b8: fffff717 auipc a4,0xfffff
+ 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost>
+ 800022c0: 03051513 slli a0,a0,0x30
+ 800022c4: 00073583 ld a1,0(a4)
+ 800022c8: 00168693 addi a3,a3,1
+ 800022cc: 00a7e633 or a2,a5,a0
+ 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78>
+ 800022d4: fffff797 auipc a5,0xfffff
+ 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost>
+ 800022dc: 00073783 ld a5,0(a4)
+ 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68>
+ 800022e4: 0006c783 lbu a5,0(a3)
+ 800022e8: fffff597 auipc a1,0xfffff
+ 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost>
+ 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58>
+ 800022f4: 02010113 addi sp,sp,32
+ 800022f8: 00008067 ret
+
+00000000800022fc <handle_fault>:
+ 800022fc: fffff8b7 lui a7,0xfffff
+ 80002300: 01150733 add a4,a0,a7
+ 80002304: 0003e7b7 lui a5,0x3e
+ 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154>
+ 8000230c: 00c55693 srli a3,a0,0xc
+ 80002310: 60068813 addi a6,a3,1536
+ 80002314: 00003617 auipc a2,0x3
+ 80002318: cec60613 addi a2,a2,-788 # 80005000 <pt>
+ 8000231c: 00381793 slli a5,a6,0x3
+ 80002320: 00f607b3 add a5,a2,a5
+ 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000>
+ 80002328: 01157533 and a0,a0,a7
+ 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110>
+ 80002330: 00007797 auipc a5,0x7
+ 80002334: 4b878793 addi a5,a5,1208 # 800097e8 <freelist_head>
+ 80002338: 0007b583 ld a1,0(a5)
+ 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0>
+ 80002340: 0085b783 ld a5,8(a1)
+ 80002344: 00007717 auipc a4,0x7
+ 80002348: 49c70713 addi a4,a4,1180 # 800097e0 <freelist_tail>
+ 8000234c: 00073703 ld a4,0(a4)
+ 80002350: 00007897 auipc a7,0x7
+ 80002354: 48f8bc23 sd a5,1176(a7) # 800097e8 <freelist_head>
+ 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148>
+ 8000235c: 0005b783 ld a5,0(a1)
+ 80002360: 00381893 slli a7,a6,0x3
+ 80002364: 011608b3 add a7,a2,a7
+ 80002368: 00c7d793 srli a5,a5,0xc
+ 8000236c: 00a79793 slli a5,a5,0xa
+ 80002370: 0df7e313 ori t1,a5,223
+ 80002374: 01f7e713 ori a4,a5,31
+ 80002378: 0068b023 sd t1,0(a7)
+ 8000237c: 12050073 sfence.vma a0
+ 80002380: 00007797 auipc a5,0x7
+ 80002384: 07078793 addi a5,a5,112 # 800093f0 <user_mapping>
+ 80002388: 00469693 slli a3,a3,0x4
+ 8000238c: 00d786b3 add a3,a5,a3
+ 80002390: 0006b783 ld a5,0(a3)
+ 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200>
+ 80002398: 0005b783 ld a5,0(a1)
+ 8000239c: 00f6b023 sd a5,0(a3)
+ 800023a0: 0085b783 ld a5,8(a1)
+ 800023a4: 00f6b423 sd a5,8(a3)
+ 800023a8: 000407b7 lui a5,0x40
+ 800023ac: 1007a8f3 csrrs a7,sstatus,a5
+ 800023b0: ffe007b7 lui a5,0xffe00
+ 800023b4: 00f507b3 add a5,a0,a5
+ 800023b8: 000015b7 lui a1,0x1
+ 800023bc: 00050693 mv a3,a0
+ 800023c0: 00b785b3 add a1,a5,a1
+ 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf6810>
+ 800023c8: 0087be83 ld t4,8(a5)
+ 800023cc: 0107be03 ld t3,16(a5)
+ 800023d0: 0187b303 ld t1,24(a5)
+ 800023d4: 01e6b023 sd t5,0(a3)
+ 800023d8: 01d6b423 sd t4,8(a3)
+ 800023dc: 01c6b823 sd t3,16(a3)
+ 800023e0: 0066bc23 sd t1,24(a3)
+ 800023e4: 02078793 addi a5,a5,32
+ 800023e8: 02068693 addi a3,a3,32
+ 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8>
+ 800023f0: 10089073 csrw sstatus,a7
+ 800023f4: 00381813 slli a6,a6,0x3
+ 800023f8: 01060633 add a2,a2,a6
+ 800023fc: 00e63023 sd a4,0(a2)
+ 80002400: 12050073 sfence.vma a0
+ 80002404: 0000100f fence.i
+ 80002408: 00008067 ret
+ 8000240c: 04077693 andi a3,a4,64
+ 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128>
+ 80002414: 04076713 ori a4,a4,64
+ 80002418: 00e7b023 sd a4,0(a5)
+ 8000241c: 12050073 sfence.vma a0
+ 80002420: 00008067 ret
+ 80002424: 08077693 andi a3,a4,128
+ 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250>
+ 8000242c: 00f00693 li a3,15
+ 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250>
+ 80002434: 08076713 ori a4,a4,128
+ 80002438: 00e7b023 sd a4,0(a5)
+ 8000243c: 12050073 sfence.vma a0
+ 80002440: 00008067 ret
+ 80002444: 00007797 auipc a5,0x7
+ 80002448: 3807be23 sd zero,924(a5) # 800097e0 <freelist_tail>
+ 8000244c: f11ff06f j 8000235c <handle_fault+0x60>
+ 80002450: 10100613 li a2,257
+ 80002454: 04100713 li a4,65
+ 80002458: 00001697 auipc a3,0x1
+ 8000245c: a4068693 addi a3,a3,-1472 # 80002e98 <pass+0x10>
+ 80002460: fffff797 auipc a5,0xfffff
+ 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost>
+ 80002468: 03061613 slli a2,a2,0x30
+ 8000246c: 0007b503 ld a0,0(a5)
+ 80002470: 00168693 addi a3,a3,1
+ 80002474: 00c765b3 or a1,a4,a2
+ 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190>
+ 8000247c: fffff717 auipc a4,0xfffff
+ 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost>
+ 80002484: 0007b703 ld a4,0(a5)
+ 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180>
+ 8000248c: 0006c703 lbu a4,0(a3)
+ 80002490: fffff517 auipc a0,0xfffff
+ 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost>
+ 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170>
+ 8000249c: ff010113 addi sp,sp,-16
+ 800024a0: 00300513 li a0,3
+ 800024a4: 00113423 sd ra,8(sp)
+ 800024a8: d89ff0ef jal ra,80002230 <terminate>
+ 800024ac: 10100693 li a3,257
+ 800024b0: 04100713 li a4,65
+ 800024b4: 00001617 auipc a2,0x1
+ 800024b8: a7460613 addi a2,a2,-1420 # 80002f28 <pass+0xa0>
+ 800024bc: fffff797 auipc a5,0xfffff
+ 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost>
+ 800024c4: 03069693 slli a3,a3,0x30
+ 800024c8: 0007b503 ld a0,0(a5)
+ 800024cc: 00160613 addi a2,a2,1
+ 800024d0: 00d765b3 or a1,a4,a3
+ 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec>
+ 800024d8: fffff717 auipc a4,0xfffff
+ 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost>
+ 800024e0: 0007b703 ld a4,0(a5)
+ 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc>
+ 800024e8: 00064703 lbu a4,0(a2)
+ 800024ec: fffff517 auipc a0,0xfffff
+ 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost>
+ 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc>
+ 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0>
+ 800024fc: 10100693 li a3,257
+ 80002500: 04100713 li a4,65
+ 80002504: 00001617 auipc a2,0x1
+ 80002508: a3c60613 addi a2,a2,-1476 # 80002f40 <pass+0xb8>
+ 8000250c: fffff797 auipc a5,0xfffff
+ 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost>
+ 80002514: 03069693 slli a3,a3,0x30
+ 80002518: 0007b503 ld a0,0(a5)
+ 8000251c: 00160613 addi a2,a2,1
+ 80002520: 00d765b3 or a1,a4,a3
+ 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c>
+ 80002528: fffff717 auipc a4,0xfffff
+ 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost>
+ 80002530: 0007b703 ld a4,0(a5)
+ 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c>
+ 80002538: 00064703 lbu a4,0(a2)
+ 8000253c: fffff517 auipc a0,0xfffff
+ 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost>
+ 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c>
+ 80002548: f55ff06f j 8000249c <handle_fault+0x1a0>
+ 8000254c: 10100613 li a2,257
+ 80002550: 04100713 li a4,65
+ 80002554: 00001697 auipc a3,0x1
+ 80002558: 98c68693 addi a3,a3,-1652 # 80002ee0 <pass+0x58>
+ 8000255c: fffff797 auipc a5,0xfffff
+ 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost>
+ 80002564: 03061613 slli a2,a2,0x30
+ 80002568: 0007b503 ld a0,0(a5)
+ 8000256c: 00168693 addi a3,a3,1
+ 80002570: 00c765b3 or a1,a4,a2
+ 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c>
+ 80002578: fffff717 auipc a4,0xfffff
+ 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost>
+ 80002580: 0007b703 ld a4,0(a5)
+ 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c>
+ 80002588: 0006c703 lbu a4,0(a3)
+ 8000258c: fffff517 auipc a0,0xfffff
+ 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost>
+ 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c>
+ 80002598: f05ff06f j 8000249c <handle_fault+0x1a0>
+
+000000008000259c <handle_trap>:
+ 8000259c: 11853583 ld a1,280(a0)
+ 800025a0: f9010113 addi sp,sp,-112
+ 800025a4: 06813023 sd s0,96(sp)
+ 800025a8: 06113423 sd ra,104(sp)
+ 800025ac: 04913c23 sd s1,88(sp)
+ 800025b0: 05213823 sd s2,80(sp)
+ 800025b4: 05313423 sd s3,72(sp)
+ 800025b8: 05413023 sd s4,64(sp)
+ 800025bc: 03513c23 sd s5,56(sp)
+ 800025c0: 03613823 sd s6,48(sp)
+ 800025c4: 03713423 sd s7,40(sp)
+ 800025c8: 03813023 sd s8,32(sp)
+ 800025cc: 01913c23 sd s9,24(sp)
+ 800025d0: 01a13823 sd s10,16(sp)
+ 800025d4: 01b13423 sd s11,8(sp)
+ 800025d8: 00800793 li a5,8
+ 800025dc: 00050413 mv s0,a0
+ 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178>
+ 800025e4: 00200793 li a5,2
+ 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac>
+ 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c>
+ 800025f0: 00100713 li a4,1
+ 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64>
+ 800025f8: 00f00793 li a5,15
+ 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248>
+ 80002600: 11043503 ld a0,272(s0)
+ 80002604: cf9ff0ef jal ra,800022fc <handle_fault>
+ 80002608: 00040513 mv a0,s0
+ 8000260c: 06013403 ld s0,96(sp)
+ 80002610: 06813083 ld ra,104(sp)
+ 80002614: 05813483 ld s1,88(sp)
+ 80002618: 05013903 ld s2,80(sp)
+ 8000261c: 04813983 ld s3,72(sp)
+ 80002620: 04013a03 ld s4,64(sp)
+ 80002624: 03813a83 ld s5,56(sp)
+ 80002628: 03013b03 ld s6,48(sp)
+ 8000262c: 02813b83 ld s7,40(sp)
+ 80002630: 02013c03 ld s8,32(sp)
+ 80002634: 01813c83 ld s9,24(sp)
+ 80002638: 01013d03 ld s10,16(sp)
+ 8000263c: 00813d83 ld s11,8(sp)
+ 80002640: 07010113 addi sp,sp,112
+ 80002644: 9f9fd06f j 8000003c <pop_tf>
+ 80002648: 10853703 ld a4,264(a0)
+ 8000264c: 00377793 andi a5,a4,3
+ 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128>
+ 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0>
+ 80002658: 00301073 fssr zero
+ 8000265c: 00072703 lw a4,0(a4)
+ 80002660: 0007a783 lw a5,0(a5)
+ 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120>
+ 80002668: 10100513 li a0,257
+ 8000266c: 04100793 li a5,65
+ 80002670: 00001697 auipc a3,0x1
+ 80002674: 9a868693 addi a3,a3,-1624 # 80003018 <pass+0x190>
+ 80002678: fffff717 auipc a4,0xfffff
+ 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost>
+ 80002680: 03051513 slli a0,a0,0x30
+ 80002684: 00073583 ld a1,0(a4)
+ 80002688: 00168693 addi a3,a3,1
+ 8000268c: 00a7e633 or a2,a5,a0
+ 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108>
+ 80002694: fffff797 auipc a5,0xfffff
+ 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost>
+ 8000269c: 00073783 ld a5,0(a4)
+ 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8>
+ 800026a4: 0006c783 lbu a5,0(a3)
+ 800026a8: fffff597 auipc a1,0xfffff
+ 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost>
+ 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8>
+ 800026b4: 00300513 li a0,3
+ 800026b8: b79ff0ef jal ra,80002230 <terminate>
+ 800026bc: 00100513 li a0,1
+ 800026c0: b71ff0ef jal ra,80002230 <terminate>
+ 800026c4: 10100793 li a5,257
+ 800026c8: 00001617 auipc a2,0x1
+ 800026cc: 92860613 addi a2,a2,-1752 # 80002ff0 <pass+0x168>
+ 800026d0: 04100693 li a3,65
+ 800026d4: fffff717 auipc a4,0xfffff
+ 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost>
+ 800026dc: 03079793 slli a5,a5,0x30
+ 800026e0: 00073503 ld a0,0(a4)
+ 800026e4: 00160613 addi a2,a2,1
+ 800026e8: 00f6e5b3 or a1,a3,a5
+ 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164>
+ 800026f0: fffff697 auipc a3,0xfffff
+ 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost>
+ 800026f8: 00073683 ld a3,0(a4)
+ 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154>
+ 80002700: 00064683 lbu a3,0(a2)
+ 80002704: fffff517 auipc a0,0xfffff
+ 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost>
+ 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144>
+ 80002710: fa5ff06f j 800026b4 <handle_trap+0x118>
+ 80002714: 05052983 lw s3,80(a0)
+ 80002718: 00001437 lui s0,0x1
+ 8000271c: 00007d17 auipc s10,0x7
+ 80002720: cd4d0d13 addi s10,s10,-812 # 800093f0 <user_mapping>
+ 80002724: 00003b97 auipc s7,0x3
+ 80002728: 8dcb8b93 addi s7,s7,-1828 # 80005000 <pt>
+ 8000272c: 00040b37 lui s6,0x40
+ 80002730: ffe00ab7 lui s5,0xffe00
+ 80002734: 00007a17 auipc s4,0x7
+ 80002738: 0aca0a13 addi s4,s4,172 # 800097e0 <freelist_tail>
+ 8000273c: 0003f937 lui s2,0x3f
+ 80002740: 01c0006f j 8000275c <handle_trap+0x1c0>
+ 80002744: 00f73423 sd a5,8(a4)
+ 80002748: 00007717 auipc a4,0x7
+ 8000274c: 08f73c23 sd a5,152(a4) # 800097e0 <freelist_tail>
+ 80002750: 000017b7 lui a5,0x1
+ 80002754: 00f40433 add s0,s0,a5
+ 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308>
+ 8000275c: 00c45793 srli a5,s0,0xc
+ 80002760: 00479493 slli s1,a5,0x4
+ 80002764: 009d0733 add a4,s10,s1
+ 80002768: 00073703 ld a4,0(a4)
+ 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4>
+ 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00>
+ 80002774: 00379793 slli a5,a5,0x3
+ 80002778: 00fb87b3 add a5,s7,a5
+ 8000277c: 0007bc03 ld s8,0(a5)
+ 80002780: 040c7793 andi a5,s8,64
+ 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0>
+ 80002788: 100b2cf3 csrrs s9,sstatus,s6
+ 8000278c: 01540db3 add s11,s0,s5
+ 80002790: 00001637 lui a2,0x1
+ 80002794: 000d8593 mv a1,s11
+ 80002798: 00040513 mv a0,s0
+ 8000279c: 975ff0ef jal ra,80002110 <memcmp>
+ 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220>
+ 800027a4: 080c7c13 andi s8,s8,128
+ 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298>
+ 800027ac: 00001637 lui a2,0x1
+ 800027b0: 000d8593 mv a1,s11
+ 800027b4: 00040513 mv a0,s0
+ 800027b8: 849ff0ef jal ra,80002000 <memcpy>
+ 800027bc: 009d07b3 add a5,s10,s1
+ 800027c0: 100c9073 csrw sstatus,s9
+ 800027c4: 000a3703 ld a4,0(s4)
+ 800027c8: 0007b023 sd zero,0(a5)
+ 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8>
+ 800027d0: 00007717 auipc a4,0x7
+ 800027d4: 00f73823 sd a5,16(a4) # 800097e0 <freelist_tail>
+ 800027d8: 00007717 auipc a4,0x7
+ 800027dc: 00f73823 sd a5,16(a4) # 800097e8 <freelist_head>
+ 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4>
+ 800027e4: 10100793 li a5,257
+ 800027e8: 04100613 li a2,65
+ 800027ec: 00001697 auipc a3,0x1
+ 800027f0: 85c68693 addi a3,a3,-1956 # 80003048 <pass+0x1c0>
+ 800027f4: fffff717 auipc a4,0xfffff
+ 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost>
+ 800027fc: 03079793 slli a5,a5,0x30
+ 80002800: 00073503 ld a0,0(a4)
+ 80002804: 00168693 addi a3,a3,1
+ 80002808: 00f665b3 or a1,a2,a5
+ 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284>
+ 80002810: fffff617 auipc a2,0xfffff
+ 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost>
+ 80002818: 00073603 ld a2,0(a4)
+ 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274>
+ 80002820: 0006c603 lbu a2,0(a3)
+ 80002824: ffffe517 auipc a0,0xffffe
+ 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost>
+ 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264>
+ 80002830: e85ff06f j 800026b4 <handle_trap+0x118>
+ 80002834: 10100793 li a5,257
+ 80002838: 04100613 li a2,65
+ 8000283c: 00000697 auipc a3,0x0
+ 80002840: 77c68693 addi a3,a3,1916 # 80002fb8 <pass+0x130>
+ 80002844: ffffe717 auipc a4,0xffffe
+ 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost>
+ 8000284c: 03079793 slli a5,a5,0x30
+ 80002850: 00168693 addi a3,a3,1
+ 80002854: 00f665b3 or a1,a2,a5
+ 80002858: 00073603 ld a2,0(a4)
+ 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310>
+ 80002860: ffffe617 auipc a2,0xffffe
+ 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost>
+ 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc>
+ 8000286c: 10100793 li a5,257
+ 80002870: 04100613 li a2,65
+ 80002874: 00000697 auipc a3,0x0
+ 80002878: 70c68693 addi a3,a3,1804 # 80002f80 <pass+0xf8>
+ 8000287c: ffffe717 auipc a4,0xffffe
+ 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost>
+ 80002884: 03079793 slli a5,a5,0x30
+ 80002888: 00168693 addi a3,a3,1
+ 8000288c: 00f665b3 or a1,a2,a5
+ 80002890: 00073603 ld a2,0(a4)
+ 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324>
+ 80002898: ffffe617 auipc a2,0xffffe
+ 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost>
+ 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4>
+ 800028a4: 00098513 mv a0,s3
+ 800028a8: 989ff0ef jal ra,80002230 <terminate>
+ 800028ac: 0006c603 lbu a2,0(a3)
+ 800028b0: ffffe517 auipc a0,0xffffe
+ 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost>
+ 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4>
+ 800028bc: df9ff06f j 800026b4 <handle_trap+0x118>
+ 800028c0: 0006c603 lbu a2,0(a3)
+ 800028c4: ffffe517 auipc a0,0xffffe
+ 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost>
+ 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec>
+ 800028d0: de5ff06f j 800026b4 <handle_trap+0x118>
+
+00000000800028d4 <vm_boot>:
+ 800028d4: f14027f3 csrr a5,mhartid
+ 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198>
+ 800028dc: 00003697 auipc a3,0x3
+ 800028e0: 72468693 addi a3,a3,1828 # 80006000 <pt+0x1000>
+ 800028e4: 00004717 auipc a4,0x4
+ 800028e8: 71c70713 addi a4,a4,1820 # 80007000 <pt+0x2000>
+ 800028ec: 00c6d693 srli a3,a3,0xc
+ 800028f0: 00c75713 srli a4,a4,0xc
+ 800028f4: 00005797 auipc a5,0x5
+ 800028f8: 70c78793 addi a5,a5,1804 # 80008000 <pt+0x3000>
+ 800028fc: 00a69693 slli a3,a3,0xa
+ 80002900: 00a71713 slli a4,a4,0xa
+ 80002904: 0016e693 ori a3,a3,1
+ 80002908: 00176713 ori a4,a4,1
+ 8000290c: 00c7d793 srli a5,a5,0xc
+ 80002910: 00002897 auipc a7,0x2
+ 80002914: 6ed8b823 sd a3,1776(a7) # 80005000 <pt>
+ 80002918: 00a79793 slli a5,a5,0xa
+ 8000291c: 00003697 auipc a3,0x3
+ 80002920: 6ce6be23 sd a4,1756(a3) # 80005ff8 <pt+0xff8>
+ 80002924: 20000737 lui a4,0x20000
+ 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31>
+ 8000292c: fff00593 li a1,-1
+ 80002930: 0017e793 ori a5,a5,1
+ 80002934: 00002617 auipc a2,0x2
+ 80002938: 6cc60613 addi a2,a2,1740 # 80005000 <pt>
+ 8000293c: ed010113 addi sp,sp,-304
+ 80002940: 03f59813 slli a6,a1,0x3f
+ 80002944: 00005697 auipc a3,0x5
+ 80002948: 6ae6ba23 sd a4,1716(a3) # 80007ff8 <pt+0x2ff8>
+ 8000294c: 00003717 auipc a4,0x3
+ 80002950: 6af73a23 sd a5,1716(a4) # 80006000 <pt+0x1000>
+ 80002954: 00c65793 srli a5,a2,0xc
+ 80002958: 12113423 sd ra,296(sp)
+ 8000295c: 12813023 sd s0,288(sp)
+ 80002960: 0107e7b3 or a5,a5,a6
+ 80002964: 18079073 csrw satp,a5
+ 80002968: 01f00793 li a5,31
+ 8000296c: 00000297 auipc t0,0x0
+ 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac>
+ 80002974: 305292f3 csrrw t0,mtvec,t0
+ 80002978: 3b059073 csrw pmpaddr0,a1
+ 8000297c: 3a079073 csrw pmpcfg0,a5
+ 80002980: bff00813 li a6,-1025
+ 80002984: 01581813 slli a6,a6,0x15
+ 80002988: ffffd797 auipc a5,0xffffd
+ 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry>
+ 80002990: 010787b3 add a5,a5,a6
+ 80002994: 10579073 csrw stvec,a5
+ 80002998: 340027f3 csrr a5,mscratch
+ 8000299c: 010787b3 add a5,a5,a6
+ 800029a0: 14079073 csrw sscratch,a5
+ 800029a4: 0000b7b7 lui a5,0xb
+ 800029a8: 1007879b addiw a5,a5,256
+ 800029ac: 30279073 csrw medeleg,a5
+ 800029b0: 0001e7b7 lui a5,0x1e
+ 800029b4: 30079073 csrw mstatus,a5
+ 800029b8: 30405073 csrwi mie,0
+ 800029bc: 00006697 auipc a3,0x6
+ 800029c0: 64468693 addi a3,a3,1604 # 80009000 <freelist_nodes>
+ 800029c4: 010687b3 add a5,a3,a6
+ 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20>
+ 800029cc: 00007617 auipc a2,0x7
+ 800029d0: e0f63e23 sd a5,-484(a2) # 800097e8 <freelist_head>
+ 800029d4: 00007797 auipc a5,0x7
+ 800029d8: e0e7b623 sd a4,-500(a5) # 800097e0 <freelist_tail>
+ 800029dc: 00007317 auipc t1,0x7
+ 800029e0: a1430313 addi t1,t1,-1516 # 800093f0 <user_mapping>
+ 800029e4: 01d00793 li a5,29
+ 800029e8: 000808b7 lui a7,0x80
+ 800029ec: 01080813 addi a6,a6,16
+ 800029f0: 03f7871b addiw a4,a5,63
+ 800029f4: 02071713 slli a4,a4,0x20
+ 800029f8: 0017d61b srliw a2,a5,0x1
+ 800029fc: 02075713 srli a4,a4,0x20
+ 80002a00: 00c7c7b3 xor a5,a5,a2
+ 80002a04: 01170733 add a4,a4,a7
+ 80002a08: 010685b3 add a1,a3,a6
+ 80002a0c: 00c71713 slli a4,a4,0xc
+ 80002a10: 0057979b slliw a5,a5,0x5
+ 80002a14: 00e6b023 sd a4,0(a3)
+ 80002a18: 00b6b423 sd a1,8(a3)
+ 80002a1c: 0207f793 andi a5,a5,32
+ 80002a20: 01068693 addi a3,a3,16
+ 80002a24: 00c7e7b3 or a5,a5,a2
+ 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c>
+ 80002a2c: 00050413 mv s0,a0
+ 80002a30: 12000613 li a2,288
+ 80002a34: 00000593 li a1,0
+ 80002a38: 00010513 mv a0,sp
+ 80002a3c: 00007797 auipc a5,0x7
+ 80002a40: 9a07b623 sd zero,-1620(a5) # 800093e8 <freelist_nodes+0x3e8>
+ 80002a44: e18ff0ef jal ra,8000205c <memset>
+ 80002a48: 800007b7 lui a5,0x80000
+ 80002a4c: 00f40433 add s0,s0,a5
+ 80002a50: 00010513 mv a0,sp
+ 80002a54: 10813423 sd s0,264(sp)
+ 80002a58: de4fd0ef jal ra,8000003c <pop_tf>
+ 80002a5c: 12813083 ld ra,296(sp)
+ 80002a60: 12013403 ld s0,288(sp)
+ 80002a64: 13010113 addi sp,sp,304
+ 80002a68: 00008067 ret
+ 80002a6c: 0df727b7 lui a5,0xdf72
+ 80002a70: 000805b7 lui a1,0x80
+ 80002a74: c6d78793 addi a5,a5,-915 # df71c6d <_start-0x7208e393>
+ 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004>
+ 80002a7c: 00100613 li a2,1
+ 80002a80: 00b7f733 and a4,a5,a1
+ 80002a84: 01f61613 slli a2,a2,0x1f
+ 80002a88: 0017f693 andi a3,a5,1
+ 80002a8c: 02079793 slli a5,a5,0x20
+ 80002a90: 0207d793 srli a5,a5,0x20
+ 80002a94: 00c70733 add a4,a4,a2
+ 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8>
+ 80002a9c: 0007202f amoadd.w zero,zero,(a4)
+ 80002aa0: 0017d793 srli a5,a5,0x1
+ 80002aa4: 00b7f733 and a4,a5,a1
+ 80002aa8: 0017f693 andi a3,a5,1
+ 80002aac: 02079793 slli a5,a5,0x20
+ 80002ab0: 0207d793 srli a5,a5,0x20
+ 80002ab4: 00c70733 add a4,a4,a2
+ 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8>
+ 80002abc: 00072003 lw zero,0(a4)
+ 80002ac0: 0017d793 srli a5,a5,0x1
+ 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0>
+
+0000000080002ac8 <userstart>:
+ 80002ac8: 00301073 fssr zero
+
+0000000080002acc <test_2>:
+ 80002acc: 00200193 li gp,2
+ 80002ad0: 00001517 auipc a0,0x1
+ 80002ad4: 53050513 addi a0,a0,1328 # 80004000 <test_2_data>
+ 80002ad8: 00053007 fld ft0,0(a0)
+ 80002adc: 00853087 fld ft1,8(a0)
+ 80002ae0: 01053107 fld ft2,16(a0)
+ 80002ae4: 01853683 ld a3,24(a0)
+ 80002ae8: 2a1001d3 fmin.d ft3,ft0,ft1
+ 80002aec: e2018553 fmv.x.d a0,ft3
+ 80002af0: 001015f3 fsflags a1,zero
+ 80002af4: 00000613 li a2,0
+ 80002af8: 38d51063 bne a0,a3,80002e78 <fail>
+ 80002afc: 36c59e63 bne a1,a2,80002e78 <fail>
+
+0000000080002b00 <test_3>:
+ 80002b00: 00300193 li gp,3
+ 80002b04: 00001517 auipc a0,0x1
+ 80002b08: 51c50513 addi a0,a0,1308 # 80004020 <test_3_data>
+ 80002b0c: 00053007 fld ft0,0(a0)
+ 80002b10: 00853087 fld ft1,8(a0)
+ 80002b14: 01053107 fld ft2,16(a0)
+ 80002b18: 01853683 ld a3,24(a0)
+ 80002b1c: 2a1001d3 fmin.d ft3,ft0,ft1
+ 80002b20: e2018553 fmv.x.d a0,ft3
+ 80002b24: 001015f3 fsflags a1,zero
+ 80002b28: 00000613 li a2,0
+ 80002b2c: 34d51663 bne a0,a3,80002e78 <fail>
+ 80002b30: 34c59463 bne a1,a2,80002e78 <fail>
+
+0000000080002b34 <test_4>:
+ 80002b34: 00400193 li gp,4
+ 80002b38: 00001517 auipc a0,0x1
+ 80002b3c: 50850513 addi a0,a0,1288 # 80004040 <test_4_data>
+ 80002b40: 00053007 fld ft0,0(a0)
+ 80002b44: 00853087 fld ft1,8(a0)
+ 80002b48: 01053107 fld ft2,16(a0)
+ 80002b4c: 01853683 ld a3,24(a0)
+ 80002b50: 2a1001d3 fmin.d ft3,ft0,ft1
+ 80002b54: e2018553 fmv.x.d a0,ft3
+ 80002b58: 001015f3 fsflags a1,zero
+ 80002b5c: 00000613 li a2,0
+ 80002b60: 30d51c63 bne a0,a3,80002e78 <fail>
+ 80002b64: 30c59a63 bne a1,a2,80002e78 <fail>
+
+0000000080002b68 <test_5>:
+ 80002b68: 00500193 li gp,5
+ 80002b6c: 00001517 auipc a0,0x1
+ 80002b70: 4f450513 addi a0,a0,1268 # 80004060 <test_5_data>
+ 80002b74: 00053007 fld ft0,0(a0)
+ 80002b78: 00853087 fld ft1,8(a0)
+ 80002b7c: 01053107 fld ft2,16(a0)
+ 80002b80: 01853683 ld a3,24(a0)
+ 80002b84: 2a1001d3 fmin.d ft3,ft0,ft1
+ 80002b88: e2018553 fmv.x.d a0,ft3
+ 80002b8c: 001015f3 fsflags a1,zero
+ 80002b90: 00000613 li a2,0
+ 80002b94: 2ed51263 bne a0,a3,80002e78 <fail>
+ 80002b98: 2ec59063 bne a1,a2,80002e78 <fail>
+
+0000000080002b9c <test_6>:
+ 80002b9c: 00600193 li gp,6
+ 80002ba0: 00001517 auipc a0,0x1
+ 80002ba4: 4e050513 addi a0,a0,1248 # 80004080 <test_6_data>
+ 80002ba8: 00053007 fld ft0,0(a0)
+ 80002bac: 00853087 fld ft1,8(a0)
+ 80002bb0: 01053107 fld ft2,16(a0)
+ 80002bb4: 01853683 ld a3,24(a0)
+ 80002bb8: 2a1001d3 fmin.d ft3,ft0,ft1
+ 80002bbc: e2018553 fmv.x.d a0,ft3
+ 80002bc0: 001015f3 fsflags a1,zero
+ 80002bc4: 00000613 li a2,0
+ 80002bc8: 2ad51863 bne a0,a3,80002e78 <fail>
+ 80002bcc: 2ac59663 bne a1,a2,80002e78 <fail>
+
+0000000080002bd0 <test_7>:
+ 80002bd0: 00700193 li gp,7
+ 80002bd4: 00001517 auipc a0,0x1
+ 80002bd8: 4cc50513 addi a0,a0,1228 # 800040a0 <test_7_data>
+ 80002bdc: 00053007 fld ft0,0(a0)
+ 80002be0: 00853087 fld ft1,8(a0)
+ 80002be4: 01053107 fld ft2,16(a0)
+ 80002be8: 01853683 ld a3,24(a0)
+ 80002bec: 2a1001d3 fmin.d ft3,ft0,ft1
+ 80002bf0: e2018553 fmv.x.d a0,ft3
+ 80002bf4: 001015f3 fsflags a1,zero
+ 80002bf8: 00000613 li a2,0
+ 80002bfc: 26d51e63 bne a0,a3,80002e78 <fail>
+ 80002c00: 26c59c63 bne a1,a2,80002e78 <fail>
+
+0000000080002c04 <test_12>:
+ 80002c04: 00c00193 li gp,12
+ 80002c08: 00001517 auipc a0,0x1
+ 80002c0c: 4b850513 addi a0,a0,1208 # 800040c0 <test_12_data>
+ 80002c10: 00053007 fld ft0,0(a0)
+ 80002c14: 00853087 fld ft1,8(a0)
+ 80002c18: 01053107 fld ft2,16(a0)
+ 80002c1c: 01853683 ld a3,24(a0)
+ 80002c20: 2a1011d3 fmax.d ft3,ft0,ft1
+ 80002c24: e2018553 fmv.x.d a0,ft3
+ 80002c28: 001015f3 fsflags a1,zero
+ 80002c2c: 00000613 li a2,0
+ 80002c30: 24d51463 bne a0,a3,80002e78 <fail>
+ 80002c34: 24c59263 bne a1,a2,80002e78 <fail>
+
+0000000080002c38 <test_13>:
+ 80002c38: 00d00193 li gp,13
+ 80002c3c: 00001517 auipc a0,0x1
+ 80002c40: 4a450513 addi a0,a0,1188 # 800040e0 <test_13_data>
+ 80002c44: 00053007 fld ft0,0(a0)
+ 80002c48: 00853087 fld ft1,8(a0)
+ 80002c4c: 01053107 fld ft2,16(a0)
+ 80002c50: 01853683 ld a3,24(a0)
+ 80002c54: 2a1011d3 fmax.d ft3,ft0,ft1
+ 80002c58: e2018553 fmv.x.d a0,ft3
+ 80002c5c: 001015f3 fsflags a1,zero
+ 80002c60: 00000613 li a2,0
+ 80002c64: 20d51a63 bne a0,a3,80002e78 <fail>
+ 80002c68: 20c59863 bne a1,a2,80002e78 <fail>
+
+0000000080002c6c <test_14>:
+ 80002c6c: 00e00193 li gp,14
+ 80002c70: 00001517 auipc a0,0x1
+ 80002c74: 49050513 addi a0,a0,1168 # 80004100 <test_14_data>
+ 80002c78: 00053007 fld ft0,0(a0)
+ 80002c7c: 00853087 fld ft1,8(a0)
+ 80002c80: 01053107 fld ft2,16(a0)
+ 80002c84: 01853683 ld a3,24(a0)
+ 80002c88: 2a1011d3 fmax.d ft3,ft0,ft1
+ 80002c8c: e2018553 fmv.x.d a0,ft3
+ 80002c90: 001015f3 fsflags a1,zero
+ 80002c94: 00000613 li a2,0
+ 80002c98: 1ed51063 bne a0,a3,80002e78 <fail>
+ 80002c9c: 1cc59e63 bne a1,a2,80002e78 <fail>
+
+0000000080002ca0 <test_15>:
+ 80002ca0: 00f00193 li gp,15
+ 80002ca4: 00001517 auipc a0,0x1
+ 80002ca8: 47c50513 addi a0,a0,1148 # 80004120 <test_15_data>
+ 80002cac: 00053007 fld ft0,0(a0)
+ 80002cb0: 00853087 fld ft1,8(a0)
+ 80002cb4: 01053107 fld ft2,16(a0)
+ 80002cb8: 01853683 ld a3,24(a0)
+ 80002cbc: 2a1011d3 fmax.d ft3,ft0,ft1
+ 80002cc0: e2018553 fmv.x.d a0,ft3
+ 80002cc4: 001015f3 fsflags a1,zero
+ 80002cc8: 00000613 li a2,0
+ 80002ccc: 1ad51663 bne a0,a3,80002e78 <fail>
+ 80002cd0: 1ac59463 bne a1,a2,80002e78 <fail>
+
+0000000080002cd4 <test_16>:
+ 80002cd4: 01000193 li gp,16
+ 80002cd8: 00001517 auipc a0,0x1
+ 80002cdc: 46850513 addi a0,a0,1128 # 80004140 <test_16_data>
+ 80002ce0: 00053007 fld ft0,0(a0)
+ 80002ce4: 00853087 fld ft1,8(a0)
+ 80002ce8: 01053107 fld ft2,16(a0)
+ 80002cec: 01853683 ld a3,24(a0)
+ 80002cf0: 2a1011d3 fmax.d ft3,ft0,ft1
+ 80002cf4: e2018553 fmv.x.d a0,ft3
+ 80002cf8: 001015f3 fsflags a1,zero
+ 80002cfc: 00000613 li a2,0
+ 80002d00: 16d51c63 bne a0,a3,80002e78 <fail>
+ 80002d04: 16c59a63 bne a1,a2,80002e78 <fail>
+
+0000000080002d08 <test_17>:
+ 80002d08: 01100193 li gp,17
+ 80002d0c: 00001517 auipc a0,0x1
+ 80002d10: 45450513 addi a0,a0,1108 # 80004160 <test_17_data>
+ 80002d14: 00053007 fld ft0,0(a0)
+ 80002d18: 00853087 fld ft1,8(a0)
+ 80002d1c: 01053107 fld ft2,16(a0)
+ 80002d20: 01853683 ld a3,24(a0)
+ 80002d24: 2a1011d3 fmax.d ft3,ft0,ft1
+ 80002d28: e2018553 fmv.x.d a0,ft3
+ 80002d2c: 001015f3 fsflags a1,zero
+ 80002d30: 00000613 li a2,0
+ 80002d34: 14d51263 bne a0,a3,80002e78 <fail>
+ 80002d38: 14c59063 bne a1,a2,80002e78 <fail>
+
+0000000080002d3c <test_20>:
+ 80002d3c: 01400193 li gp,20
+ 80002d40: 00001517 auipc a0,0x1
+ 80002d44: 44050513 addi a0,a0,1088 # 80004180 <test_20_data>
+ 80002d48: 00053007 fld ft0,0(a0)
+ 80002d4c: 00853087 fld ft1,8(a0)
+ 80002d50: 01053107 fld ft2,16(a0)
+ 80002d54: 01853683 ld a3,24(a0)
+ 80002d58: 2a1011d3 fmax.d ft3,ft0,ft1
+ 80002d5c: e2018553 fmv.x.d a0,ft3
+ 80002d60: 001015f3 fsflags a1,zero
+ 80002d64: 01000613 li a2,16
+ 80002d68: 10d51863 bne a0,a3,80002e78 <fail>
+ 80002d6c: 10c59663 bne a1,a2,80002e78 <fail>
+
+0000000080002d70 <test_21>:
+ 80002d70: 01500193 li gp,21
+ 80002d74: 00001517 auipc a0,0x1
+ 80002d78: 42c50513 addi a0,a0,1068 # 800041a0 <test_21_data>
+ 80002d7c: 00053007 fld ft0,0(a0)
+ 80002d80: 00853087 fld ft1,8(a0)
+ 80002d84: 01053107 fld ft2,16(a0)
+ 80002d88: 01853683 ld a3,24(a0)
+ 80002d8c: 2a1011d3 fmax.d ft3,ft0,ft1
+ 80002d90: e2018553 fmv.x.d a0,ft3
+ 80002d94: 001015f3 fsflags a1,zero
+ 80002d98: 00000613 li a2,0
+ 80002d9c: 0cd51e63 bne a0,a3,80002e78 <fail>
+ 80002da0: 0cc59c63 bne a1,a2,80002e78 <fail>
+
+0000000080002da4 <test_30>:
+ 80002da4: 01e00193 li gp,30
+ 80002da8: 00001517 auipc a0,0x1
+ 80002dac: 41850513 addi a0,a0,1048 # 800041c0 <test_30_data>
+ 80002db0: 00053007 fld ft0,0(a0)
+ 80002db4: 00853087 fld ft1,8(a0)
+ 80002db8: 01053107 fld ft2,16(a0)
+ 80002dbc: 01853683 ld a3,24(a0)
+ 80002dc0: 2a1001d3 fmin.d ft3,ft0,ft1
+ 80002dc4: e2018553 fmv.x.d a0,ft3
+ 80002dc8: 001015f3 fsflags a1,zero
+ 80002dcc: 00000613 li a2,0
+ 80002dd0: 0ad51463 bne a0,a3,80002e78 <fail>
+ 80002dd4: 0ac59263 bne a1,a2,80002e78 <fail>
+
+0000000080002dd8 <test_31>:
+ 80002dd8: 01f00193 li gp,31
+ 80002ddc: 00001517 auipc a0,0x1
+ 80002de0: 40450513 addi a0,a0,1028 # 800041e0 <test_31_data>
+ 80002de4: 00053007 fld ft0,0(a0)
+ 80002de8: 00853087 fld ft1,8(a0)
+ 80002dec: 01053107 fld ft2,16(a0)
+ 80002df0: 01853683 ld a3,24(a0)
+ 80002df4: 2a1001d3 fmin.d ft3,ft0,ft1
+ 80002df8: e2018553 fmv.x.d a0,ft3
+ 80002dfc: 001015f3 fsflags a1,zero
+ 80002e00: 00000613 li a2,0
+ 80002e04: 06d51a63 bne a0,a3,80002e78 <fail>
+ 80002e08: 06c59863 bne a1,a2,80002e78 <fail>
+
+0000000080002e0c <test_32>:
+ 80002e0c: 02000193 li gp,32
+ 80002e10: 00001517 auipc a0,0x1
+ 80002e14: 3f050513 addi a0,a0,1008 # 80004200 <test_32_data>
+ 80002e18: 00053007 fld ft0,0(a0)
+ 80002e1c: 00853087 fld ft1,8(a0)
+ 80002e20: 01053107 fld ft2,16(a0)
+ 80002e24: 01853683 ld a3,24(a0)
+ 80002e28: 2a1011d3 fmax.d ft3,ft0,ft1
+ 80002e2c: e2018553 fmv.x.d a0,ft3
+ 80002e30: 001015f3 fsflags a1,zero
+ 80002e34: 00000613 li a2,0
+ 80002e38: 04d51063 bne a0,a3,80002e78 <fail>
+ 80002e3c: 02c59e63 bne a1,a2,80002e78 <fail>
+
+0000000080002e40 <test_33>:
+ 80002e40: 02100193 li gp,33
+ 80002e44: 00001517 auipc a0,0x1
+ 80002e48: 3dc50513 addi a0,a0,988 # 80004220 <test_33_data>
+ 80002e4c: 00053007 fld ft0,0(a0)
+ 80002e50: 00853087 fld ft1,8(a0)
+ 80002e54: 01053107 fld ft2,16(a0)
+ 80002e58: 01853683 ld a3,24(a0)
+ 80002e5c: 2a1011d3 fmax.d ft3,ft0,ft1
+ 80002e60: e2018553 fmv.x.d a0,ft3
+ 80002e64: 001015f3 fsflags a1,zero
+ 80002e68: 00000613 li a2,0
+ 80002e6c: 00d51663 bne a0,a3,80002e78 <fail>
+ 80002e70: 00c59463 bne a1,a2,80002e78 <fail>
+ 80002e74: 00301a63 bne zero,gp,80002e88 <pass>
+
+0000000080002e78 <fail>:
+ 80002e78: 00119513 slli a0,gp,0x1
+ 80002e7c: 00050063 beqz a0,80002e7c <fail+0x4>
+ 80002e80: 00156513 ori a0,a0,1
+ 80002e84: 00000073 ecall
+
+0000000080002e88 <pass>:
+ 80002e88: 00100513 li a0,1
+ 80002e8c: 00000073 ecall
+ 80002e90: c0001073 unimp
+
+Disassembly of section .data:
+
+0000000080004000 <test_2_data>:
+ 80004000: 0000 unimp
+ 80004002: 0000 unimp
+ 80004004: 0000 unimp
+ 80004006: 4004 lw s1,0(s0)
+ 80004008: 0000 unimp
+ 8000400a: 0000 unimp
+ 8000400c: 0000 unimp
+ 8000400e: 3ff0 fld fa2,248(a5)
+ 80004010: 0000 unimp
+ 80004012: 0000 unimp
+ 80004014: 0000 unimp
+ 80004016: 0000 unimp
+ 80004018: 0000 unimp
+ 8000401a: 0000 unimp
+ 8000401c: 0000 unimp
+ 8000401e: 3ff0 fld fa2,248(a5)
+
+0000000080004020 <test_3_data>:
+ 80004020: 6666 ld a2,88(sp)
+ 80004022: 6666 ld a2,88(sp)
+ 80004024: 4c66 lw s8,88(sp)
+ 80004026: 999ac093 xori ra,s5,-1639
+ 8000402a: 9999 andi a1,a1,-26
+ 8000402c: 9999 andi a1,a1,-26
+ 8000402e: 3ff1 addiw t6,t6,-4
+ 80004030: 0000 unimp
+ 80004032: 0000 unimp
+ 80004034: 0000 unimp
+ 80004036: 0000 unimp
+ 80004038: 6666 ld a2,88(sp)
+ 8000403a: 6666 ld a2,88(sp)
+ 8000403c: 4c66 lw s8,88(sp)
+ 8000403e: xori ra,s5,-1639
+
+0000000080004040 <test_4_data>:
+ 80004040: 999a add s3,s3,t1
+ 80004042: 9999 andi a1,a1,-26
+ 80004044: 9999 andi a1,a1,-26
+ 80004046: 3ff1 addiw t6,t6,-4
+ 80004048: 6666 ld a2,88(sp)
+ 8000404a: 6666 ld a2,88(sp)
+ 8000404c: 4c66 lw s8,88(sp)
+ 8000404e: 0000c093 xori ra,ra,0
+ 80004052: 0000 unimp
+ 80004054: 0000 unimp
+ 80004056: 0000 unimp
+ 80004058: 6666 ld a2,88(sp)
+ 8000405a: 6666 ld a2,88(sp)
+ 8000405c: 4c66 lw s8,88(sp)
+ 8000405e: not ra,t6
+
+0000000080004060 <test_5_data>:
+ 80004060: ffff 0xffff
+ 80004062: ffff 0xffff
+ 80004064: ffff 0xffff
+ 80004066: 7fff 0x7fff
+ 80004068: 6666 ld a2,88(sp)
+ 8000406a: 6666 ld a2,88(sp)
+ 8000406c: 4c66 lw s8,88(sp)
+ 8000406e: 0000c093 xori ra,ra,0
+ 80004072: 0000 unimp
+ 80004074: 0000 unimp
+ 80004076: 0000 unimp
+ 80004078: 6666 ld a2,88(sp)
+ 8000407a: 6666 ld a2,88(sp)
+ 8000407c: 4c66 lw s8,88(sp)
+ 8000407e: xori ra,gp,-689
+
+0000000080004080 <test_6_data>:
+ 80004080: d4f1 beqz s1,8000404c <test_4_data+0xc>
+ 80004082: 53c8 lw a0,36(a5)
+ 80004084: 400921fb 0x400921fb
+ 80004088: 8c3a mv s8,a4
+ 8000408a: e230 sd a2,64(a2)
+ 8000408c: 798e ld s3,224(sp)
+ 8000408e: 3e45 addiw t3,t3,-15
+ 80004090: 0000 unimp
+ 80004092: 0000 unimp
+ 80004094: 0000 unimp
+ 80004096: 0000 unimp
+ 80004098: 8c3a mv s8,a4
+ 8000409a: e230 sd a2,64(a2)
+ 8000409c: 798e ld s3,224(sp)
+ 8000409e: 3e45 addiw t3,t3,-15
+
+00000000800040a0 <test_7_data>:
+ 800040a0: 0000 unimp
+ 800040a2: 0000 unimp
+ 800040a4: 0000 unimp
+ 800040a6: bff0 fsd fa2,248(a5)
+ 800040a8: 0000 unimp
+ 800040aa: 0000 unimp
+ 800040ac: 0000 unimp
+ 800040ae: c000 sw s0,0(s0)
+ 800040b0: 0000 unimp
+ 800040b2: 0000 unimp
+ 800040b4: 0000 unimp
+ 800040b6: 0000 unimp
+ 800040b8: 0000 unimp
+ 800040ba: 0000 unimp
+ 800040bc: 0000 unimp
+ 800040be: c000 sw s0,0(s0)
+
+00000000800040c0 <test_12_data>:
+ 800040c0: 0000 unimp
+ 800040c2: 0000 unimp
+ 800040c4: 0000 unimp
+ 800040c6: 4004 lw s1,0(s0)
+ 800040c8: 0000 unimp
+ 800040ca: 0000 unimp
+ 800040cc: 0000 unimp
+ 800040ce: 3ff0 fld fa2,248(a5)
+ 800040d0: 0000 unimp
+ 800040d2: 0000 unimp
+ 800040d4: 0000 unimp
+ 800040d6: 0000 unimp
+ 800040d8: 0000 unimp
+ 800040da: 0000 unimp
+ 800040dc: 0000 unimp
+ 800040de: 4004 lw s1,0(s0)
+
+00000000800040e0 <test_13_data>:
+ 800040e0: 6666 ld a2,88(sp)
+ 800040e2: 6666 ld a2,88(sp)
+ 800040e4: 4c66 lw s8,88(sp)
+ 800040e6: 999ac093 xori ra,s5,-1639
+ 800040ea: 9999 andi a1,a1,-26
+ 800040ec: 9999 andi a1,a1,-26
+ 800040ee: 3ff1 addiw t6,t6,-4
+ 800040f0: 0000 unimp
+ 800040f2: 0000 unimp
+ 800040f4: 0000 unimp
+ 800040f6: 0000 unimp
+ 800040f8: 999a add s3,s3,t1
+ 800040fa: 9999 andi a1,a1,-26
+ 800040fc: 9999 andi a1,a1,-26
+ 800040fe: 3ff1 addiw t6,t6,-4
+
+0000000080004100 <test_14_data>:
+ 80004100: 999a add s3,s3,t1
+ 80004102: 9999 andi a1,a1,-26
+ 80004104: 9999 andi a1,a1,-26
+ 80004106: 3ff1 addiw t6,t6,-4
+ 80004108: 6666 ld a2,88(sp)
+ 8000410a: 6666 ld a2,88(sp)
+ 8000410c: 4c66 lw s8,88(sp)
+ 8000410e: 0000c093 xori ra,ra,0
+ 80004112: 0000 unimp
+ 80004114: 0000 unimp
+ 80004116: 0000 unimp
+ 80004118: 999a add s3,s3,t1
+ 8000411a: 9999 andi a1,a1,-26
+ 8000411c: 9999 andi a1,a1,-26
+ 8000411e: 3ff1 addiw t6,t6,-4
+
+0000000080004120 <test_15_data>:
+ 80004120: ffff 0xffff
+ 80004122: ffff 0xffff
+ 80004124: ffff 0xffff
+ 80004126: 7fff 0x7fff
+ 80004128: 6666 ld a2,88(sp)
+ 8000412a: 6666 ld a2,88(sp)
+ 8000412c: 4c66 lw s8,88(sp)
+ 8000412e: 0000c093 xori ra,ra,0
+ 80004132: 0000 unimp
+ 80004134: 0000 unimp
+ 80004136: 0000 unimp
+ 80004138: 6666 ld a2,88(sp)
+ 8000413a: 6666 ld a2,88(sp)
+ 8000413c: 4c66 lw s8,88(sp)
+ 8000413e: xori ra,gp,-689
+
+0000000080004140 <test_16_data>:
+ 80004140: d4f1 beqz s1,8000410c <test_14_data+0xc>
+ 80004142: 53c8 lw a0,36(a5)
+ 80004144: 400921fb 0x400921fb
+ 80004148: 8c3a mv s8,a4
+ 8000414a: e230 sd a2,64(a2)
+ 8000414c: 798e ld s3,224(sp)
+ 8000414e: 3e45 addiw t3,t3,-15
+ 80004150: 0000 unimp
+ 80004152: 0000 unimp
+ 80004154: 0000 unimp
+ 80004156: 0000 unimp
+ 80004158: d4f1 beqz s1,80004124 <test_15_data+0x4>
+ 8000415a: 53c8 lw a0,36(a5)
+ 8000415c: 400921fb 0x400921fb
+
+0000000080004160 <test_17_data>:
+ 80004160: 0000 unimp
+ 80004162: 0000 unimp
+ 80004164: 0000 unimp
+ 80004166: bff0 fsd fa2,248(a5)
+ 80004168: 0000 unimp
+ 8000416a: 0000 unimp
+ 8000416c: 0000 unimp
+ 8000416e: c000 sw s0,0(s0)
+ 80004170: 0000 unimp
+ 80004172: 0000 unimp
+ 80004174: 0000 unimp
+ 80004176: 0000 unimp
+ 80004178: 0000 unimp
+ 8000417a: 0000 unimp
+ 8000417c: 0000 unimp
+ 8000417e: bff0 fsd fa2,248(a5)
+
+0000000080004180 <test_20_data>:
+ 80004180: 0001 nop
+ 80004182: 0000 unimp
+ 80004184: 0000 unimp
+ 80004186: 7ff0 ld a2,248(a5)
+ 80004188: 0000 unimp
+ 8000418a: 0000 unimp
+ 8000418c: 0000 unimp
+ 8000418e: 3ff0 fld fa2,248(a5)
+ 80004190: 0000 unimp
+ 80004192: 0000 unimp
+ 80004194: 0000 unimp
+ 80004196: 0000 unimp
+ 80004198: 0000 unimp
+ 8000419a: 0000 unimp
+ 8000419c: 0000 unimp
+ 8000419e: 3ff0 fld fa2,248(a5)
+
+00000000800041a0 <test_21_data>:
+ 800041a0: ffff 0xffff
+ 800041a2: ffff 0xffff
+ 800041a4: ffff 0xffff
+ 800041a6: 7fff 0x7fff
+ 800041a8: ffff 0xffff
+ 800041aa: ffff 0xffff
+ 800041ac: ffff 0xffff
+ 800041ae: 7fff 0x7fff
+ 800041b0: 0000 unimp
+ 800041b2: 0000 unimp
+ 800041b4: 0000 unimp
+ 800041b6: 0000 unimp
+ 800041b8: 0000 unimp
+ 800041ba: 0000 unimp
+ 800041bc: 0000 unimp
+ 800041be: 7ff8 ld a4,248(a5)
+
+00000000800041c0 <test_30_data>:
+ 800041c0: 0000 unimp
+ 800041c2: 0000 unimp
+ 800041c4: 0000 unimp
+ 800041c6: 8000 0x8000
+ 800041c8: 0000 unimp
+ 800041ca: 0000 unimp
+ 800041cc: 0000 unimp
+ 800041ce: 0000 unimp
+ 800041d0: 0000 unimp
+ 800041d2: 0000 unimp
+ 800041d4: 0000 unimp
+ 800041d6: 0000 unimp
+ 800041d8: 0000 unimp
+ 800041da: 0000 unimp
+ 800041dc: 0000 unimp
+ 800041de: 8000 0x8000
+
+00000000800041e0 <test_31_data>:
+ 800041e0: 0000 unimp
+ 800041e2: 0000 unimp
+ 800041e4: 0000 unimp
+ 800041e6: 0000 unimp
+ 800041e8: 0000 unimp
+ 800041ea: 0000 unimp
+ 800041ec: 0000 unimp
+ 800041ee: 8000 0x8000
+ 800041f0: 0000 unimp
+ 800041f2: 0000 unimp
+ 800041f4: 0000 unimp
+ 800041f6: 0000 unimp
+ 800041f8: 0000 unimp
+ 800041fa: 0000 unimp
+ 800041fc: 0000 unimp
+ 800041fe: 8000 0x8000
+
+0000000080004200 <test_32_data>:
+ 80004200: 0000 unimp
+ 80004202: 0000 unimp
+ 80004204: 0000 unimp
+ 80004206: 8000 0x8000
+ 80004208: 0000 unimp
+ 8000420a: 0000 unimp
+ 8000420c: 0000 unimp
+ 8000420e: 0000 unimp
+ 80004210: 0000 unimp
+ 80004212: 0000 unimp
+ 80004214: 0000 unimp
+ 80004216: 0000 unimp
+ 80004218: 0000 unimp
+ 8000421a: 0000 unimp
+ 8000421c: 0000 unimp
+ 8000421e: 0000 unimp
+
+0000000080004220 <test_33_data>:
+ 80004220: 0000 unimp
+ 80004222: 0000 unimp
+ 80004224: 0000 unimp
+ 80004226: 0000 unimp
+ 80004228: 0000 unimp
+ 8000422a: 0000 unimp
+ 8000422c: 0000 unimp
+ 8000422e: 8000 0x8000
+ 80004230: 0000 unimp
+ 80004232: 0000 unimp
+ 80004234: 0000 unimp
+ 80004236: 0000 unimp
+ 80004238: 0000 unimp
+ 8000423a: 0000 unimp
+ 8000423c: 0000 unimp
+ 8000423e: 0000 unimp
diff --git a/test/riscv-tests/rv64ud-v-fmin.elf b/test/riscv-tests/rv64ud-v-fmin.elf
new file mode 100644
index 0000000..d8db4de
--- /dev/null
+++ b/test/riscv-tests/rv64ud-v-fmin.elf
Binary files differ
diff --git a/test/riscv-tests/rv64uf-p-fadd.dump b/test/riscv-tests/rv64uf-p-fadd.dump
new file mode 100644
index 0000000..e8270cc
--- /dev/null
+++ b/test/riscv-tests/rv64uf-p-fadd.dump
@@ -0,0 +1,342 @@
+
+rv64uf-p-fadd: 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: 00002537 lui a0,0x2
+ 800000ec: 30052073 csrs mstatus,a0
+ 800000f0: 00305073 csrwi fcsr,0
+ 800000f4: 00000297 auipc t0,0x0
+ 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+ 800000fc: 34129073 csrw mepc,t0
+ 80000100: f1402573 csrr a0,mhartid
+ 80000104: 30200073 mret
+
+0000000080000108 <test_2>:
+ 80000108: 00200193 li gp,2
+ 8000010c: 00002517 auipc a0,0x2
+ 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+ 80000114: 00052007 flw ft0,0(a0)
+ 80000118: 00452087 flw ft1,4(a0)
+ 8000011c: 00852107 flw ft2,8(a0)
+ 80000120: 00c52683 lw a3,12(a0)
+ 80000124: 001071d3 fadd.s ft3,ft0,ft1
+ 80000128: e0018553 fmv.x.w a0,ft3
+ 8000012c: 001015f3 fsflags a1,zero
+ 80000130: 00000613 li a2,0
+ 80000134: 1ed51063 bne a0,a3,80000314 <fail>
+ 80000138: 1cc59e63 bne a1,a2,80000314 <fail>
+
+000000008000013c <test_3>:
+ 8000013c: 00300193 li gp,3
+ 80000140: 00002517 auipc a0,0x2
+ 80000144: ed050513 addi a0,a0,-304 # 80002010 <test_3_data>
+ 80000148: 00052007 flw ft0,0(a0)
+ 8000014c: 00452087 flw ft1,4(a0)
+ 80000150: 00852107 flw ft2,8(a0)
+ 80000154: 00c52683 lw a3,12(a0)
+ 80000158: 001071d3 fadd.s ft3,ft0,ft1
+ 8000015c: e0018553 fmv.x.w a0,ft3
+ 80000160: 001015f3 fsflags a1,zero
+ 80000164: 00100613 li a2,1
+ 80000168: 1ad51663 bne a0,a3,80000314 <fail>
+ 8000016c: 1ac59463 bne a1,a2,80000314 <fail>
+
+0000000080000170 <test_4>:
+ 80000170: 00400193 li gp,4
+ 80000174: 00002517 auipc a0,0x2
+ 80000178: eac50513 addi a0,a0,-340 # 80002020 <test_4_data>
+ 8000017c: 00052007 flw ft0,0(a0)
+ 80000180: 00452087 flw ft1,4(a0)
+ 80000184: 00852107 flw ft2,8(a0)
+ 80000188: 00c52683 lw a3,12(a0)
+ 8000018c: 001071d3 fadd.s ft3,ft0,ft1
+ 80000190: e0018553 fmv.x.w a0,ft3
+ 80000194: 001015f3 fsflags a1,zero
+ 80000198: 00100613 li a2,1
+ 8000019c: 16d51c63 bne a0,a3,80000314 <fail>
+ 800001a0: 16c59a63 bne a1,a2,80000314 <fail>
+
+00000000800001a4 <test_5>:
+ 800001a4: 00500193 li gp,5
+ 800001a8: 00002517 auipc a0,0x2
+ 800001ac: e8850513 addi a0,a0,-376 # 80002030 <test_5_data>
+ 800001b0: 00052007 flw ft0,0(a0)
+ 800001b4: 00452087 flw ft1,4(a0)
+ 800001b8: 00852107 flw ft2,8(a0)
+ 800001bc: 00c52683 lw a3,12(a0)
+ 800001c0: 081071d3 fsub.s ft3,ft0,ft1
+ 800001c4: e0018553 fmv.x.w a0,ft3
+ 800001c8: 001015f3 fsflags a1,zero
+ 800001cc: 00000613 li a2,0
+ 800001d0: 14d51263 bne a0,a3,80000314 <fail>
+ 800001d4: 14c59063 bne a1,a2,80000314 <fail>
+
+00000000800001d8 <test_6>:
+ 800001d8: 00600193 li gp,6
+ 800001dc: 00002517 auipc a0,0x2
+ 800001e0: e6450513 addi a0,a0,-412 # 80002040 <test_6_data>
+ 800001e4: 00052007 flw ft0,0(a0)
+ 800001e8: 00452087 flw ft1,4(a0)
+ 800001ec: 00852107 flw ft2,8(a0)
+ 800001f0: 00c52683 lw a3,12(a0)
+ 800001f4: 081071d3 fsub.s ft3,ft0,ft1
+ 800001f8: e0018553 fmv.x.w a0,ft3
+ 800001fc: 001015f3 fsflags a1,zero
+ 80000200: 00100613 li a2,1
+ 80000204: 10d51863 bne a0,a3,80000314 <fail>
+ 80000208: 10c59663 bne a1,a2,80000314 <fail>
+
+000000008000020c <test_7>:
+ 8000020c: 00700193 li gp,7
+ 80000210: 00002517 auipc a0,0x2
+ 80000214: e4050513 addi a0,a0,-448 # 80002050 <test_7_data>
+ 80000218: 00052007 flw ft0,0(a0)
+ 8000021c: 00452087 flw ft1,4(a0)
+ 80000220: 00852107 flw ft2,8(a0)
+ 80000224: 00c52683 lw a3,12(a0)
+ 80000228: 081071d3 fsub.s ft3,ft0,ft1
+ 8000022c: e0018553 fmv.x.w a0,ft3
+ 80000230: 001015f3 fsflags a1,zero
+ 80000234: 00100613 li a2,1
+ 80000238: 0cd51e63 bne a0,a3,80000314 <fail>
+ 8000023c: 0cc59c63 bne a1,a2,80000314 <fail>
+
+0000000080000240 <test_8>:
+ 80000240: 00800193 li gp,8
+ 80000244: 00002517 auipc a0,0x2
+ 80000248: e1c50513 addi a0,a0,-484 # 80002060 <test_8_data>
+ 8000024c: 00052007 flw ft0,0(a0)
+ 80000250: 00452087 flw ft1,4(a0)
+ 80000254: 00852107 flw ft2,8(a0)
+ 80000258: 00c52683 lw a3,12(a0)
+ 8000025c: 101071d3 fmul.s ft3,ft0,ft1
+ 80000260: e0018553 fmv.x.w a0,ft3
+ 80000264: 001015f3 fsflags a1,zero
+ 80000268: 00000613 li a2,0
+ 8000026c: 0ad51463 bne a0,a3,80000314 <fail>
+ 80000270: 0ac59263 bne a1,a2,80000314 <fail>
+
+0000000080000274 <test_9>:
+ 80000274: 00900193 li gp,9
+ 80000278: 00002517 auipc a0,0x2
+ 8000027c: df850513 addi a0,a0,-520 # 80002070 <test_9_data>
+ 80000280: 00052007 flw ft0,0(a0)
+ 80000284: 00452087 flw ft1,4(a0)
+ 80000288: 00852107 flw ft2,8(a0)
+ 8000028c: 00c52683 lw a3,12(a0)
+ 80000290: 101071d3 fmul.s ft3,ft0,ft1
+ 80000294: e0018553 fmv.x.w a0,ft3
+ 80000298: 001015f3 fsflags a1,zero
+ 8000029c: 00100613 li a2,1
+ 800002a0: 06d51a63 bne a0,a3,80000314 <fail>
+ 800002a4: 06c59863 bne a1,a2,80000314 <fail>
+
+00000000800002a8 <test_10>:
+ 800002a8: 00a00193 li gp,10
+ 800002ac: 00002517 auipc a0,0x2
+ 800002b0: dd450513 addi a0,a0,-556 # 80002080 <test_10_data>
+ 800002b4: 00052007 flw ft0,0(a0)
+ 800002b8: 00452087 flw ft1,4(a0)
+ 800002bc: 00852107 flw ft2,8(a0)
+ 800002c0: 00c52683 lw a3,12(a0)
+ 800002c4: 101071d3 fmul.s ft3,ft0,ft1
+ 800002c8: e0018553 fmv.x.w a0,ft3
+ 800002cc: 001015f3 fsflags a1,zero
+ 800002d0: 00100613 li a2,1
+ 800002d4: 04d51063 bne a0,a3,80000314 <fail>
+ 800002d8: 02c59e63 bne a1,a2,80000314 <fail>
+
+00000000800002dc <test_11>:
+ 800002dc: 00b00193 li gp,11
+ 800002e0: 00002517 auipc a0,0x2
+ 800002e4: db050513 addi a0,a0,-592 # 80002090 <test_11_data>
+ 800002e8: 00052007 flw ft0,0(a0)
+ 800002ec: 00452087 flw ft1,4(a0)
+ 800002f0: 00852107 flw ft2,8(a0)
+ 800002f4: 00c52683 lw a3,12(a0)
+ 800002f8: 081071d3 fsub.s ft3,ft0,ft1
+ 800002fc: e0018553 fmv.x.w a0,ft3
+ 80000300: 001015f3 fsflags a1,zero
+ 80000304: 01000613 li a2,16
+ 80000308: 00d51663 bne a0,a3,80000314 <fail>
+ 8000030c: 00c59463 bne a1,a2,80000314 <fail>
+ 80000310: 00301c63 bne zero,gp,80000328 <pass>
+
+0000000080000314 <fail>:
+ 80000314: 0ff0000f fence
+ 80000318: 00018063 beqz gp,80000318 <fail+0x4>
+ 8000031c: 00119193 slli gp,gp,0x1
+ 80000320: 0011e193 ori gp,gp,1
+ 80000324: 00000073 ecall
+
+0000000080000328 <pass>:
+ 80000328: 0ff0000f fence
+ 8000032c: 00100193 li gp,1
+ 80000330: 00000073 ecall
+ 80000334: c0001073 unimp
+ 80000338: 0000 unimp
+ 8000033a: 0000 unimp
+ 8000033c: 0000 unimp
+ 8000033e: 0000 unimp
+ 80000340: 0000 unimp
+ 80000342: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <test_2_data>:
+ 80002000: 0000 unimp
+ 80002002: 4020 lw s0,64(s0)
+ 80002004: 0000 unimp
+ 80002006: 3f80 fld fs0,56(a5)
+ 80002008: 0000 unimp
+ 8000200a: 0000 unimp
+ 8000200c: 0000 unimp
+ 8000200e: 4060 lw s0,68(s0)
+
+0000000080002010 <test_3_data>:
+ 80002010: c49a6333 0xc49a6333
+ 80002014: cccd beqz s1,800020ce <_end+0x2e>
+ 80002016: 3f8c fld fa1,56(a5)
+ 80002018: 0000 unimp
+ 8000201a: 0000 unimp
+ 8000201c: 4000 lw s0,0(s0)
+ 8000201e: c49a sw t1,72(sp)
+
+0000000080002020 <test_4_data>:
+ 80002020: 40490fdb 0x40490fdb
+ 80002024: 322bcc77 0x322bcc77
+ 80002028: 0000 unimp
+ 8000202a: 0000 unimp
+ 8000202c: 40490fdb 0x40490fdb
+
+0000000080002030 <test_5_data>:
+ 80002030: 0000 unimp
+ 80002032: 4020 lw s0,64(s0)
+ 80002034: 0000 unimp
+ 80002036: 3f80 fld fs0,56(a5)
+ 80002038: 0000 unimp
+ 8000203a: 0000 unimp
+ 8000203c: 0000 unimp
+ 8000203e: 3fc0 fld fs0,184(a5)
+
+0000000080002040 <test_6_data>:
+ 80002040: c49a6333 0xc49a6333
+ 80002044: cccd beqz s1,800020fe <_end+0x5e>
+ 80002046: bf8c fsd fa1,56(a5)
+ 80002048: 0000 unimp
+ 8000204a: 0000 unimp
+ 8000204c: 4000 lw s0,0(s0)
+ 8000204e: c49a sw t1,72(sp)
+
+0000000080002050 <test_7_data>:
+ 80002050: 40490fdb 0x40490fdb
+ 80002054: 322bcc77 0x322bcc77
+ 80002058: 0000 unimp
+ 8000205a: 0000 unimp
+ 8000205c: 40490fdb 0x40490fdb
+
+0000000080002060 <test_8_data>:
+ 80002060: 0000 unimp
+ 80002062: 4020 lw s0,64(s0)
+ 80002064: 0000 unimp
+ 80002066: 3f80 fld fs0,56(a5)
+ 80002068: 0000 unimp
+ 8000206a: 0000 unimp
+ 8000206c: 0000 unimp
+ 8000206e: 4020 lw s0,64(s0)
+
+0000000080002070 <test_9_data>:
+ 80002070: c49a6333 0xc49a6333
+ 80002074: cccd beqz s1,8000212e <_end+0x8e>
+ 80002076: bf8c fsd fa1,56(a5)
+ 80002078: 0000 unimp
+ 8000207a: 0000 unimp
+ 8000207c: d385 beqz a5,80001f9c <fromhost+0xf5c>
+ 8000207e: 44a9 li s1,10
+
+0000000080002080 <test_10_data>:
+ 80002080: 40490fdb 0x40490fdb
+ 80002084: 322bcc77 0x322bcc77
+ 80002088: 0000 unimp
+ 8000208a: 0000 unimp
+ 8000208c: ee2d bnez a2,80002106 <_end+0x66>
+ 8000208e: 3306 fld ft6,96(sp)
+
+0000000080002090 <test_11_data>:
+ 80002090: 0000 unimp
+ 80002092: 7f80 ld s0,56(a5)
+ 80002094: 0000 unimp
+ 80002096: 7f80 ld s0,56(a5)
+ 80002098: 0000 unimp
+ 8000209a: 0000 unimp
+ 8000209c: 0000 unimp
+ 8000209e: 7fc0 ld s0,184(a5)
diff --git a/test/riscv-tests/rv64uf-p-fadd.elf b/test/riscv-tests/rv64uf-p-fadd.elf
new file mode 100644
index 0000000..e4c4a5b
--- /dev/null
+++ b/test/riscv-tests/rv64uf-p-fadd.elf
Binary files differ
diff --git a/test/riscv-tests/rv64uf-p-fclass.dump b/test/riscv-tests/rv64uf-p-fclass.dump
new file mode 100644
index 0000000..79c4968
--- /dev/null
+++ b/test/riscv-tests/rv64uf-p-fclass.dump
@@ -0,0 +1,186 @@
+
+rv64uf-p-fclass: 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: 00002537 lui a0,0x2
+ 800000ec: 30052073 csrs mstatus,a0
+ 800000f0: 00305073 csrwi fcsr,0
+ 800000f4: 00000297 auipc t0,0x0
+ 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+ 800000fc: 34129073 csrw mepc,t0
+ 80000100: f1402573 csrr a0,mhartid
+ 80000104: 30200073 mret
+
+0000000080000108 <test_2>:
+ 80000108: 1ff0051b addiw a0,zero,511
+ 8000010c: 01751513 slli a0,a0,0x17
+ 80000110: f0050553 fmv.w.x fa0,a0
+ 80000114: e0051553 fclass.s a0,fa0
+ 80000118: 00100e93 li t4,1
+ 8000011c: 00200193 li gp,2
+ 80000120: 0fd51c63 bne a0,t4,80000218 <fail>
+
+0000000080000124 <test_3>:
+ 80000124: 17f0051b addiw a0,zero,383
+ 80000128: 01751513 slli a0,a0,0x17
+ 8000012c: f0050553 fmv.w.x fa0,a0
+ 80000130: e0051553 fclass.s a0,fa0
+ 80000134: 00200e93 li t4,2
+ 80000138: 00300193 li gp,3
+ 8000013c: 0dd51e63 bne a0,t4,80000218 <fail>
+
+0000000080000140 <test_4>:
+ 80000140: 1010051b addiw a0,zero,257
+ 80000144: 01751513 slli a0,a0,0x17
+ 80000148: fff50513 addi a0,a0,-1 # 1fff <_start-0x7fffe001>
+ 8000014c: f0050553 fmv.w.x fa0,a0
+ 80000150: e0051553 fclass.s a0,fa0
+ 80000154: 00400e93 li t4,4
+ 80000158: 00400193 li gp,4
+ 8000015c: 0bd51e63 bne a0,t4,80000218 <fail>
+
+0000000080000160 <test_5>:
+ 80000160: 0010051b addiw a0,zero,1
+ 80000164: 01f51513 slli a0,a0,0x1f
+ 80000168: f0050553 fmv.w.x fa0,a0
+ 8000016c: e0051553 fclass.s a0,fa0
+ 80000170: 00800e93 li t4,8
+ 80000174: 00500193 li gp,5
+ 80000178: 0bd51063 bne a0,t4,80000218 <fail>
+
+000000008000017c <test_6>:
+ 8000017c: 00000513 li a0,0
+ 80000180: f0050553 fmv.w.x fa0,a0
+ 80000184: e0051553 fclass.s a0,fa0
+ 80000188: 01000e93 li t4,16
+ 8000018c: 00600193 li gp,6
+ 80000190: 09d51463 bne a0,t4,80000218 <fail>
+
+0000000080000194 <test_7>:
+ 80000194: 00800537 lui a0,0x800
+ 80000198: fff5051b addiw a0,a0,-1
+ 8000019c: f0050553 fmv.w.x fa0,a0
+ 800001a0: e0051553 fclass.s a0,fa0
+ 800001a4: 02000e93 li t4,32
+ 800001a8: 00700193 li gp,7
+ 800001ac: 07d51663 bne a0,t4,80000218 <fail>
+
+00000000800001b0 <test_8>:
+ 800001b0: 3f800537 lui a0,0x3f800
+ 800001b4: f0050553 fmv.w.x fa0,a0
+ 800001b8: e0051553 fclass.s a0,fa0
+ 800001bc: 04000e93 li t4,64
+ 800001c0: 00800193 li gp,8
+ 800001c4: 05d51a63 bne a0,t4,80000218 <fail>
+
+00000000800001c8 <test_9>:
+ 800001c8: 7f800537 lui a0,0x7f800
+ 800001cc: f0050553 fmv.w.x fa0,a0
+ 800001d0: e0051553 fclass.s a0,fa0
+ 800001d4: 08000e93 li t4,128
+ 800001d8: 00900193 li gp,9
+ 800001dc: 03d51e63 bne a0,t4,80000218 <fail>
+
+00000000800001e0 <test_10>:
+ 800001e0: 7f800537 lui a0,0x7f800
+ 800001e4: 0015051b addiw a0,a0,1
+ 800001e8: f0050553 fmv.w.x fa0,a0
+ 800001ec: e0051553 fclass.s a0,fa0
+ 800001f0: 10000e93 li t4,256
+ 800001f4: 00a00193 li gp,10
+ 800001f8: 03d51063 bne a0,t4,80000218 <fail>
+
+00000000800001fc <test_11>:
+ 800001fc: 7fc00537 lui a0,0x7fc00
+ 80000200: f0050553 fmv.w.x fa0,a0
+ 80000204: e0051553 fclass.s a0,fa0
+ 80000208: 20000e93 li t4,512
+ 8000020c: 00b00193 li gp,11
+ 80000210: 01d51463 bne a0,t4,80000218 <fail>
+ 80000214: 00301c63 bne zero,gp,8000022c <pass>
+
+0000000080000218 <fail>:
+ 80000218: 0ff0000f fence
+ 8000021c: 00018063 beqz gp,8000021c <fail+0x4>
+ 80000220: 00119193 slli gp,gp,0x1
+ 80000224: 0011e193 ori gp,gp,1
+ 80000228: 00000073 ecall
+
+000000008000022c <pass>:
+ 8000022c: 0ff0000f fence
+ 80000230: 00100193 li gp,1
+ 80000234: 00000073 ecall
+ 80000238: c0001073 unimp
+ 8000023c: 0000 unimp
+ 8000023e: 0000 unimp
+ 80000240: 0000 unimp
+ 80000242: 0000 unimp
diff --git a/test/riscv-tests/rv64uf-p-fclass.elf b/test/riscv-tests/rv64uf-p-fclass.elf
new file mode 100644
index 0000000..eae8b27
--- /dev/null
+++ b/test/riscv-tests/rv64uf-p-fclass.elf
Binary files differ
diff --git a/test/riscv-tests/rv64uf-p-fcmp.dump b/test/riscv-tests/rv64uf-p-fcmp.dump
new file mode 100644
index 0000000..0fb4cb8
--- /dev/null
+++ b/test/riscv-tests/rv64uf-p-fcmp.dump
@@ -0,0 +1,450 @@
+
+rv64uf-p-fcmp: 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: 00002537 lui a0,0x2
+ 800000ec: 30052073 csrs mstatus,a0
+ 800000f0: 00305073 csrwi fcsr,0
+ 800000f4: 00000297 auipc t0,0x0
+ 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+ 800000fc: 34129073 csrw mepc,t0
+ 80000100: f1402573 csrr a0,mhartid
+ 80000104: 30200073 mret
+
+0000000080000108 <test_2>:
+ 80000108: 00200193 li gp,2
+ 8000010c: 00002517 auipc a0,0x2
+ 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+ 80000114: 00052007 flw ft0,0(a0)
+ 80000118: 00452087 flw ft1,4(a0)
+ 8000011c: 00852107 flw ft2,8(a0)
+ 80000120: 00c52683 lw a3,12(a0)
+ 80000124: a0102553 feq.s a0,ft0,ft1
+ 80000128: 001015f3 fsflags a1,zero
+ 8000012c: 00000613 li a2,0
+ 80000130: 2ad51663 bne a0,a3,800003dc <fail>
+ 80000134: 2ac59463 bne a1,a2,800003dc <fail>
+
+0000000080000138 <test_3>:
+ 80000138: 00300193 li gp,3
+ 8000013c: 00002517 auipc a0,0x2
+ 80000140: ed450513 addi a0,a0,-300 # 80002010 <test_3_data>
+ 80000144: 00052007 flw ft0,0(a0)
+ 80000148: 00452087 flw ft1,4(a0)
+ 8000014c: 00852107 flw ft2,8(a0)
+ 80000150: 00c52683 lw a3,12(a0)
+ 80000154: a0100553 fle.s a0,ft0,ft1
+ 80000158: 001015f3 fsflags a1,zero
+ 8000015c: 00000613 li a2,0
+ 80000160: 26d51e63 bne a0,a3,800003dc <fail>
+ 80000164: 26c59c63 bne a1,a2,800003dc <fail>
+
+0000000080000168 <test_4>:
+ 80000168: 00400193 li gp,4
+ 8000016c: 00002517 auipc a0,0x2
+ 80000170: eb450513 addi a0,a0,-332 # 80002020 <test_4_data>
+ 80000174: 00052007 flw ft0,0(a0)
+ 80000178: 00452087 flw ft1,4(a0)
+ 8000017c: 00852107 flw ft2,8(a0)
+ 80000180: 00c52683 lw a3,12(a0)
+ 80000184: a0101553 flt.s a0,ft0,ft1
+ 80000188: 001015f3 fsflags a1,zero
+ 8000018c: 00000613 li a2,0
+ 80000190: 24d51663 bne a0,a3,800003dc <fail>
+ 80000194: 24c59463 bne a1,a2,800003dc <fail>
+
+0000000080000198 <test_5>:
+ 80000198: 00500193 li gp,5
+ 8000019c: 00002517 auipc a0,0x2
+ 800001a0: e9450513 addi a0,a0,-364 # 80002030 <test_5_data>
+ 800001a4: 00052007 flw ft0,0(a0)
+ 800001a8: 00452087 flw ft1,4(a0)
+ 800001ac: 00852107 flw ft2,8(a0)
+ 800001b0: 00c52683 lw a3,12(a0)
+ 800001b4: a0102553 feq.s a0,ft0,ft1
+ 800001b8: 001015f3 fsflags a1,zero
+ 800001bc: 00000613 li a2,0
+ 800001c0: 20d51e63 bne a0,a3,800003dc <fail>
+ 800001c4: 20c59c63 bne a1,a2,800003dc <fail>
+
+00000000800001c8 <test_6>:
+ 800001c8: 00600193 li gp,6
+ 800001cc: 00002517 auipc a0,0x2
+ 800001d0: e7450513 addi a0,a0,-396 # 80002040 <test_6_data>
+ 800001d4: 00052007 flw ft0,0(a0)
+ 800001d8: 00452087 flw ft1,4(a0)
+ 800001dc: 00852107 flw ft2,8(a0)
+ 800001e0: 00c52683 lw a3,12(a0)
+ 800001e4: a0100553 fle.s a0,ft0,ft1
+ 800001e8: 001015f3 fsflags a1,zero
+ 800001ec: 00000613 li a2,0
+ 800001f0: 1ed51663 bne a0,a3,800003dc <fail>
+ 800001f4: 1ec59463 bne a1,a2,800003dc <fail>
+
+00000000800001f8 <test_7>:
+ 800001f8: 00700193 li gp,7
+ 800001fc: 00002517 auipc a0,0x2
+ 80000200: e5450513 addi a0,a0,-428 # 80002050 <test_7_data>
+ 80000204: 00052007 flw ft0,0(a0)
+ 80000208: 00452087 flw ft1,4(a0)
+ 8000020c: 00852107 flw ft2,8(a0)
+ 80000210: 00c52683 lw a3,12(a0)
+ 80000214: a0101553 flt.s a0,ft0,ft1
+ 80000218: 001015f3 fsflags a1,zero
+ 8000021c: 00000613 li a2,0
+ 80000220: 1ad51e63 bne a0,a3,800003dc <fail>
+ 80000224: 1ac59c63 bne a1,a2,800003dc <fail>
+
+0000000080000228 <test_8>:
+ 80000228: 00800193 li gp,8
+ 8000022c: 00002517 auipc a0,0x2
+ 80000230: e3450513 addi a0,a0,-460 # 80002060 <test_8_data>
+ 80000234: 00052007 flw ft0,0(a0)
+ 80000238: 00452087 flw ft1,4(a0)
+ 8000023c: 00852107 flw ft2,8(a0)
+ 80000240: 00c52683 lw a3,12(a0)
+ 80000244: a0102553 feq.s a0,ft0,ft1
+ 80000248: 001015f3 fsflags a1,zero
+ 8000024c: 00000613 li a2,0
+ 80000250: 18d51663 bne a0,a3,800003dc <fail>
+ 80000254: 18c59463 bne a1,a2,800003dc <fail>
+
+0000000080000258 <test_9>:
+ 80000258: 00900193 li gp,9
+ 8000025c: 00002517 auipc a0,0x2
+ 80000260: e1450513 addi a0,a0,-492 # 80002070 <test_9_data>
+ 80000264: 00052007 flw ft0,0(a0)
+ 80000268: 00452087 flw ft1,4(a0)
+ 8000026c: 00852107 flw ft2,8(a0)
+ 80000270: 00c52683 lw a3,12(a0)
+ 80000274: a0102553 feq.s a0,ft0,ft1
+ 80000278: 001015f3 fsflags a1,zero
+ 8000027c: 00000613 li a2,0
+ 80000280: 14d51e63 bne a0,a3,800003dc <fail>
+ 80000284: 14c59c63 bne a1,a2,800003dc <fail>
+
+0000000080000288 <test_10>:
+ 80000288: 00a00193 li gp,10
+ 8000028c: 00002517 auipc a0,0x2
+ 80000290: df450513 addi a0,a0,-524 # 80002080 <test_10_data>
+ 80000294: 00052007 flw ft0,0(a0)
+ 80000298: 00452087 flw ft1,4(a0)
+ 8000029c: 00852107 flw ft2,8(a0)
+ 800002a0: 00c52683 lw a3,12(a0)
+ 800002a4: a0102553 feq.s a0,ft0,ft1
+ 800002a8: 001015f3 fsflags a1,zero
+ 800002ac: 01000613 li a2,16
+ 800002b0: 12d51663 bne a0,a3,800003dc <fail>
+ 800002b4: 12c59463 bne a1,a2,800003dc <fail>
+
+00000000800002b8 <test_11>:
+ 800002b8: 00b00193 li gp,11
+ 800002bc: 00002517 auipc a0,0x2
+ 800002c0: dd450513 addi a0,a0,-556 # 80002090 <test_11_data>
+ 800002c4: 00052007 flw ft0,0(a0)
+ 800002c8: 00452087 flw ft1,4(a0)
+ 800002cc: 00852107 flw ft2,8(a0)
+ 800002d0: 00c52683 lw a3,12(a0)
+ 800002d4: a0101553 flt.s a0,ft0,ft1
+ 800002d8: 001015f3 fsflags a1,zero
+ 800002dc: 01000613 li a2,16
+ 800002e0: 0ed51e63 bne a0,a3,800003dc <fail>
+ 800002e4: 0ec59c63 bne a1,a2,800003dc <fail>
+
+00000000800002e8 <test_12>:
+ 800002e8: 00c00193 li gp,12
+ 800002ec: 00002517 auipc a0,0x2
+ 800002f0: db450513 addi a0,a0,-588 # 800020a0 <test_12_data>
+ 800002f4: 00052007 flw ft0,0(a0)
+ 800002f8: 00452087 flw ft1,4(a0)
+ 800002fc: 00852107 flw ft2,8(a0)
+ 80000300: 00c52683 lw a3,12(a0)
+ 80000304: a0101553 flt.s a0,ft0,ft1
+ 80000308: 001015f3 fsflags a1,zero
+ 8000030c: 01000613 li a2,16
+ 80000310: 0cd51663 bne a0,a3,800003dc <fail>
+ 80000314: 0cc59463 bne a1,a2,800003dc <fail>
+
+0000000080000318 <test_13>:
+ 80000318: 00d00193 li gp,13
+ 8000031c: 00002517 auipc a0,0x2
+ 80000320: d9450513 addi a0,a0,-620 # 800020b0 <test_13_data>
+ 80000324: 00052007 flw ft0,0(a0)
+ 80000328: 00452087 flw ft1,4(a0)
+ 8000032c: 00852107 flw ft2,8(a0)
+ 80000330: 00c52683 lw a3,12(a0)
+ 80000334: a0101553 flt.s a0,ft0,ft1
+ 80000338: 001015f3 fsflags a1,zero
+ 8000033c: 01000613 li a2,16
+ 80000340: 08d51e63 bne a0,a3,800003dc <fail>
+ 80000344: 08c59c63 bne a1,a2,800003dc <fail>
+
+0000000080000348 <test_14>:
+ 80000348: 00e00193 li gp,14
+ 8000034c: 00002517 auipc a0,0x2
+ 80000350: d7450513 addi a0,a0,-652 # 800020c0 <test_14_data>
+ 80000354: 00052007 flw ft0,0(a0)
+ 80000358: 00452087 flw ft1,4(a0)
+ 8000035c: 00852107 flw ft2,8(a0)
+ 80000360: 00c52683 lw a3,12(a0)
+ 80000364: a0100553 fle.s a0,ft0,ft1
+ 80000368: 001015f3 fsflags a1,zero
+ 8000036c: 01000613 li a2,16
+ 80000370: 06d51663 bne a0,a3,800003dc <fail>
+ 80000374: 06c59463 bne a1,a2,800003dc <fail>
+
+0000000080000378 <test_15>:
+ 80000378: 00f00193 li gp,15
+ 8000037c: 00002517 auipc a0,0x2
+ 80000380: d5450513 addi a0,a0,-684 # 800020d0 <test_15_data>
+ 80000384: 00052007 flw ft0,0(a0)
+ 80000388: 00452087 flw ft1,4(a0)
+ 8000038c: 00852107 flw ft2,8(a0)
+ 80000390: 00c52683 lw a3,12(a0)
+ 80000394: a0100553 fle.s a0,ft0,ft1
+ 80000398: 001015f3 fsflags a1,zero
+ 8000039c: 01000613 li a2,16
+ 800003a0: 02d51e63 bne a0,a3,800003dc <fail>
+ 800003a4: 02c59c63 bne a1,a2,800003dc <fail>
+
+00000000800003a8 <test_16>:
+ 800003a8: 01000193 li gp,16
+ 800003ac: 00002517 auipc a0,0x2
+ 800003b0: d3450513 addi a0,a0,-716 # 800020e0 <test_16_data>
+ 800003b4: 00052007 flw ft0,0(a0)
+ 800003b8: 00452087 flw ft1,4(a0)
+ 800003bc: 00852107 flw ft2,8(a0)
+ 800003c0: 00c52683 lw a3,12(a0)
+ 800003c4: a0100553 fle.s a0,ft0,ft1
+ 800003c8: 001015f3 fsflags a1,zero
+ 800003cc: 01000613 li a2,16
+ 800003d0: 00d51663 bne a0,a3,800003dc <fail>
+ 800003d4: 00c59463 bne a1,a2,800003dc <fail>
+ 800003d8: 00301c63 bne zero,gp,800003f0 <pass>
+
+00000000800003dc <fail>:
+ 800003dc: 0ff0000f fence
+ 800003e0: 00018063 beqz gp,800003e0 <fail+0x4>
+ 800003e4: 00119193 slli gp,gp,0x1
+ 800003e8: 0011e193 ori gp,gp,1
+ 800003ec: 00000073 ecall
+
+00000000800003f0 <pass>:
+ 800003f0: 0ff0000f fence
+ 800003f4: 00100193 li gp,1
+ 800003f8: 00000073 ecall
+ 800003fc: c0001073 unimp
+ 80000400: 0000 unimp
+ 80000402: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <test_2_data>:
+ 80002000: bfae147b 0xbfae147b
+ 80002004: bfae147b 0xbfae147b
+ 80002008: 0000 unimp
+ 8000200a: 0000 unimp
+ 8000200c: 0001 nop
+ 8000200e: 0000 unimp
+
+0000000080002010 <test_3_data>:
+ 80002010: bfae147b 0xbfae147b
+ 80002014: bfae147b 0xbfae147b
+ 80002018: 0000 unimp
+ 8000201a: 0000 unimp
+ 8000201c: 0001 nop
+ 8000201e: 0000 unimp
+
+0000000080002020 <test_4_data>:
+ 80002020: bfae147b 0xbfae147b
+ 80002024: bfae147b 0xbfae147b
+ 80002028: 0000 unimp
+ 8000202a: 0000 unimp
+ 8000202c: 0000 unimp
+ 8000202e: 0000 unimp
+
+0000000080002030 <test_5_data>:
+ 80002030: 5c29 li s8,-22
+ 80002032: 147bbfaf 0x147bbfaf
+ 80002036: bfae fsd fa1,504(sp)
+ 80002038: 0000 unimp
+ 8000203a: 0000 unimp
+ 8000203c: 0000 unimp
+ 8000203e: 0000 unimp
+
+0000000080002040 <test_6_data>:
+ 80002040: 5c29 li s8,-22
+ 80002042: 147bbfaf 0x147bbfaf
+ 80002046: bfae fsd fa1,504(sp)
+ 80002048: 0000 unimp
+ 8000204a: 0000 unimp
+ 8000204c: 0001 nop
+ 8000204e: 0000 unimp
+
+0000000080002050 <test_7_data>:
+ 80002050: 5c29 li s8,-22
+ 80002052: 147bbfaf 0x147bbfaf
+ 80002056: bfae fsd fa1,504(sp)
+ 80002058: 0000 unimp
+ 8000205a: 0000 unimp
+ 8000205c: 0001 nop
+ 8000205e: 0000 unimp
+
+0000000080002060 <test_8_data>:
+ 80002060: ffff 0xffff
+ 80002062: 7fff 0x7fff
+ 80002064: 0000 unimp
+ 80002066: 0000 unimp
+ 80002068: 0000 unimp
+ 8000206a: 0000 unimp
+ 8000206c: 0000 unimp
+ 8000206e: 0000 unimp
+
+0000000080002070 <test_9_data>:
+ 80002070: ffff 0xffff
+ 80002072: 7fff 0x7fff
+ 80002074: ffff 0xffff
+ 80002076: 7fff 0x7fff
+ 80002078: 0000 unimp
+ 8000207a: 0000 unimp
+ 8000207c: 0000 unimp
+ 8000207e: 0000 unimp
+
+0000000080002080 <test_10_data>:
+ 80002080: 0001 nop
+ 80002082: 7f80 ld s0,56(a5)
+ 80002084: 0000 unimp
+ 80002086: 0000 unimp
+ 80002088: 0000 unimp
+ 8000208a: 0000 unimp
+ 8000208c: 0000 unimp
+ 8000208e: 0000 unimp
+
+0000000080002090 <test_11_data>:
+ 80002090: ffff 0xffff
+ 80002092: 7fff 0x7fff
+ 80002094: 0000 unimp
+ 80002096: 0000 unimp
+ 80002098: 0000 unimp
+ 8000209a: 0000 unimp
+ 8000209c: 0000 unimp
+ 8000209e: 0000 unimp
+
+00000000800020a0 <test_12_data>:
+ 800020a0: ffff 0xffff
+ 800020a2: 7fff 0x7fff
+ 800020a4: ffff 0xffff
+ 800020a6: 7fff 0x7fff
+ 800020a8: 0000 unimp
+ 800020aa: 0000 unimp
+ 800020ac: 0000 unimp
+ 800020ae: 0000 unimp
+
+00000000800020b0 <test_13_data>:
+ 800020b0: 0001 nop
+ 800020b2: 7f80 ld s0,56(a5)
+ 800020b4: 0000 unimp
+ 800020b6: 0000 unimp
+ 800020b8: 0000 unimp
+ 800020ba: 0000 unimp
+ 800020bc: 0000 unimp
+ 800020be: 0000 unimp
+
+00000000800020c0 <test_14_data>:
+ 800020c0: ffff 0xffff
+ 800020c2: 7fff 0x7fff
+ 800020c4: 0000 unimp
+ 800020c6: 0000 unimp
+ 800020c8: 0000 unimp
+ 800020ca: 0000 unimp
+ 800020cc: 0000 unimp
+ 800020ce: 0000 unimp
+
+00000000800020d0 <test_15_data>:
+ 800020d0: ffff 0xffff
+ 800020d2: 7fff 0x7fff
+ 800020d4: ffff 0xffff
+ 800020d6: 7fff 0x7fff
+ 800020d8: 0000 unimp
+ 800020da: 0000 unimp
+ 800020dc: 0000 unimp
+ 800020de: 0000 unimp
+
+00000000800020e0 <test_16_data>:
+ 800020e0: 0001 nop
+ 800020e2: 7f80 ld s0,56(a5)
+ 800020e4: 0000 unimp
+ 800020e6: 0000 unimp
+ 800020e8: 0000 unimp
+ 800020ea: 0000 unimp
+ 800020ec: 0000 unimp
+ 800020ee: 0000 unimp
diff --git a/test/riscv-tests/rv64uf-p-fcmp.elf b/test/riscv-tests/rv64uf-p-fcmp.elf
new file mode 100644
index 0000000..42039b2
--- /dev/null
+++ b/test/riscv-tests/rv64uf-p-fcmp.elf
Binary files differ
diff --git a/test/riscv-tests/rv64uf-p-fcvt.dump b/test/riscv-tests/rv64uf-p-fcvt.dump
new file mode 100644
index 0000000..f46a881
--- /dev/null
+++ b/test/riscv-tests/rv64uf-p-fcvt.dump
@@ -0,0 +1,243 @@
+
+rv64uf-p-fcvt: 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: 00002537 lui a0,0x2
+ 800000ec: 30052073 csrs mstatus,a0
+ 800000f0: 00305073 csrwi fcsr,0
+ 800000f4: 00000297 auipc t0,0x0
+ 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+ 800000fc: 34129073 csrw mepc,t0
+ 80000100: f1402573 csrr a0,mhartid
+ 80000104: 30200073 mret
+
+0000000080000108 <test_2>:
+ 80000108: 00200193 li gp,2
+ 8000010c: 00002517 auipc a0,0x2
+ 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+ 80000114: 00052683 lw a3,0(a0)
+ 80000118: 00200513 li a0,2
+ 8000011c: d0057053 fcvt.s.w ft0,a0
+ 80000120: 00101073 fsflags zero
+ 80000124: e0000553 fmv.x.w a0,ft0
+ 80000128: 10d51263 bne a0,a3,8000022c <fail>
+
+000000008000012c <test_3>:
+ 8000012c: 00300193 li gp,3
+ 80000130: 00002517 auipc a0,0x2
+ 80000134: ed450513 addi a0,a0,-300 # 80002004 <test_3_data>
+ 80000138: 00052683 lw a3,0(a0)
+ 8000013c: ffe00513 li a0,-2
+ 80000140: d0057053 fcvt.s.w ft0,a0
+ 80000144: 00101073 fsflags zero
+ 80000148: e0000553 fmv.x.w a0,ft0
+ 8000014c: 0ed51063 bne a0,a3,8000022c <fail>
+
+0000000080000150 <test_4>:
+ 80000150: 00400193 li gp,4
+ 80000154: 00002517 auipc a0,0x2
+ 80000158: eb450513 addi a0,a0,-332 # 80002008 <test_4_data>
+ 8000015c: 00052683 lw a3,0(a0)
+ 80000160: 00200513 li a0,2
+ 80000164: d0157053 fcvt.s.wu ft0,a0
+ 80000168: 00101073 fsflags zero
+ 8000016c: e0000553 fmv.x.w a0,ft0
+ 80000170: 0ad51e63 bne a0,a3,8000022c <fail>
+
+0000000080000174 <test_5>:
+ 80000174: 00500193 li gp,5
+ 80000178: 00002517 auipc a0,0x2
+ 8000017c: e9450513 addi a0,a0,-364 # 8000200c <test_5_data>
+ 80000180: 00052683 lw a3,0(a0)
+ 80000184: ffe00513 li a0,-2
+ 80000188: d0157053 fcvt.s.wu ft0,a0
+ 8000018c: 00101073 fsflags zero
+ 80000190: e0000553 fmv.x.w a0,ft0
+ 80000194: 08d51c63 bne a0,a3,8000022c <fail>
+
+0000000080000198 <test_6>:
+ 80000198: 00600193 li gp,6
+ 8000019c: 00002517 auipc a0,0x2
+ 800001a0: e7450513 addi a0,a0,-396 # 80002010 <test_6_data>
+ 800001a4: 00052683 lw a3,0(a0)
+ 800001a8: 00200513 li a0,2
+ 800001ac: d0257053 fcvt.s.l ft0,a0
+ 800001b0: 00101073 fsflags zero
+ 800001b4: e0000553 fmv.x.w a0,ft0
+ 800001b8: 06d51a63 bne a0,a3,8000022c <fail>
+
+00000000800001bc <test_7>:
+ 800001bc: 00700193 li gp,7
+ 800001c0: 00002517 auipc a0,0x2
+ 800001c4: e5450513 addi a0,a0,-428 # 80002014 <test_7_data>
+ 800001c8: 00052683 lw a3,0(a0)
+ 800001cc: ffe00513 li a0,-2
+ 800001d0: d0257053 fcvt.s.l ft0,a0
+ 800001d4: 00101073 fsflags zero
+ 800001d8: e0000553 fmv.x.w a0,ft0
+ 800001dc: 04d51863 bne a0,a3,8000022c <fail>
+
+00000000800001e0 <test_8>:
+ 800001e0: 00800193 li gp,8
+ 800001e4: 00002517 auipc a0,0x2
+ 800001e8: e3450513 addi a0,a0,-460 # 80002018 <test_8_data>
+ 800001ec: 00052683 lw a3,0(a0)
+ 800001f0: 00200513 li a0,2
+ 800001f4: d0357053 fcvt.s.lu ft0,a0
+ 800001f8: 00101073 fsflags zero
+ 800001fc: e0000553 fmv.x.w a0,ft0
+ 80000200: 02d51663 bne a0,a3,8000022c <fail>
+
+0000000080000204 <test_9>:
+ 80000204: 00900193 li gp,9
+ 80000208: 00002517 auipc a0,0x2
+ 8000020c: e1450513 addi a0,a0,-492 # 8000201c <test_9_data>
+ 80000210: 00052683 lw a3,0(a0)
+ 80000214: ffe00513 li a0,-2
+ 80000218: d0357053 fcvt.s.lu ft0,a0
+ 8000021c: 00101073 fsflags zero
+ 80000220: e0000553 fmv.x.w a0,ft0
+ 80000224: 00d51463 bne a0,a3,8000022c <fail>
+ 80000228: 00301c63 bne zero,gp,80000240 <pass>
+
+000000008000022c <fail>:
+ 8000022c: 0ff0000f fence
+ 80000230: 00018063 beqz gp,80000230 <fail+0x4>
+ 80000234: 00119193 slli gp,gp,0x1
+ 80000238: 0011e193 ori gp,gp,1
+ 8000023c: 00000073 ecall
+
+0000000080000240 <pass>:
+ 80000240: 0ff0000f fence
+ 80000244: 00100193 li gp,1
+ 80000248: 00000073 ecall
+ 8000024c: c0001073 unimp
+ 80000250: 0000 unimp
+ 80000252: 0000 unimp
+ 80000254: 0000 unimp
+ 80000256: 0000 unimp
+ 80000258: 0000 unimp
+ 8000025a: 0000 unimp
+ 8000025c: 0000 unimp
+ 8000025e: 0000 unimp
+ 80000260: 0000 unimp
+ 80000262: 0000 unimp
+ 80000264: 0000 unimp
+ 80000266: 0000 unimp
+ 80000268: 0000 unimp
+ 8000026a: 0000 unimp
+ 8000026c: 0000 unimp
+ 8000026e: 0000 unimp
+ 80000270: 0000 unimp
+ 80000272: 0000 unimp
+ 80000274: 0000 unimp
+ 80000276: 0000 unimp
+ 80000278: 0000 unimp
+ 8000027a: 0000 unimp
+ 8000027c: 0000 unimp
+ 8000027e: 0000 unimp
+ 80000280: 0000 unimp
+ 80000282: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <test_2_data>:
+ 80002000: 0000 unimp
+ 80002002: 4000 lw s0,0(s0)
+
+0000000080002004 <test_3_data>:
+ 80002004: 0000 unimp
+ 80002006: c000 sw s0,0(s0)
+
+0000000080002008 <test_4_data>:
+ 80002008: 0000 unimp
+ 8000200a: 4000 lw s0,0(s0)
+
+000000008000200c <test_5_data>:
+ 8000200c: 0000 unimp
+ 8000200e: 4f80 lw s0,24(a5)
+
+0000000080002010 <test_6_data>:
+ 80002010: 0000 unimp
+ 80002012: 4000 lw s0,0(s0)
+
+0000000080002014 <test_7_data>:
+ 80002014: 0000 unimp
+ 80002016: c000 sw s0,0(s0)
+
+0000000080002018 <test_8_data>:
+ 80002018: 0000 unimp
+ 8000201a: 4000 lw s0,0(s0)
+
+000000008000201c <test_9_data>:
+ 8000201c: 0000 unimp
+ 8000201e: 5f80 lw s0,56(a5)
diff --git a/test/riscv-tests/rv64uf-p-fcvt.elf b/test/riscv-tests/rv64uf-p-fcvt.elf
new file mode 100644
index 0000000..bfcbcf0
--- /dev/null
+++ b/test/riscv-tests/rv64uf-p-fcvt.elf
Binary files differ
diff --git a/test/riscv-tests/rv64uf-p-fcvt_w.dump b/test/riscv-tests/rv64uf-p-fcvt_w.dump
new file mode 100644
index 0000000..26df961
--- /dev/null
+++ b/test/riscv-tests/rv64uf-p-fcvt_w.dump
@@ -0,0 +1,1005 @@
+
+rv64uf-p-fcvt_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: 00002537 lui a0,0x2
+ 800000ec: 30052073 csrs mstatus,a0
+ 800000f0: 00305073 csrwi fcsr,0
+ 800000f4: 00000297 auipc t0,0x0
+ 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+ 800000fc: 34129073 csrw mepc,t0
+ 80000100: f1402573 csrr a0,mhartid
+ 80000104: 30200073 mret
+
+0000000080000108 <test_2>:
+ 80000108: 00200193 li gp,2
+ 8000010c: 00002517 auipc a0,0x2
+ 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+ 80000114: 00052007 flw ft0,0(a0)
+ 80000118: 00452087 flw ft1,4(a0)
+ 8000011c: 00852107 flw ft2,8(a0)
+ 80000120: 00c52683 lw a3,12(a0)
+ 80000124: c0001553 fcvt.w.s a0,ft0,rtz
+ 80000128: 001015f3 fsflags a1,zero
+ 8000012c: 00100613 li a2,1
+ 80000130: 72d51a63 bne a0,a3,80000864 <fail>
+ 80000134: 72c59863 bne a1,a2,80000864 <fail>
+
+0000000080000138 <test_3>:
+ 80000138: 00300193 li gp,3
+ 8000013c: 00002517 auipc a0,0x2
+ 80000140: ed450513 addi a0,a0,-300 # 80002010 <test_3_data>
+ 80000144: 00052007 flw ft0,0(a0)
+ 80000148: 00452087 flw ft1,4(a0)
+ 8000014c: 00852107 flw ft2,8(a0)
+ 80000150: 00c52683 lw a3,12(a0)
+ 80000154: c0001553 fcvt.w.s a0,ft0,rtz
+ 80000158: 001015f3 fsflags a1,zero
+ 8000015c: 00000613 li a2,0
+ 80000160: 70d51263 bne a0,a3,80000864 <fail>
+ 80000164: 70c59063 bne a1,a2,80000864 <fail>
+
+0000000080000168 <test_4>:
+ 80000168: 00400193 li gp,4
+ 8000016c: 00002517 auipc a0,0x2
+ 80000170: eb450513 addi a0,a0,-332 # 80002020 <test_4_data>
+ 80000174: 00052007 flw ft0,0(a0)
+ 80000178: 00452087 flw ft1,4(a0)
+ 8000017c: 00852107 flw ft2,8(a0)
+ 80000180: 00c52683 lw a3,12(a0)
+ 80000184: c0001553 fcvt.w.s a0,ft0,rtz
+ 80000188: 001015f3 fsflags a1,zero
+ 8000018c: 00100613 li a2,1
+ 80000190: 6cd51a63 bne a0,a3,80000864 <fail>
+ 80000194: 6cc59863 bne a1,a2,80000864 <fail>
+
+0000000080000198 <test_5>:
+ 80000198: 00500193 li gp,5
+ 8000019c: 00002517 auipc a0,0x2
+ 800001a0: e9450513 addi a0,a0,-364 # 80002030 <test_5_data>
+ 800001a4: 00052007 flw ft0,0(a0)
+ 800001a8: 00452087 flw ft1,4(a0)
+ 800001ac: 00852107 flw ft2,8(a0)
+ 800001b0: 00c52683 lw a3,12(a0)
+ 800001b4: c0001553 fcvt.w.s a0,ft0,rtz
+ 800001b8: 001015f3 fsflags a1,zero
+ 800001bc: 00100613 li a2,1
+ 800001c0: 6ad51263 bne a0,a3,80000864 <fail>
+ 800001c4: 6ac59063 bne a1,a2,80000864 <fail>
+
+00000000800001c8 <test_6>:
+ 800001c8: 00600193 li gp,6
+ 800001cc: 00002517 auipc a0,0x2
+ 800001d0: e7450513 addi a0,a0,-396 # 80002040 <test_6_data>
+ 800001d4: 00052007 flw ft0,0(a0)
+ 800001d8: 00452087 flw ft1,4(a0)
+ 800001dc: 00852107 flw ft2,8(a0)
+ 800001e0: 00c52683 lw a3,12(a0)
+ 800001e4: c0001553 fcvt.w.s a0,ft0,rtz
+ 800001e8: 001015f3 fsflags a1,zero
+ 800001ec: 00000613 li a2,0
+ 800001f0: 66d51a63 bne a0,a3,80000864 <fail>
+ 800001f4: 66c59863 bne a1,a2,80000864 <fail>
+
+00000000800001f8 <test_7>:
+ 800001f8: 00700193 li gp,7
+ 800001fc: 00002517 auipc a0,0x2
+ 80000200: e5450513 addi a0,a0,-428 # 80002050 <test_7_data>
+ 80000204: 00052007 flw ft0,0(a0)
+ 80000208: 00452087 flw ft1,4(a0)
+ 8000020c: 00852107 flw ft2,8(a0)
+ 80000210: 00c52683 lw a3,12(a0)
+ 80000214: c0001553 fcvt.w.s a0,ft0,rtz
+ 80000218: 001015f3 fsflags a1,zero
+ 8000021c: 00100613 li a2,1
+ 80000220: 64d51263 bne a0,a3,80000864 <fail>
+ 80000224: 64c59063 bne a1,a2,80000864 <fail>
+
+0000000080000228 <test_8>:
+ 80000228: 00800193 li gp,8
+ 8000022c: 00002517 auipc a0,0x2
+ 80000230: e3450513 addi a0,a0,-460 # 80002060 <test_8_data>
+ 80000234: 00052007 flw ft0,0(a0)
+ 80000238: 00452087 flw ft1,4(a0)
+ 8000023c: 00852107 flw ft2,8(a0)
+ 80000240: 00c52683 lw a3,12(a0)
+ 80000244: c0001553 fcvt.w.s a0,ft0,rtz
+ 80000248: 001015f3 fsflags a1,zero
+ 8000024c: 01000613 li a2,16
+ 80000250: 60d51a63 bne a0,a3,80000864 <fail>
+ 80000254: 60c59863 bne a1,a2,80000864 <fail>
+
+0000000080000258 <test_9>:
+ 80000258: 00900193 li gp,9
+ 8000025c: 00002517 auipc a0,0x2
+ 80000260: e1450513 addi a0,a0,-492 # 80002070 <test_9_data>
+ 80000264: 00052007 flw ft0,0(a0)
+ 80000268: 00452087 flw ft1,4(a0)
+ 8000026c: 00852107 flw ft2,8(a0)
+ 80000270: 00c52683 lw a3,12(a0)
+ 80000274: c0001553 fcvt.w.s a0,ft0,rtz
+ 80000278: 001015f3 fsflags a1,zero
+ 8000027c: 01000613 li a2,16
+ 80000280: 5ed51263 bne a0,a3,80000864 <fail>
+ 80000284: 5ec59063 bne a1,a2,80000864 <fail>
+
+0000000080000288 <test_12>:
+ 80000288: 00c00193 li gp,12
+ 8000028c: 00002517 auipc a0,0x2
+ 80000290: df450513 addi a0,a0,-524 # 80002080 <test_12_data>
+ 80000294: 00052007 flw ft0,0(a0)
+ 80000298: 00452087 flw ft1,4(a0)
+ 8000029c: 00852107 flw ft2,8(a0)
+ 800002a0: 00c52683 lw a3,12(a0)
+ 800002a4: c0101553 fcvt.wu.s a0,ft0,rtz
+ 800002a8: 001015f3 fsflags a1,zero
+ 800002ac: 01000613 li a2,16
+ 800002b0: 5ad51a63 bne a0,a3,80000864 <fail>
+ 800002b4: 5ac59863 bne a1,a2,80000864 <fail>
+
+00000000800002b8 <test_13>:
+ 800002b8: 00d00193 li gp,13
+ 800002bc: 00002517 auipc a0,0x2
+ 800002c0: dd450513 addi a0,a0,-556 # 80002090 <test_13_data>
+ 800002c4: 00052007 flw ft0,0(a0)
+ 800002c8: 00452087 flw ft1,4(a0)
+ 800002cc: 00852107 flw ft2,8(a0)
+ 800002d0: 00c52683 lw a3,12(a0)
+ 800002d4: c0101553 fcvt.wu.s a0,ft0,rtz
+ 800002d8: 001015f3 fsflags a1,zero
+ 800002dc: 01000613 li a2,16
+ 800002e0: 58d51263 bne a0,a3,80000864 <fail>
+ 800002e4: 58c59063 bne a1,a2,80000864 <fail>
+
+00000000800002e8 <test_14>:
+ 800002e8: 00e00193 li gp,14
+ 800002ec: 00002517 auipc a0,0x2
+ 800002f0: db450513 addi a0,a0,-588 # 800020a0 <test_14_data>
+ 800002f4: 00052007 flw ft0,0(a0)
+ 800002f8: 00452087 flw ft1,4(a0)
+ 800002fc: 00852107 flw ft2,8(a0)
+ 80000300: 00c52683 lw a3,12(a0)
+ 80000304: c0101553 fcvt.wu.s a0,ft0,rtz
+ 80000308: 001015f3 fsflags a1,zero
+ 8000030c: 00100613 li a2,1
+ 80000310: 54d51a63 bne a0,a3,80000864 <fail>
+ 80000314: 54c59863 bne a1,a2,80000864 <fail>
+
+0000000080000318 <test_15>:
+ 80000318: 00f00193 li gp,15
+ 8000031c: 00002517 auipc a0,0x2
+ 80000320: d9450513 addi a0,a0,-620 # 800020b0 <test_15_data>
+ 80000324: 00052007 flw ft0,0(a0)
+ 80000328: 00452087 flw ft1,4(a0)
+ 8000032c: 00852107 flw ft2,8(a0)
+ 80000330: 00c52683 lw a3,12(a0)
+ 80000334: c0101553 fcvt.wu.s a0,ft0,rtz
+ 80000338: 001015f3 fsflags a1,zero
+ 8000033c: 00100613 li a2,1
+ 80000340: 52d51263 bne a0,a3,80000864 <fail>
+ 80000344: 52c59063 bne a1,a2,80000864 <fail>
+
+0000000080000348 <test_16>:
+ 80000348: 01000193 li gp,16
+ 8000034c: 00002517 auipc a0,0x2
+ 80000350: d7450513 addi a0,a0,-652 # 800020c0 <test_16_data>
+ 80000354: 00052007 flw ft0,0(a0)
+ 80000358: 00452087 flw ft1,4(a0)
+ 8000035c: 00852107 flw ft2,8(a0)
+ 80000360: 00c52683 lw a3,12(a0)
+ 80000364: c0101553 fcvt.wu.s a0,ft0,rtz
+ 80000368: 001015f3 fsflags a1,zero
+ 8000036c: 00000613 li a2,0
+ 80000370: 4ed51a63 bne a0,a3,80000864 <fail>
+ 80000374: 4ec59863 bne a1,a2,80000864 <fail>
+
+0000000080000378 <test_17>:
+ 80000378: 01100193 li gp,17
+ 8000037c: 00002517 auipc a0,0x2
+ 80000380: d5450513 addi a0,a0,-684 # 800020d0 <test_17_data>
+ 80000384: 00052007 flw ft0,0(a0)
+ 80000388: 00452087 flw ft1,4(a0)
+ 8000038c: 00852107 flw ft2,8(a0)
+ 80000390: 00c52683 lw a3,12(a0)
+ 80000394: c0101553 fcvt.wu.s a0,ft0,rtz
+ 80000398: 001015f3 fsflags a1,zero
+ 8000039c: 00100613 li a2,1
+ 800003a0: 4cd51263 bne a0,a3,80000864 <fail>
+ 800003a4: 4cc59063 bne a1,a2,80000864 <fail>
+
+00000000800003a8 <test_18>:
+ 800003a8: 01200193 li gp,18
+ 800003ac: 00002517 auipc a0,0x2
+ 800003b0: d3450513 addi a0,a0,-716 # 800020e0 <test_18_data>
+ 800003b4: 00052007 flw ft0,0(a0)
+ 800003b8: 00452087 flw ft1,4(a0)
+ 800003bc: 00852107 flw ft2,8(a0)
+ 800003c0: 00c52683 lw a3,12(a0)
+ 800003c4: c0101553 fcvt.wu.s a0,ft0,rtz
+ 800003c8: 001015f3 fsflags a1,zero
+ 800003cc: 01000613 li a2,16
+ 800003d0: 48d51a63 bne a0,a3,80000864 <fail>
+ 800003d4: 48c59863 bne a1,a2,80000864 <fail>
+
+00000000800003d8 <test_19>:
+ 800003d8: 01300193 li gp,19
+ 800003dc: 00002517 auipc a0,0x2
+ 800003e0: d1450513 addi a0,a0,-748 # 800020f0 <test_19_data>
+ 800003e4: 00052007 flw ft0,0(a0)
+ 800003e8: 00452087 flw ft1,4(a0)
+ 800003ec: 00852107 flw ft2,8(a0)
+ 800003f0: 00c52683 lw a3,12(a0)
+ 800003f4: c0101553 fcvt.wu.s a0,ft0,rtz
+ 800003f8: 001015f3 fsflags a1,zero
+ 800003fc: 00000613 li a2,0
+ 80000400: 46d51263 bne a0,a3,80000864 <fail>
+ 80000404: 46c59063 bne a1,a2,80000864 <fail>
+
+0000000080000408 <test_22>:
+ 80000408: 01600193 li gp,22
+ 8000040c: 00002517 auipc a0,0x2
+ 80000410: cf450513 addi a0,a0,-780 # 80002100 <test_22_data>
+ 80000414: 00052007 flw ft0,0(a0)
+ 80000418: 00452087 flw ft1,4(a0)
+ 8000041c: 00852107 flw ft2,8(a0)
+ 80000420: 00c52683 lw a3,12(a0)
+ 80000424: c0201553 fcvt.l.s a0,ft0,rtz
+ 80000428: 001015f3 fsflags a1,zero
+ 8000042c: 00100613 li a2,1
+ 80000430: 42d51a63 bne a0,a3,80000864 <fail>
+ 80000434: 42c59863 bne a1,a2,80000864 <fail>
+
+0000000080000438 <test_23>:
+ 80000438: 01700193 li gp,23
+ 8000043c: 00002517 auipc a0,0x2
+ 80000440: cd450513 addi a0,a0,-812 # 80002110 <test_23_data>
+ 80000444: 00052007 flw ft0,0(a0)
+ 80000448: 00452087 flw ft1,4(a0)
+ 8000044c: 00852107 flw ft2,8(a0)
+ 80000450: 00c52683 lw a3,12(a0)
+ 80000454: c0201553 fcvt.l.s a0,ft0,rtz
+ 80000458: 001015f3 fsflags a1,zero
+ 8000045c: 00000613 li a2,0
+ 80000460: 40d51263 bne a0,a3,80000864 <fail>
+ 80000464: 40c59063 bne a1,a2,80000864 <fail>
+
+0000000080000468 <test_24>:
+ 80000468: 01800193 li gp,24
+ 8000046c: 00002517 auipc a0,0x2
+ 80000470: cb450513 addi a0,a0,-844 # 80002120 <test_24_data>
+ 80000474: 00052007 flw ft0,0(a0)
+ 80000478: 00452087 flw ft1,4(a0)
+ 8000047c: 00852107 flw ft2,8(a0)
+ 80000480: 00c52683 lw a3,12(a0)
+ 80000484: c0201553 fcvt.l.s a0,ft0,rtz
+ 80000488: 001015f3 fsflags a1,zero
+ 8000048c: 00100613 li a2,1
+ 80000490: 3cd51a63 bne a0,a3,80000864 <fail>
+ 80000494: 3cc59863 bne a1,a2,80000864 <fail>
+
+0000000080000498 <test_25>:
+ 80000498: 01900193 li gp,25
+ 8000049c: 00002517 auipc a0,0x2
+ 800004a0: c9450513 addi a0,a0,-876 # 80002130 <test_25_data>
+ 800004a4: 00052007 flw ft0,0(a0)
+ 800004a8: 00452087 flw ft1,4(a0)
+ 800004ac: 00852107 flw ft2,8(a0)
+ 800004b0: 00c52683 lw a3,12(a0)
+ 800004b4: c0201553 fcvt.l.s a0,ft0,rtz
+ 800004b8: 001015f3 fsflags a1,zero
+ 800004bc: 00100613 li a2,1
+ 800004c0: 3ad51263 bne a0,a3,80000864 <fail>
+ 800004c4: 3ac59063 bne a1,a2,80000864 <fail>
+
+00000000800004c8 <test_26>:
+ 800004c8: 01a00193 li gp,26
+ 800004cc: 00002517 auipc a0,0x2
+ 800004d0: c7450513 addi a0,a0,-908 # 80002140 <test_26_data>
+ 800004d4: 00052007 flw ft0,0(a0)
+ 800004d8: 00452087 flw ft1,4(a0)
+ 800004dc: 00852107 flw ft2,8(a0)
+ 800004e0: 00c52683 lw a3,12(a0)
+ 800004e4: c0201553 fcvt.l.s a0,ft0,rtz
+ 800004e8: 001015f3 fsflags a1,zero
+ 800004ec: 00000613 li a2,0
+ 800004f0: 36d51a63 bne a0,a3,80000864 <fail>
+ 800004f4: 36c59863 bne a1,a2,80000864 <fail>
+
+00000000800004f8 <test_27>:
+ 800004f8: 01b00193 li gp,27
+ 800004fc: 00002517 auipc a0,0x2
+ 80000500: c5450513 addi a0,a0,-940 # 80002150 <test_27_data>
+ 80000504: 00052007 flw ft0,0(a0)
+ 80000508: 00452087 flw ft1,4(a0)
+ 8000050c: 00852107 flw ft2,8(a0)
+ 80000510: 00c52683 lw a3,12(a0)
+ 80000514: c0201553 fcvt.l.s a0,ft0,rtz
+ 80000518: 001015f3 fsflags a1,zero
+ 8000051c: 00100613 li a2,1
+ 80000520: 34d51263 bne a0,a3,80000864 <fail>
+ 80000524: 34c59063 bne a1,a2,80000864 <fail>
+
+0000000080000528 <test_32>:
+ 80000528: 02000193 li gp,32
+ 8000052c: 00002517 auipc a0,0x2
+ 80000530: c3450513 addi a0,a0,-972 # 80002160 <test_32_data>
+ 80000534: 00052007 flw ft0,0(a0)
+ 80000538: 00452087 flw ft1,4(a0)
+ 8000053c: 00852107 flw ft2,8(a0)
+ 80000540: 00c52683 lw a3,12(a0)
+ 80000544: c0301553 fcvt.lu.s a0,ft0,rtz
+ 80000548: 001015f3 fsflags a1,zero
+ 8000054c: 01000613 li a2,16
+ 80000550: 30d51a63 bne a0,a3,80000864 <fail>
+ 80000554: 30c59863 bne a1,a2,80000864 <fail>
+
+0000000080000558 <test_33>:
+ 80000558: 02100193 li gp,33
+ 8000055c: 00002517 auipc a0,0x2
+ 80000560: c1450513 addi a0,a0,-1004 # 80002170 <test_33_data>
+ 80000564: 00052007 flw ft0,0(a0)
+ 80000568: 00452087 flw ft1,4(a0)
+ 8000056c: 00852107 flw ft2,8(a0)
+ 80000570: 00c52683 lw a3,12(a0)
+ 80000574: c0301553 fcvt.lu.s a0,ft0,rtz
+ 80000578: 001015f3 fsflags a1,zero
+ 8000057c: 01000613 li a2,16
+ 80000580: 2ed51263 bne a0,a3,80000864 <fail>
+ 80000584: 2ec59063 bne a1,a2,80000864 <fail>
+
+0000000080000588 <test_34>:
+ 80000588: 02200193 li gp,34
+ 8000058c: 00002517 auipc a0,0x2
+ 80000590: bf450513 addi a0,a0,-1036 # 80002180 <test_34_data>
+ 80000594: 00052007 flw ft0,0(a0)
+ 80000598: 00452087 flw ft1,4(a0)
+ 8000059c: 00852107 flw ft2,8(a0)
+ 800005a0: 00c52683 lw a3,12(a0)
+ 800005a4: c0301553 fcvt.lu.s a0,ft0,rtz
+ 800005a8: 001015f3 fsflags a1,zero
+ 800005ac: 00100613 li a2,1
+ 800005b0: 2ad51a63 bne a0,a3,80000864 <fail>
+ 800005b4: 2ac59863 bne a1,a2,80000864 <fail>
+
+00000000800005b8 <test_35>:
+ 800005b8: 02300193 li gp,35
+ 800005bc: 00002517 auipc a0,0x2
+ 800005c0: bd450513 addi a0,a0,-1068 # 80002190 <test_35_data>
+ 800005c4: 00052007 flw ft0,0(a0)
+ 800005c8: 00452087 flw ft1,4(a0)
+ 800005cc: 00852107 flw ft2,8(a0)
+ 800005d0: 00c52683 lw a3,12(a0)
+ 800005d4: c0301553 fcvt.lu.s a0,ft0,rtz
+ 800005d8: 001015f3 fsflags a1,zero
+ 800005dc: 00100613 li a2,1
+ 800005e0: 28d51263 bne a0,a3,80000864 <fail>
+ 800005e4: 28c59063 bne a1,a2,80000864 <fail>
+
+00000000800005e8 <test_36>:
+ 800005e8: 02400193 li gp,36
+ 800005ec: 00002517 auipc a0,0x2
+ 800005f0: bb450513 addi a0,a0,-1100 # 800021a0 <test_36_data>
+ 800005f4: 00052007 flw ft0,0(a0)
+ 800005f8: 00452087 flw ft1,4(a0)
+ 800005fc: 00852107 flw ft2,8(a0)
+ 80000600: 00c52683 lw a3,12(a0)
+ 80000604: c0301553 fcvt.lu.s a0,ft0,rtz
+ 80000608: 001015f3 fsflags a1,zero
+ 8000060c: 00000613 li a2,0
+ 80000610: 24d51a63 bne a0,a3,80000864 <fail>
+ 80000614: 24c59863 bne a1,a2,80000864 <fail>
+
+0000000080000618 <test_37>:
+ 80000618: 02500193 li gp,37
+ 8000061c: 00002517 auipc a0,0x2
+ 80000620: b9450513 addi a0,a0,-1132 # 800021b0 <test_37_data>
+ 80000624: 00052007 flw ft0,0(a0)
+ 80000628: 00452087 flw ft1,4(a0)
+ 8000062c: 00852107 flw ft2,8(a0)
+ 80000630: 00c52683 lw a3,12(a0)
+ 80000634: c0301553 fcvt.lu.s a0,ft0,rtz
+ 80000638: 001015f3 fsflags a1,zero
+ 8000063c: 00100613 li a2,1
+ 80000640: 22d51263 bne a0,a3,80000864 <fail>
+ 80000644: 22c59063 bne a1,a2,80000864 <fail>
+
+0000000080000648 <test_38>:
+ 80000648: 02600193 li gp,38
+ 8000064c: 00002517 auipc a0,0x2
+ 80000650: b7450513 addi a0,a0,-1164 # 800021c0 <test_38_data>
+ 80000654: 00052007 flw ft0,0(a0)
+ 80000658: 00452087 flw ft1,4(a0)
+ 8000065c: 00852107 flw ft2,8(a0)
+ 80000660: 00c52683 lw a3,12(a0)
+ 80000664: c0301553 fcvt.lu.s a0,ft0,rtz
+ 80000668: 001015f3 fsflags a1,zero
+ 8000066c: 01000613 li a2,16
+ 80000670: 1ed51a63 bne a0,a3,80000864 <fail>
+ 80000674: 1ec59863 bne a1,a2,80000864 <fail>
+
+0000000080000678 <test_42>:
+ 80000678: 00002097 auipc ra,0x2
+ 8000067c: b5808093 addi ra,ra,-1192 # 800021d0 <begin_signature>
+ 80000680: 0000a087 flw ft1,0(ra)
+ 80000684: c000f0d3 fcvt.w.s ra,ft1
+ 80000688: 80000eb7 lui t4,0x80000
+ 8000068c: fffe8e9b addiw t4,t4,-1
+ 80000690: 02a00193 li gp,42
+ 80000694: 1dd09863 bne ra,t4,80000864 <fail>
+
+0000000080000698 <test_44>:
+ 80000698: 00002097 auipc ra,0x2
+ 8000069c: b3808093 addi ra,ra,-1224 # 800021d0 <begin_signature>
+ 800006a0: 0080a087 flw ft1,8(ra)
+ 800006a4: c000f0d3 fcvt.w.s ra,ft1
+ 800006a8: 80000eb7 lui t4,0x80000
+ 800006ac: 02c00193 li gp,44
+ 800006b0: 1bd09a63 bne ra,t4,80000864 <fail>
+
+00000000800006b4 <test_43>:
+ 800006b4: 00002097 auipc ra,0x2
+ 800006b8: b1c08093 addi ra,ra,-1252 # 800021d0 <begin_signature>
+ 800006bc: 0000a087 flw ft1,0(ra)
+ 800006c0: c020f0d3 fcvt.l.s ra,ft1
+ 800006c4: fff00e9b addiw t4,zero,-1
+ 800006c8: 03fe9e93 slli t4,t4,0x3f
+ 800006cc: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffffddff>
+ 800006d0: 02b00193 li gp,43
+ 800006d4: 19d09863 bne ra,t4,80000864 <fail>
+
+00000000800006d8 <test_45>:
+ 800006d8: 00002097 auipc ra,0x2
+ 800006dc: af808093 addi ra,ra,-1288 # 800021d0 <begin_signature>
+ 800006e0: 0080a087 flw ft1,8(ra)
+ 800006e4: c020f0d3 fcvt.l.s ra,ft1
+ 800006e8: fff00e9b addiw t4,zero,-1
+ 800006ec: 03fe9e93 slli t4,t4,0x3f
+ 800006f0: 02d00193 li gp,45
+ 800006f4: 17d09863 bne ra,t4,80000864 <fail>
+
+00000000800006f8 <test_52>:
+ 800006f8: 00002097 auipc ra,0x2
+ 800006fc: ad808093 addi ra,ra,-1320 # 800021d0 <begin_signature>
+ 80000700: 0040a087 flw ft1,4(ra)
+ 80000704: c000f0d3 fcvt.w.s ra,ft1
+ 80000708: 80000eb7 lui t4,0x80000
+ 8000070c: fffe8e9b addiw t4,t4,-1
+ 80000710: 03400193 li gp,52
+ 80000714: 15d09863 bne ra,t4,80000864 <fail>
+
+0000000080000718 <test_54>:
+ 80000718: 00002097 auipc ra,0x2
+ 8000071c: ab808093 addi ra,ra,-1352 # 800021d0 <begin_signature>
+ 80000720: 00c0a087 flw ft1,12(ra)
+ 80000724: c000f0d3 fcvt.w.s ra,ft1
+ 80000728: 80000eb7 lui t4,0x80000
+ 8000072c: fffe8e9b addiw t4,t4,-1
+ 80000730: 03600193 li gp,54
+ 80000734: 13d09863 bne ra,t4,80000864 <fail>
+
+0000000080000738 <test_53>:
+ 80000738: 00002097 auipc ra,0x2
+ 8000073c: a9808093 addi ra,ra,-1384 # 800021d0 <begin_signature>
+ 80000740: 0040a087 flw ft1,4(ra)
+ 80000744: c020f0d3 fcvt.l.s ra,ft1
+ 80000748: fff00e9b addiw t4,zero,-1
+ 8000074c: 03fe9e93 slli t4,t4,0x3f
+ 80000750: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffffddff>
+ 80000754: 03500193 li gp,53
+ 80000758: 11d09663 bne ra,t4,80000864 <fail>
+
+000000008000075c <test_55>:
+ 8000075c: 00002097 auipc ra,0x2
+ 80000760: a7408093 addi ra,ra,-1420 # 800021d0 <begin_signature>
+ 80000764: 00c0a087 flw ft1,12(ra)
+ 80000768: c020f0d3 fcvt.l.s ra,ft1
+ 8000076c: fff00e9b addiw t4,zero,-1
+ 80000770: 03fe9e93 slli t4,t4,0x3f
+ 80000774: fffe8e93 addi t4,t4,-1
+ 80000778: 03700193 li gp,55
+ 8000077c: 0fd09463 bne ra,t4,80000864 <fail>
+
+0000000080000780 <test_62>:
+ 80000780: 00002097 auipc ra,0x2
+ 80000784: a5008093 addi ra,ra,-1456 # 800021d0 <begin_signature>
+ 80000788: 0000a087 flw ft1,0(ra)
+ 8000078c: c010f0d3 fcvt.wu.s ra,ft1
+ 80000790: fff00e93 li t4,-1
+ 80000794: 03e00193 li gp,62
+ 80000798: 0dd09663 bne ra,t4,80000864 <fail>
+
+000000008000079c <test_63>:
+ 8000079c: 00002097 auipc ra,0x2
+ 800007a0: a3408093 addi ra,ra,-1484 # 800021d0 <begin_signature>
+ 800007a4: 0040a087 flw ft1,4(ra)
+ 800007a8: c010f0d3 fcvt.wu.s ra,ft1
+ 800007ac: fff00e93 li t4,-1
+ 800007b0: 03f00193 li gp,63
+ 800007b4: 0bd09863 bne ra,t4,80000864 <fail>
+
+00000000800007b8 <test_64>:
+ 800007b8: 00002097 auipc ra,0x2
+ 800007bc: a1808093 addi ra,ra,-1512 # 800021d0 <begin_signature>
+ 800007c0: 0080a087 flw ft1,8(ra)
+ 800007c4: c010f0d3 fcvt.wu.s ra,ft1
+ 800007c8: 00000e93 li t4,0
+ 800007cc: 04000193 li gp,64
+ 800007d0: 09d09a63 bne ra,t4,80000864 <fail>
+
+00000000800007d4 <test_65>:
+ 800007d4: 00002097 auipc ra,0x2
+ 800007d8: 9fc08093 addi ra,ra,-1540 # 800021d0 <begin_signature>
+ 800007dc: 00c0a087 flw ft1,12(ra)
+ 800007e0: c010f0d3 fcvt.wu.s ra,ft1
+ 800007e4: fff00e93 li t4,-1
+ 800007e8: 04100193 li gp,65
+ 800007ec: 07d09c63 bne ra,t4,80000864 <fail>
+
+00000000800007f0 <test_66>:
+ 800007f0: 00002097 auipc ra,0x2
+ 800007f4: 9e008093 addi ra,ra,-1568 # 800021d0 <begin_signature>
+ 800007f8: 0000a087 flw ft1,0(ra)
+ 800007fc: c030f0d3 fcvt.lu.s ra,ft1
+ 80000800: fff00e93 li t4,-1
+ 80000804: 04200193 li gp,66
+ 80000808: 05d09e63 bne ra,t4,80000864 <fail>
+
+000000008000080c <test_67>:
+ 8000080c: 00002097 auipc ra,0x2
+ 80000810: 9c408093 addi ra,ra,-1596 # 800021d0 <begin_signature>
+ 80000814: 0040a087 flw ft1,4(ra)
+ 80000818: c030f0d3 fcvt.lu.s ra,ft1
+ 8000081c: fff00e93 li t4,-1
+ 80000820: 04300193 li gp,67
+ 80000824: 05d09063 bne ra,t4,80000864 <fail>
+
+0000000080000828 <test_68>:
+ 80000828: 00002097 auipc ra,0x2
+ 8000082c: 9a808093 addi ra,ra,-1624 # 800021d0 <begin_signature>
+ 80000830: 0080a087 flw ft1,8(ra)
+ 80000834: c030f0d3 fcvt.lu.s ra,ft1
+ 80000838: 00000e93 li t4,0
+ 8000083c: 04400193 li gp,68
+ 80000840: 03d09263 bne ra,t4,80000864 <fail>
+
+0000000080000844 <test_69>:
+ 80000844: 00002097 auipc ra,0x2
+ 80000848: 98c08093 addi ra,ra,-1652 # 800021d0 <begin_signature>
+ 8000084c: 00c0a087 flw ft1,12(ra)
+ 80000850: c030f0d3 fcvt.lu.s ra,ft1
+ 80000854: fff00e93 li t4,-1
+ 80000858: 04500193 li gp,69
+ 8000085c: 01d09463 bne ra,t4,80000864 <fail>
+ 80000860: 00301c63 bne zero,gp,80000878 <pass>
+
+0000000080000864 <fail>:
+ 80000864: 0ff0000f fence
+ 80000868: 00018063 beqz gp,80000868 <fail+0x4>
+ 8000086c: 00119193 slli gp,gp,0x1
+ 80000870: 0011e193 ori gp,gp,1
+ 80000874: 00000073 ecall
+
+0000000080000878 <pass>:
+ 80000878: 0ff0000f fence
+ 8000087c: 00100193 li gp,1
+ 80000880: 00000073 ecall
+ 80000884: c0001073 unimp
+ 80000888: 0000 unimp
+ 8000088a: 0000 unimp
+ 8000088c: 0000 unimp
+ 8000088e: 0000 unimp
+ 80000890: 0000 unimp
+ 80000892: 0000 unimp
+ 80000894: 0000 unimp
+ 80000896: 0000 unimp
+ 80000898: 0000 unimp
+ 8000089a: 0000 unimp
+ 8000089c: 0000 unimp
+ 8000089e: 0000 unimp
+ 800008a0: 0000 unimp
+ 800008a2: 0000 unimp
+ 800008a4: 0000 unimp
+ 800008a6: 0000 unimp
+ 800008a8: 0000 unimp
+ 800008aa: 0000 unimp
+ 800008ac: 0000 unimp
+ 800008ae: 0000 unimp
+ 800008b0: 0000 unimp
+ 800008b2: 0000 unimp
+ 800008b4: 0000 unimp
+ 800008b6: 0000 unimp
+ 800008b8: 0000 unimp
+ 800008ba: 0000 unimp
+ 800008bc: 0000 unimp
+ 800008be: 0000 unimp
+ 800008c0: 0000 unimp
+ 800008c2: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <test_2_data>:
+ 80002000: cccd beqz s1,800020ba <test_15_data+0xa>
+ 80002002: bf8c fsd fa1,56(a5)
+ 80002004: 0000 unimp
+ 80002006: 0000 unimp
+ 80002008: 0000 unimp
+ 8000200a: 0000 unimp
+ 8000200c: ffff 0xffff
+ 8000200e: ffff 0xffff
+
+0000000080002010 <test_3_data>:
+ 80002010: 0000 unimp
+ 80002012: bf80 fsd fs0,56(a5)
+ 80002014: 0000 unimp
+ 80002016: 0000 unimp
+ 80002018: 0000 unimp
+ 8000201a: 0000 unimp
+ 8000201c: ffff 0xffff
+ 8000201e: ffff 0xffff
+
+0000000080002020 <test_4_data>:
+ 80002020: 6666 ld a2,88(sp)
+ 80002022: bf66 fsd fs9,440(sp)
+ 80002024: 0000 unimp
+ 80002026: 0000 unimp
+ 80002028: 0000 unimp
+ 8000202a: 0000 unimp
+ 8000202c: 0000 unimp
+ 8000202e: 0000 unimp
+
+0000000080002030 <test_5_data>:
+ 80002030: 6666 ld a2,88(sp)
+ 80002032: 3f66 fld ft10,120(sp)
+ 80002034: 0000 unimp
+ 80002036: 0000 unimp
+ 80002038: 0000 unimp
+ 8000203a: 0000 unimp
+ 8000203c: 0000 unimp
+ 8000203e: 0000 unimp
+
+0000000080002040 <test_6_data>:
+ 80002040: 0000 unimp
+ 80002042: 3f80 fld fs0,56(a5)
+ 80002044: 0000 unimp
+ 80002046: 0000 unimp
+ 80002048: 0000 unimp
+ 8000204a: 0000 unimp
+ 8000204c: 0001 nop
+ 8000204e: 0000 unimp
+
+0000000080002050 <test_7_data>:
+ 80002050: cccd beqz s1,8000210a <test_22_data+0xa>
+ 80002052: 3f8c fld fa1,56(a5)
+ 80002054: 0000 unimp
+ 80002056: 0000 unimp
+ 80002058: 0000 unimp
+ 8000205a: 0000 unimp
+ 8000205c: 0001 nop
+ 8000205e: 0000 unimp
+
+0000000080002060 <test_8_data>:
+ 80002060: d05e sw s7,32(sp)
+ 80002062: cf32 sw a2,156(sp)
+ 80002064: 0000 unimp
+ 80002066: 0000 unimp
+ 80002068: 0000 unimp
+ 8000206a: 0000 unimp
+ 8000206c: 0000 unimp
+ 8000206e: 8000 0x8000
+
+0000000080002070 <test_9_data>:
+ 80002070: d05e sw s7,32(sp)
+ 80002072: 4f32 lw t5,12(sp)
+ 80002074: 0000 unimp
+ 80002076: 0000 unimp
+ 80002078: 0000 unimp
+ 8000207a: 0000 unimp
+ 8000207c: ffff 0xffff
+ 8000207e: 7fff 0x7fff
+
+0000000080002080 <test_12_data>:
+ 80002080: 0000 unimp
+ 80002082: c040 sw s0,4(s0)
+ 80002084: 0000 unimp
+ 80002086: 0000 unimp
+ 80002088: 0000 unimp
+ 8000208a: 0000 unimp
+ 8000208c: 0000 unimp
+ 8000208e: 0000 unimp
+
+0000000080002090 <test_13_data>:
+ 80002090: 0000 unimp
+ 80002092: bf80 fsd fs0,56(a5)
+ 80002094: 0000 unimp
+ 80002096: 0000 unimp
+ 80002098: 0000 unimp
+ 8000209a: 0000 unimp
+ 8000209c: 0000 unimp
+ 8000209e: 0000 unimp
+
+00000000800020a0 <test_14_data>:
+ 800020a0: 6666 ld a2,88(sp)
+ 800020a2: bf66 fsd fs9,440(sp)
+ 800020a4: 0000 unimp
+ 800020a6: 0000 unimp
+ 800020a8: 0000 unimp
+ 800020aa: 0000 unimp
+ 800020ac: 0000 unimp
+ 800020ae: 0000 unimp
+
+00000000800020b0 <test_15_data>:
+ 800020b0: 6666 ld a2,88(sp)
+ 800020b2: 3f66 fld ft10,120(sp)
+ 800020b4: 0000 unimp
+ 800020b6: 0000 unimp
+ 800020b8: 0000 unimp
+ 800020ba: 0000 unimp
+ 800020bc: 0000 unimp
+ 800020be: 0000 unimp
+
+00000000800020c0 <test_16_data>:
+ 800020c0: 0000 unimp
+ 800020c2: 3f80 fld fs0,56(a5)
+ 800020c4: 0000 unimp
+ 800020c6: 0000 unimp
+ 800020c8: 0000 unimp
+ 800020ca: 0000 unimp
+ 800020cc: 0001 nop
+ 800020ce: 0000 unimp
+
+00000000800020d0 <test_17_data>:
+ 800020d0: cccd beqz s1,8000218a <test_34_data+0xa>
+ 800020d2: 3f8c fld fa1,56(a5)
+ 800020d4: 0000 unimp
+ 800020d6: 0000 unimp
+ 800020d8: 0000 unimp
+ 800020da: 0000 unimp
+ 800020dc: 0001 nop
+ 800020de: 0000 unimp
+
+00000000800020e0 <test_18_data>:
+ 800020e0: d05e sw s7,32(sp)
+ 800020e2: cf32 sw a2,156(sp)
+ 800020e4: 0000 unimp
+ 800020e6: 0000 unimp
+ 800020e8: 0000 unimp
+ 800020ea: 0000 unimp
+ 800020ec: 0000 unimp
+ 800020ee: 0000 unimp
+
+00000000800020f0 <test_19_data>:
+ 800020f0: d05e sw s7,32(sp)
+ 800020f2: 4f32 lw t5,12(sp)
+ 800020f4: 0000 unimp
+ 800020f6: 0000 unimp
+ 800020f8: 0000 unimp
+ 800020fa: 0000 unimp
+ 800020fc: 5e00 lw s0,56(a2)
+ 800020fe: b2d0 fsd fa2,160(a3)
+
+0000000080002100 <test_22_data>:
+ 80002100: cccd beqz s1,800021ba <test_37_data+0xa>
+ 80002102: bf8c fsd fa1,56(a5)
+ 80002104: 0000 unimp
+ 80002106: 0000 unimp
+ 80002108: 0000 unimp
+ 8000210a: 0000 unimp
+ 8000210c: ffff 0xffff
+ 8000210e: ffff 0xffff
+
+0000000080002110 <test_23_data>:
+ 80002110: 0000 unimp
+ 80002112: bf80 fsd fs0,56(a5)
+ 80002114: 0000 unimp
+ 80002116: 0000 unimp
+ 80002118: 0000 unimp
+ 8000211a: 0000 unimp
+ 8000211c: ffff 0xffff
+ 8000211e: ffff 0xffff
+
+0000000080002120 <test_24_data>:
+ 80002120: 6666 ld a2,88(sp)
+ 80002122: bf66 fsd fs9,440(sp)
+ 80002124: 0000 unimp
+ 80002126: 0000 unimp
+ 80002128: 0000 unimp
+ 8000212a: 0000 unimp
+ 8000212c: 0000 unimp
+ 8000212e: 0000 unimp
+
+0000000080002130 <test_25_data>:
+ 80002130: 6666 ld a2,88(sp)
+ 80002132: 3f66 fld ft10,120(sp)
+ 80002134: 0000 unimp
+ 80002136: 0000 unimp
+ 80002138: 0000 unimp
+ 8000213a: 0000 unimp
+ 8000213c: 0000 unimp
+ 8000213e: 0000 unimp
+
+0000000080002140 <test_26_data>:
+ 80002140: 0000 unimp
+ 80002142: 3f80 fld fs0,56(a5)
+ 80002144: 0000 unimp
+ 80002146: 0000 unimp
+ 80002148: 0000 unimp
+ 8000214a: 0000 unimp
+ 8000214c: 0001 nop
+ 8000214e: 0000 unimp
+
+0000000080002150 <test_27_data>:
+ 80002150: cccd beqz s1,8000220a <_end+0xa>
+ 80002152: 3f8c fld fa1,56(a5)
+ 80002154: 0000 unimp
+ 80002156: 0000 unimp
+ 80002158: 0000 unimp
+ 8000215a: 0000 unimp
+ 8000215c: 0001 nop
+ 8000215e: 0000 unimp
+
+0000000080002160 <test_32_data>:
+ 80002160: 0000 unimp
+ 80002162: c040 sw s0,4(s0)
+ 80002164: 0000 unimp
+ 80002166: 0000 unimp
+ 80002168: 0000 unimp
+ 8000216a: 0000 unimp
+ 8000216c: 0000 unimp
+ 8000216e: 0000 unimp
+
+0000000080002170 <test_33_data>:
+ 80002170: 0000 unimp
+ 80002172: bf80 fsd fs0,56(a5)
+ 80002174: 0000 unimp
+ 80002176: 0000 unimp
+ 80002178: 0000 unimp
+ 8000217a: 0000 unimp
+ 8000217c: 0000 unimp
+ 8000217e: 0000 unimp
+
+0000000080002180 <test_34_data>:
+ 80002180: 6666 ld a2,88(sp)
+ 80002182: bf66 fsd fs9,440(sp)
+ 80002184: 0000 unimp
+ 80002186: 0000 unimp
+ 80002188: 0000 unimp
+ 8000218a: 0000 unimp
+ 8000218c: 0000 unimp
+ 8000218e: 0000 unimp
+
+0000000080002190 <test_35_data>:
+ 80002190: 6666 ld a2,88(sp)
+ 80002192: 3f66 fld ft10,120(sp)
+ 80002194: 0000 unimp
+ 80002196: 0000 unimp
+ 80002198: 0000 unimp
+ 8000219a: 0000 unimp
+ 8000219c: 0000 unimp
+ 8000219e: 0000 unimp
+
+00000000800021a0 <test_36_data>:
+ 800021a0: 0000 unimp
+ 800021a2: 3f80 fld fs0,56(a5)
+ 800021a4: 0000 unimp
+ 800021a6: 0000 unimp
+ 800021a8: 0000 unimp
+ 800021aa: 0000 unimp
+ 800021ac: 0001 nop
+ 800021ae: 0000 unimp
+
+00000000800021b0 <test_37_data>:
+ 800021b0: cccd beqz s1,8000226a <_end+0x6a>
+ 800021b2: 3f8c fld fa1,56(a5)
+ 800021b4: 0000 unimp
+ 800021b6: 0000 unimp
+ 800021b8: 0000 unimp
+ 800021ba: 0000 unimp
+ 800021bc: 0001 nop
+ 800021be: 0000 unimp
+
+00000000800021c0 <test_38_data>:
+ 800021c0: d05e sw s7,32(sp)
+ 800021c2: cf32 sw a2,156(sp)
+ 800021c4: 0000 unimp
+ 800021c6: 0000 unimp
+ 800021c8: 0000 unimp
+ 800021ca: 0000 unimp
+ 800021cc: 0000 unimp
+ 800021ce: 0000 unimp
+
+00000000800021d0 <begin_signature>:
+ 800021d0: ffff 0xffff
+ 800021d2: ffff 0xffff
+ 800021d4: ffff 0xffff
+ 800021d6: 7fff 0x7fff
+ 800021d8: 0000 unimp
+ 800021da: ff80 sd s0,56(a5)
+ 800021dc: 0000 unimp
+ 800021de: 7f80 ld s0,56(a5)
+
+00000000800021e0 <tdat_d>:
+ 800021e0: ffff 0xffff
+ 800021e2: ffff 0xffff
+ 800021e4: ffff 0xffff
+ 800021e6: ffff 0xffff
+ 800021e8: ffff 0xffff
+ 800021ea: ffff 0xffff
+ 800021ec: ffff 0xffff
+ 800021ee: 7fff 0x7fff
+ 800021f0: 0000 unimp
+ 800021f2: 0000 unimp
+ 800021f4: 0000 unimp
+ 800021f6: fff0 sd a2,248(a5)
+ 800021f8: 0000 unimp
+ 800021fa: 0000 unimp
+ 800021fc: 0000 unimp
+ 800021fe: 7ff0 ld a2,248(a5)
diff --git a/test/riscv-tests/rv64uf-p-fcvt_w.elf b/test/riscv-tests/rv64uf-p-fcvt_w.elf
new file mode 100644
index 0000000..2994eb4
--- /dev/null
+++ b/test/riscv-tests/rv64uf-p-fcvt_w.elf
Binary files differ
diff --git a/test/riscv-tests/rv64uf-p-fdiv.dump b/test/riscv-tests/rv64uf-p-fdiv.dump
new file mode 100644
index 0000000..def2be6
--- /dev/null
+++ b/test/riscv-tests/rv64uf-p-fdiv.dump
@@ -0,0 +1,294 @@
+
+rv64uf-p-fdiv: 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: 00002537 lui a0,0x2
+ 800000ec: 30052073 csrs mstatus,a0
+ 800000f0: 00305073 csrwi fcsr,0
+ 800000f4: 00000297 auipc t0,0x0
+ 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+ 800000fc: 34129073 csrw mepc,t0
+ 80000100: f1402573 csrr a0,mhartid
+ 80000104: 30200073 mret
+
+0000000080000108 <test_2>:
+ 80000108: 00200193 li gp,2
+ 8000010c: 00002517 auipc a0,0x2
+ 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+ 80000114: 00052007 flw ft0,0(a0)
+ 80000118: 00452087 flw ft1,4(a0)
+ 8000011c: 00852107 flw ft2,8(a0)
+ 80000120: 00c52683 lw a3,12(a0)
+ 80000124: 181071d3 fdiv.s ft3,ft0,ft1
+ 80000128: e0018553 fmv.x.w a0,ft3
+ 8000012c: 001015f3 fsflags a1,zero
+ 80000130: 00100613 li a2,1
+ 80000134: 14d51263 bne a0,a3,80000278 <fail>
+ 80000138: 14c59063 bne a1,a2,80000278 <fail>
+
+000000008000013c <test_3>:
+ 8000013c: 00300193 li gp,3
+ 80000140: 00002517 auipc a0,0x2
+ 80000144: ed050513 addi a0,a0,-304 # 80002010 <test_3_data>
+ 80000148: 00052007 flw ft0,0(a0)
+ 8000014c: 00452087 flw ft1,4(a0)
+ 80000150: 00852107 flw ft2,8(a0)
+ 80000154: 00c52683 lw a3,12(a0)
+ 80000158: 181071d3 fdiv.s ft3,ft0,ft1
+ 8000015c: e0018553 fmv.x.w a0,ft3
+ 80000160: 001015f3 fsflags a1,zero
+ 80000164: 00100613 li a2,1
+ 80000168: 10d51863 bne a0,a3,80000278 <fail>
+ 8000016c: 10c59663 bne a1,a2,80000278 <fail>
+
+0000000080000170 <test_4>:
+ 80000170: 00400193 li gp,4
+ 80000174: 00002517 auipc a0,0x2
+ 80000178: eac50513 addi a0,a0,-340 # 80002020 <test_4_data>
+ 8000017c: 00052007 flw ft0,0(a0)
+ 80000180: 00452087 flw ft1,4(a0)
+ 80000184: 00852107 flw ft2,8(a0)
+ 80000188: 00c52683 lw a3,12(a0)
+ 8000018c: 181071d3 fdiv.s ft3,ft0,ft1
+ 80000190: e0018553 fmv.x.w a0,ft3
+ 80000194: 001015f3 fsflags a1,zero
+ 80000198: 00000613 li a2,0
+ 8000019c: 0cd51e63 bne a0,a3,80000278 <fail>
+ 800001a0: 0cc59c63 bne a1,a2,80000278 <fail>
+
+00000000800001a4 <test_5>:
+ 800001a4: 00500193 li gp,5
+ 800001a8: 00002517 auipc a0,0x2
+ 800001ac: e8850513 addi a0,a0,-376 # 80002030 <test_5_data>
+ 800001b0: 00052007 flw ft0,0(a0)
+ 800001b4: 00452087 flw ft1,4(a0)
+ 800001b8: 00852107 flw ft2,8(a0)
+ 800001bc: 00c52683 lw a3,12(a0)
+ 800001c0: 580071d3 fsqrt.s ft3,ft0
+ 800001c4: e0018553 fmv.x.w a0,ft3
+ 800001c8: 001015f3 fsflags a1,zero
+ 800001cc: 00100613 li a2,1
+ 800001d0: 0ad51463 bne a0,a3,80000278 <fail>
+ 800001d4: 0ac59263 bne a1,a2,80000278 <fail>
+
+00000000800001d8 <test_6>:
+ 800001d8: 00600193 li gp,6
+ 800001dc: 00002517 auipc a0,0x2
+ 800001e0: e6450513 addi a0,a0,-412 # 80002040 <test_6_data>
+ 800001e4: 00052007 flw ft0,0(a0)
+ 800001e8: 00452087 flw ft1,4(a0)
+ 800001ec: 00852107 flw ft2,8(a0)
+ 800001f0: 00c52683 lw a3,12(a0)
+ 800001f4: 580071d3 fsqrt.s ft3,ft0
+ 800001f8: e0018553 fmv.x.w a0,ft3
+ 800001fc: 001015f3 fsflags a1,zero
+ 80000200: 00000613 li a2,0
+ 80000204: 06d51a63 bne a0,a3,80000278 <fail>
+ 80000208: 06c59863 bne a1,a2,80000278 <fail>
+
+000000008000020c <test_7>:
+ 8000020c: 00700193 li gp,7
+ 80000210: 00002517 auipc a0,0x2
+ 80000214: e4050513 addi a0,a0,-448 # 80002050 <test_7_data>
+ 80000218: 00052007 flw ft0,0(a0)
+ 8000021c: 00452087 flw ft1,4(a0)
+ 80000220: 00852107 flw ft2,8(a0)
+ 80000224: 00c52683 lw a3,12(a0)
+ 80000228: 580071d3 fsqrt.s ft3,ft0
+ 8000022c: e0018553 fmv.x.w a0,ft3
+ 80000230: 001015f3 fsflags a1,zero
+ 80000234: 01000613 li a2,16
+ 80000238: 04d51063 bne a0,a3,80000278 <fail>
+ 8000023c: 02c59e63 bne a1,a2,80000278 <fail>
+
+0000000080000240 <test_8>:
+ 80000240: 00800193 li gp,8
+ 80000244: 00002517 auipc a0,0x2
+ 80000248: e2050513 addi a0,a0,-480 # 80002064 <test_8_data>
+ 8000024c: 00052007 flw ft0,0(a0)
+ 80000250: 00452087 flw ft1,4(a0)
+ 80000254: 00852107 flw ft2,8(a0)
+ 80000258: 00c52683 lw a3,12(a0)
+ 8000025c: 580071d3 fsqrt.s ft3,ft0
+ 80000260: e0018553 fmv.x.w a0,ft3
+ 80000264: 001015f3 fsflags a1,zero
+ 80000268: 00100613 li a2,1
+ 8000026c: 00d51663 bne a0,a3,80000278 <fail>
+ 80000270: 00c59463 bne a1,a2,80000278 <fail>
+ 80000274: 00301c63 bne zero,gp,8000028c <pass>
+
+0000000080000278 <fail>:
+ 80000278: 0ff0000f fence
+ 8000027c: 00018063 beqz gp,8000027c <fail+0x4>
+ 80000280: 00119193 slli gp,gp,0x1
+ 80000284: 0011e193 ori gp,gp,1
+ 80000288: 00000073 ecall
+
+000000008000028c <pass>:
+ 8000028c: 0ff0000f fence
+ 80000290: 00100193 li gp,1
+ 80000294: 00000073 ecall
+ 80000298: c0001073 unimp
+ 8000029c: 0000 unimp
+ 8000029e: 0000 unimp
+ 800002a0: 0000 unimp
+ 800002a2: 0000 unimp
+ 800002a4: 0000 unimp
+ 800002a6: 0000 unimp
+ 800002a8: 0000 unimp
+ 800002aa: 0000 unimp
+ 800002ac: 0000 unimp
+ 800002ae: 0000 unimp
+ 800002b0: 0000 unimp
+ 800002b2: 0000 unimp
+ 800002b4: 0000 unimp
+ 800002b6: 0000 unimp
+ 800002b8: 0000 unimp
+ 800002ba: 0000 unimp
+ 800002bc: 0000 unimp
+ 800002be: 0000 unimp
+ 800002c0: 0000 unimp
+ 800002c2: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <test_2_data>:
+ 80002000: 40490fdb 0x40490fdb
+ 80002004: f854 sd a3,176(s0)
+ 80002006: 402d c.li zero,11
+ 80002008: 0000 unimp
+ 8000200a: 0000 unimp
+ 8000200c: eee0 sd s0,216(a3)
+ 8000200e: sltiu t6,zero,1024
+
+0000000080002010 <test_3_data>:
+ 80002010: 4000 lw s0,0(s0)
+ 80002012: c49a sw t1,72(sp)
+ 80002014: 449a6333 0x449a6333
+ 80002018: 0000 unimp
+ 8000201a: 0000 unimp
+ 8000201c: c5a2 sw s0,200(sp)
+ 8000201e: bf7f 0xbf7f
+
+0000000080002020 <test_4_data>:
+ 80002020: 40490fdb 0x40490fdb
+ 80002024: 0000 unimp
+ 80002026: 3f80 fld fs0,56(a5)
+ 80002028: 0000 unimp
+ 8000202a: 0000 unimp
+ 8000202c: 40490fdb 0x40490fdb
+
+0000000080002030 <test_5_data>:
+ 80002030: 40490fdb 0x40490fdb
+ 80002034: 0000 unimp
+ 80002036: 0000 unimp
+ 80002038: 0000 unimp
+ 8000203a: 0000 unimp
+ 8000203c: dfc5 beqz a5,80001ff4 <fromhost+0xfb4>
+ 8000203e: 3fe2 fld ft11,56(sp)
+
+0000000080002040 <test_6_data>:
+ 80002040: 4000 lw s0,0(s0)
+ 80002042: 461c lw a5,8(a2)
+ 80002044: 0000 unimp
+ 80002046: 0000 unimp
+ 80002048: 0000 unimp
+ 8000204a: 0000 unimp
+ 8000204c: 0000 unimp
+ 8000204e: 42c8 lw a0,4(a3)
+
+0000000080002050 <test_7_data>:
+ 80002050: 0000 unimp
+ 80002052: bf80 fsd fs0,56(a5)
+ 80002054: 0000 unimp
+ 80002056: 0000 unimp
+ 80002058: 0000 unimp
+ 8000205a: 0000 unimp
+ 8000205c: 0000 unimp
+ 8000205e: 7fc0 ld s0,184(a5)
+ 80002060: 0000 unimp
+ 80002062: 0000 unimp
+
+0000000080002064 <test_8_data>:
+ 80002064: 0000 unimp
+ 80002066: 0000432b 0x432b
+ 8000206a: 0000 unimp
+ 8000206c: 0000 unimp
+ 8000206e: 0000 unimp
+ 80002070: 3a26 fld fs4,104(sp)
+ 80002072: 4151 li sp,20
+ 80002074: 0000 unimp
+ 80002076: 0000 unimp
+ 80002078: 0000 unimp
+ 8000207a: 0000 unimp
+ 8000207c: 0000 unimp
+ 8000207e: 0000 unimp
diff --git a/test/riscv-tests/rv64uf-p-fdiv.elf b/test/riscv-tests/rv64uf-p-fdiv.elf
new file mode 100644
index 0000000..3501db3
--- /dev/null
+++ b/test/riscv-tests/rv64uf-p-fdiv.elf
Binary files differ
diff --git a/test/riscv-tests/rv64uf-p-fmadd.dump b/test/riscv-tests/rv64uf-p-fmadd.dump
new file mode 100644
index 0000000..6257d91
--- /dev/null
+++ b/test/riscv-tests/rv64uf-p-fmadd.dump
@@ -0,0 +1,411 @@
+
+rv64uf-p-fmadd: 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: 00002537 lui a0,0x2
+ 800000ec: 30052073 csrs mstatus,a0
+ 800000f0: 00305073 csrwi fcsr,0
+ 800000f4: 00000297 auipc t0,0x0
+ 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+ 800000fc: 34129073 csrw mepc,t0
+ 80000100: f1402573 csrr a0,mhartid
+ 80000104: 30200073 mret
+
+0000000080000108 <test_2>:
+ 80000108: 00200193 li gp,2
+ 8000010c: 00002517 auipc a0,0x2
+ 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+ 80000114: 00052007 flw ft0,0(a0)
+ 80000118: 00452087 flw ft1,4(a0)
+ 8000011c: 00852107 flw ft2,8(a0)
+ 80000120: 00c52683 lw a3,12(a0)
+ 80000124: 101071c3 fmadd.s ft3,ft0,ft1,ft2
+ 80000128: e0018553 fmv.x.w a0,ft3
+ 8000012c: 001015f3 fsflags a1,zero
+ 80000130: 00000613 li a2,0
+ 80000134: 24d51463 bne a0,a3,8000037c <fail>
+ 80000138: 24c59263 bne a1,a2,8000037c <fail>
+
+000000008000013c <test_3>:
+ 8000013c: 00300193 li gp,3
+ 80000140: 00002517 auipc a0,0x2
+ 80000144: ed050513 addi a0,a0,-304 # 80002010 <test_3_data>
+ 80000148: 00052007 flw ft0,0(a0)
+ 8000014c: 00452087 flw ft1,4(a0)
+ 80000150: 00852107 flw ft2,8(a0)
+ 80000154: 00c52683 lw a3,12(a0)
+ 80000158: 101071c3 fmadd.s ft3,ft0,ft1,ft2
+ 8000015c: e0018553 fmv.x.w a0,ft3
+ 80000160: 001015f3 fsflags a1,zero
+ 80000164: 00100613 li a2,1
+ 80000168: 20d51a63 bne a0,a3,8000037c <fail>
+ 8000016c: 20c59863 bne a1,a2,8000037c <fail>
+
+0000000080000170 <test_4>:
+ 80000170: 00400193 li gp,4
+ 80000174: 00002517 auipc a0,0x2
+ 80000178: eac50513 addi a0,a0,-340 # 80002020 <test_4_data>
+ 8000017c: 00052007 flw ft0,0(a0)
+ 80000180: 00452087 flw ft1,4(a0)
+ 80000184: 00852107 flw ft2,8(a0)
+ 80000188: 00c52683 lw a3,12(a0)
+ 8000018c: 101071c3 fmadd.s ft3,ft0,ft1,ft2
+ 80000190: e0018553 fmv.x.w a0,ft3
+ 80000194: 001015f3 fsflags a1,zero
+ 80000198: 00000613 li a2,0
+ 8000019c: 1ed51063 bne a0,a3,8000037c <fail>
+ 800001a0: 1cc59e63 bne a1,a2,8000037c <fail>
+
+00000000800001a4 <test_5>:
+ 800001a4: 00500193 li gp,5
+ 800001a8: 00002517 auipc a0,0x2
+ 800001ac: e8850513 addi a0,a0,-376 # 80002030 <test_5_data>
+ 800001b0: 00052007 flw ft0,0(a0)
+ 800001b4: 00452087 flw ft1,4(a0)
+ 800001b8: 00852107 flw ft2,8(a0)
+ 800001bc: 00c52683 lw a3,12(a0)
+ 800001c0: 101071cf fnmadd.s ft3,ft0,ft1,ft2
+ 800001c4: e0018553 fmv.x.w a0,ft3
+ 800001c8: 001015f3 fsflags a1,zero
+ 800001cc: 00000613 li a2,0
+ 800001d0: 1ad51663 bne a0,a3,8000037c <fail>
+ 800001d4: 1ac59463 bne a1,a2,8000037c <fail>
+
+00000000800001d8 <test_6>:
+ 800001d8: 00600193 li gp,6
+ 800001dc: 00002517 auipc a0,0x2
+ 800001e0: e6450513 addi a0,a0,-412 # 80002040 <test_6_data>
+ 800001e4: 00052007 flw ft0,0(a0)
+ 800001e8: 00452087 flw ft1,4(a0)
+ 800001ec: 00852107 flw ft2,8(a0)
+ 800001f0: 00c52683 lw a3,12(a0)
+ 800001f4: 101071cf fnmadd.s ft3,ft0,ft1,ft2
+ 800001f8: e0018553 fmv.x.w a0,ft3
+ 800001fc: 001015f3 fsflags a1,zero
+ 80000200: 00100613 li a2,1
+ 80000204: 16d51c63 bne a0,a3,8000037c <fail>
+ 80000208: 16c59a63 bne a1,a2,8000037c <fail>
+
+000000008000020c <test_7>:
+ 8000020c: 00700193 li gp,7
+ 80000210: 00002517 auipc a0,0x2
+ 80000214: e4050513 addi a0,a0,-448 # 80002050 <test_7_data>
+ 80000218: 00052007 flw ft0,0(a0)
+ 8000021c: 00452087 flw ft1,4(a0)
+ 80000220: 00852107 flw ft2,8(a0)
+ 80000224: 00c52683 lw a3,12(a0)
+ 80000228: 101071cf fnmadd.s ft3,ft0,ft1,ft2
+ 8000022c: e0018553 fmv.x.w a0,ft3
+ 80000230: 001015f3 fsflags a1,zero
+ 80000234: 00000613 li a2,0
+ 80000238: 14d51263 bne a0,a3,8000037c <fail>
+ 8000023c: 14c59063 bne a1,a2,8000037c <fail>
+
+0000000080000240 <test_8>:
+ 80000240: 00800193 li gp,8
+ 80000244: 00002517 auipc a0,0x2
+ 80000248: e1c50513 addi a0,a0,-484 # 80002060 <test_8_data>
+ 8000024c: 00052007 flw ft0,0(a0)
+ 80000250: 00452087 flw ft1,4(a0)
+ 80000254: 00852107 flw ft2,8(a0)
+ 80000258: 00c52683 lw a3,12(a0)
+ 8000025c: 101071c7 fmsub.s ft3,ft0,ft1,ft2
+ 80000260: e0018553 fmv.x.w a0,ft3
+ 80000264: 001015f3 fsflags a1,zero
+ 80000268: 00000613 li a2,0
+ 8000026c: 10d51863 bne a0,a3,8000037c <fail>
+ 80000270: 10c59663 bne a1,a2,8000037c <fail>
+
+0000000080000274 <test_9>:
+ 80000274: 00900193 li gp,9
+ 80000278: 00002517 auipc a0,0x2
+ 8000027c: df850513 addi a0,a0,-520 # 80002070 <test_9_data>
+ 80000280: 00052007 flw ft0,0(a0)
+ 80000284: 00452087 flw ft1,4(a0)
+ 80000288: 00852107 flw ft2,8(a0)
+ 8000028c: 00c52683 lw a3,12(a0)
+ 80000290: 101071c7 fmsub.s ft3,ft0,ft1,ft2
+ 80000294: e0018553 fmv.x.w a0,ft3
+ 80000298: 001015f3 fsflags a1,zero
+ 8000029c: 00100613 li a2,1
+ 800002a0: 0cd51e63 bne a0,a3,8000037c <fail>
+ 800002a4: 0cc59c63 bne a1,a2,8000037c <fail>
+
+00000000800002a8 <test_10>:
+ 800002a8: 00a00193 li gp,10
+ 800002ac: 00002517 auipc a0,0x2
+ 800002b0: dd450513 addi a0,a0,-556 # 80002080 <test_10_data>
+ 800002b4: 00052007 flw ft0,0(a0)
+ 800002b8: 00452087 flw ft1,4(a0)
+ 800002bc: 00852107 flw ft2,8(a0)
+ 800002c0: 00c52683 lw a3,12(a0)
+ 800002c4: 101071c7 fmsub.s ft3,ft0,ft1,ft2
+ 800002c8: e0018553 fmv.x.w a0,ft3
+ 800002cc: 001015f3 fsflags a1,zero
+ 800002d0: 00000613 li a2,0
+ 800002d4: 0ad51463 bne a0,a3,8000037c <fail>
+ 800002d8: 0ac59263 bne a1,a2,8000037c <fail>
+
+00000000800002dc <test_11>:
+ 800002dc: 00b00193 li gp,11
+ 800002e0: 00002517 auipc a0,0x2
+ 800002e4: db050513 addi a0,a0,-592 # 80002090 <test_11_data>
+ 800002e8: 00052007 flw ft0,0(a0)
+ 800002ec: 00452087 flw ft1,4(a0)
+ 800002f0: 00852107 flw ft2,8(a0)
+ 800002f4: 00c52683 lw a3,12(a0)
+ 800002f8: 101071cb fnmsub.s ft3,ft0,ft1,ft2
+ 800002fc: e0018553 fmv.x.w a0,ft3
+ 80000300: 001015f3 fsflags a1,zero
+ 80000304: 00000613 li a2,0
+ 80000308: 06d51a63 bne a0,a3,8000037c <fail>
+ 8000030c: 06c59863 bne a1,a2,8000037c <fail>
+
+0000000080000310 <test_12>:
+ 80000310: 00c00193 li gp,12
+ 80000314: 00002517 auipc a0,0x2
+ 80000318: d8c50513 addi a0,a0,-628 # 800020a0 <test_12_data>
+ 8000031c: 00052007 flw ft0,0(a0)
+ 80000320: 00452087 flw ft1,4(a0)
+ 80000324: 00852107 flw ft2,8(a0)
+ 80000328: 00c52683 lw a3,12(a0)
+ 8000032c: 101071cb fnmsub.s ft3,ft0,ft1,ft2
+ 80000330: e0018553 fmv.x.w a0,ft3
+ 80000334: 001015f3 fsflags a1,zero
+ 80000338: 00100613 li a2,1
+ 8000033c: 04d51063 bne a0,a3,8000037c <fail>
+ 80000340: 02c59e63 bne a1,a2,8000037c <fail>
+
+0000000080000344 <test_13>:
+ 80000344: 00d00193 li gp,13
+ 80000348: 00002517 auipc a0,0x2
+ 8000034c: d6850513 addi a0,a0,-664 # 800020b0 <test_13_data>
+ 80000350: 00052007 flw ft0,0(a0)
+ 80000354: 00452087 flw ft1,4(a0)
+ 80000358: 00852107 flw ft2,8(a0)
+ 8000035c: 00c52683 lw a3,12(a0)
+ 80000360: 101071cb fnmsub.s ft3,ft0,ft1,ft2
+ 80000364: e0018553 fmv.x.w a0,ft3
+ 80000368: 001015f3 fsflags a1,zero
+ 8000036c: 00000613 li a2,0
+ 80000370: 00d51663 bne a0,a3,8000037c <fail>
+ 80000374: 00c59463 bne a1,a2,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 <test_2_data>:
+ 80002000: 0000 unimp
+ 80002002: 3f80 fld fs0,56(a5)
+ 80002004: 0000 unimp
+ 80002006: 4020 lw s0,64(s0)
+ 80002008: 0000 unimp
+ 8000200a: 3f80 fld fs0,56(a5)
+ 8000200c: 0000 unimp
+ 8000200e: 4060 lw s0,68(s0)
+
+0000000080002010 <test_3_data>:
+ 80002010: 0000 unimp
+ 80002012: bf80 fsd fs0,56(a5)
+ 80002014: c49a6333 0xc49a6333
+ 80002018: cccd beqz s1,800020d2 <_end+0x12>
+ 8000201a: 3f8c fld fa1,56(a5)
+ 8000201c: 8666 mv a2,s9
+ 8000201e: 449a lw s1,132(sp)
+
+0000000080002020 <test_4_data>:
+ 80002020: 0000 unimp
+ 80002022: 4000 lw s0,0(s0)
+ 80002024: 0000 unimp
+ 80002026: c0a0 sw s0,64(s1)
+ 80002028: 0000 unimp
+ 8000202a: c000 sw s0,0(s0)
+ 8000202c: 0000 unimp
+ 8000202e: c140 sw s0,4(a0)
+
+0000000080002030 <test_5_data>:
+ 80002030: 0000 unimp
+ 80002032: 3f80 fld fs0,56(a5)
+ 80002034: 0000 unimp
+ 80002036: 4020 lw s0,64(s0)
+ 80002038: 0000 unimp
+ 8000203a: 3f80 fld fs0,56(a5)
+ 8000203c: 0000 unimp
+ 8000203e: c060 sw s0,68(s0)
+
+0000000080002040 <test_6_data>:
+ 80002040: 0000 unimp
+ 80002042: bf80 fsd fs0,56(a5)
+ 80002044: c49a6333 0xc49a6333
+ 80002048: cccd beqz s1,80002102 <_end+0x42>
+ 8000204a: 3f8c fld fa1,56(a5)
+ 8000204c: 8666 mv a2,s9
+ 8000204e: c49a sw t1,72(sp)
+
+0000000080002050 <test_7_data>:
+ 80002050: 0000 unimp
+ 80002052: 4000 lw s0,0(s0)
+ 80002054: 0000 unimp
+ 80002056: c0a0 sw s0,64(s1)
+ 80002058: 0000 unimp
+ 8000205a: c000 sw s0,0(s0)
+ 8000205c: 0000 unimp
+ 8000205e: 4140 lw s0,4(a0)
+
+0000000080002060 <test_8_data>:
+ 80002060: 0000 unimp
+ 80002062: 3f80 fld fs0,56(a5)
+ 80002064: 0000 unimp
+ 80002066: 4020 lw s0,64(s0)
+ 80002068: 0000 unimp
+ 8000206a: 3f80 fld fs0,56(a5)
+ 8000206c: 0000 unimp
+ 8000206e: 3fc0 fld fs0,184(a5)
+
+0000000080002070 <test_9_data>:
+ 80002070: 0000 unimp
+ 80002072: bf80 fsd fs0,56(a5)
+ 80002074: c49a6333 0xc49a6333
+ 80002078: cccd beqz s1,80002132 <_end+0x72>
+ 8000207a: 3f8c fld fa1,56(a5)
+ 8000207c: 4000 lw s0,0(s0)
+ 8000207e: 449a lw s1,132(sp)
+
+0000000080002080 <test_10_data>:
+ 80002080: 0000 unimp
+ 80002082: 4000 lw s0,0(s0)
+ 80002084: 0000 unimp
+ 80002086: c0a0 sw s0,64(s1)
+ 80002088: 0000 unimp
+ 8000208a: c000 sw s0,0(s0)
+ 8000208c: 0000 unimp
+ 8000208e: c100 sw s0,0(a0)
+
+0000000080002090 <test_11_data>:
+ 80002090: 0000 unimp
+ 80002092: 3f80 fld fs0,56(a5)
+ 80002094: 0000 unimp
+ 80002096: 4020 lw s0,64(s0)
+ 80002098: 0000 unimp
+ 8000209a: 3f80 fld fs0,56(a5)
+ 8000209c: 0000 unimp
+ 8000209e: bfc0 fsd fs0,184(a5)
+
+00000000800020a0 <test_12_data>:
+ 800020a0: 0000 unimp
+ 800020a2: bf80 fsd fs0,56(a5)
+ 800020a4: c49a6333 0xc49a6333
+ 800020a8: cccd beqz s1,80002162 <_end+0xa2>
+ 800020aa: 3f8c fld fa1,56(a5)
+ 800020ac: 4000 lw s0,0(s0)
+ 800020ae: c49a sw t1,72(sp)
+
+00000000800020b0 <test_13_data>:
+ 800020b0: 0000 unimp
+ 800020b2: 4000 lw s0,0(s0)
+ 800020b4: 0000 unimp
+ 800020b6: c0a0 sw s0,64(s1)
+ 800020b8: 0000 unimp
+ 800020ba: c000 sw s0,0(s0)
+ 800020bc: 0000 unimp
+ 800020be: 4100 lw s0,0(a0)
diff --git a/test/riscv-tests/rv64uf-p-fmadd.elf b/test/riscv-tests/rv64uf-p-fmadd.elf
new file mode 100644
index 0000000..bc5121e
--- /dev/null
+++ b/test/riscv-tests/rv64uf-p-fmadd.elf
Binary files differ
diff --git a/test/riscv-tests/rv64uf-p-fmin.dump b/test/riscv-tests/rv64uf-p-fmin.dump
new file mode 100644
index 0000000..7c47a6f
--- /dev/null
+++ b/test/riscv-tests/rv64uf-p-fmin.dump
@@ -0,0 +1,553 @@
+
+rv64uf-p-fmin: 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: 00002537 lui a0,0x2
+ 800000ec: 30052073 csrs mstatus,a0
+ 800000f0: 00305073 csrwi fcsr,0
+ 800000f4: 00000297 auipc t0,0x0
+ 800000f8: 01428293 addi t0,t0,20 # 80000108 <test_2>
+ 800000fc: 34129073 csrw mepc,t0
+ 80000100: f1402573 csrr a0,mhartid
+ 80000104: 30200073 mret
+
+0000000080000108 <test_2>:
+ 80000108: 00200193 li gp,2
+ 8000010c: 00002517 auipc a0,0x2
+ 80000110: ef450513 addi a0,a0,-268 # 80002000 <test_2_data>
+ 80000114: 00052007 flw ft0,0(a0)
+ 80000118: 00452087 flw ft1,4(a0)
+ 8000011c: 00852107 flw ft2,8(a0)
+ 80000120: 00c52683 lw a3,12(a0)
+ 80000124: 281001d3 fmin.s ft3,ft0,ft1
+ 80000128: e0018553 fmv.x.w a0,ft3
+ 8000012c: 001015f3 fsflags a1,zero
+ 80000130: 00000613 li a2,0
+ 80000134: 38d51063 bne a0,a3,800004b4 <fail>
+ 80000138: 36c59e63 bne a1,a2,800004b4 <fail>
+
+000000008000013c <test_3>:
+ 8000013c: 00300193 li gp,3
+ 80000140: 00002517 auipc a0,0x2
+ 80000144: ed050513 addi a0,a0,-304 # 80002010 <test_3_data>
+ 80000148: 00052007 flw ft0,0(a0)
+ 8000014c: 00452087 flw ft1,4(a0)
+ 80000150: 00852107 flw ft2,8(a0)
+ 80000154: 00c52683 lw a3,12(a0)
+ 80000158: 281001d3 fmin.s ft3,ft0,ft1
+ 8000015c: e0018553 fmv.x.w a0,ft3
+ 80000160: 001015f3 fsflags a1,zero
+ 80000164: 00000613 li a2,0
+ 80000168: 34d51663 bne a0,a3,800004b4 <fail>
+ 8000016c: 34c59463 bne a1,a2,800004b4 <fail>
+
+0000000080000170 <test_4>:
+ 80000170: 00400193 li gp,4
+ 80000174: 00002517 auipc a0,0x2
+ 80000178: eac50513 addi a0,a0,-340 # 80002020 <test_4_data>
+ 8000017c: 00052007 flw ft0,0(a0)
+ 80000180: 00452087 flw ft1,4(a0)
+ 80000184: 00852107 flw ft2,8(a0)
+ 80000188: 00c52683 lw a3,12(a0)
+ 8000018c: 281001d3 fmin.s ft3,ft0,ft1
+ 80000190: e0018553 fmv.x.w a0,ft3
+ 80000194: 001015f3 fsflags a1,zero
+ 80000198: 00000613 li a2,0
+ 8000019c: 30d51c63 bne a0,a3,800004b4 <fail>
+ 800001a0: 30c59a63 bne a1,a2,800004b4 <fail>
+
+00000000800001a4 <test_5>:
+ 800001a4: 00500193 li gp,5
+ 800001a8: 00002517 auipc a0,0x2
+ 800001ac: e8850513 addi a0,a0,-376 # 80002030 <test_5_data>
+ 800001b0: 00052007 flw ft0,0(a0)
+ 800001b4: 00452087 flw ft1,4(a0)
+ 800001b8: 00852107 flw ft2,8(a0)
+ 800001bc: 00c52683 lw a3,12(a0)
+ 800001c0: 281001d3 fmin.s ft3,ft0,ft1
+ 800001c4: e0018553 fmv.x.w a0,ft3
+ 800001c8: 001015f3 fsflags a1,zero
+ 800001cc: 00000613 li a2,0
+ 800001d0: 2ed51263 bne a0,a3,800004b4 <fail>
+ 800001d4: 2ec59063 bne a1,a2,800004b4 <fail>
+
+00000000800001d8 <test_6>:
+ 800001d8: 00600193 li gp,6
+ 800001dc: 00002517 auipc a0,0x2
+ 800001e0: e6450513 addi a0,a0,-412 # 80002040 <test_6_data>
+ 800001e4: 00052007 flw ft0,0(a0)
+ 800001e8: 00452087 flw ft1,4(a0)
+ 800001ec: 00852107 flw ft2,8(a0)
+ 800001f0: 00c52683 lw a3,12(a0)
+ 800001f4: 281001d3 fmin.s ft3,ft0,ft1
+ 800001f8: e0018553 fmv.x.w a0,ft3
+ 800001fc: 001015f3 fsflags a1,zero
+ 80000200: 00000613 li a2,0
+ 80000204: 2ad51863 bne a0,a3,800004b4 <fail>
+ 80000208: 2ac59663 bne a1,a2,800004b4 <fail>
+
+000000008000020c <test_7>:
+ 8000020c: 00700193 li gp,7
+ 80000210: 00002517 auipc a0,0x2
+ 80000214: e4050513 addi a0,a0,-448 # 80002050 <test_7_data>
+ 80000218: 00052007 flw ft0,0(a0)
+ 8000021c: 00452087 flw ft1,4(a0)
+ 80000220: 00852107 flw ft2,8(a0)
+ 80000224: 00c52683 lw a3,12(a0)
+ 80000228: 281001d3 fmin.s ft3,ft0,ft1
+ 8000022c: e0018553 fmv.x.w a0,ft3
+ 80000230: 001015f3 fsflags a1,zero
+ 80000234: 00000613 li a2,0
+ 80000238: 26d51e63 bne a0,a3,800004b4 <fail>
+ 8000023c: 26c59c63 bne a1,a2,800004b4 <fail>
+
+0000000080000240 <test_12>:
+ 80000240: 00c00193 li gp,12
+ 80000244: 00002517 auipc a0,0x2
+ 80000248: e1c50513 addi a0,a0,-484 # 80002060 <test_12_data>
+ 8000024c: 00052007 flw ft0,0(a0)
+ 80000250: 00452087 flw ft1,4(a0)
+ 80000254: 00852107 flw ft2,8(a0)
+ 80000258: 00c52683 lw a3,12(a0)
+ 8000025c: 281011d3 fmax.s ft3,ft0,ft1
+ 80000260: e0018553 fmv.x.w a0,ft3
+ 80000264: 001015f3 fsflags a1,zero
+ 80000268: 00000613 li a2,0
+ 8000026c: 24d51463 bne a0,a3,800004b4 <fail>
+ 80000270: 24c59263 bne a1,a2,800004b4 <fail>
+
+0000000080000274 <test_13>:
+ 80000274: 00d00193 li gp,13
+ 80000278: 00002517 auipc a0,0x2
+ 8000027c: df850513 addi a0,a0,-520 # 80002070 <test_13_data>
+ 80000280: 00052007 flw ft0,0(a0)
+ 80000284: 00452087 flw ft1,4(a0)
+ 80000288: 00852107 flw ft2,8(a0)
+ 8000028c: 00c52683 lw a3,12(a0)
+ 80000290: 281011d3 fmax.s ft3,ft0,ft1
+ 80000294: e0018553 fmv.x.w a0,ft3
+ 80000298: 001015f3 fsflags a1,zero
+ 8000029c: 00000613 li a2,0
+ 800002a0: 20d51a63 bne a0,a3,800004b4 <fail>
+ 800002a4: 20c59863 bne a1,a2,800004b4 <fail>
+
+00000000800002a8 <test_14>:
+ 800002a8: 00e00193 li gp,14
+ 800002ac: 00002517 auipc a0,0x2
+ 800002b0: dd450513 addi a0,a0,-556 # 80002080 <test_14_data>
+ 800002b4: 00052007 flw ft0,0(a0)
+ 800002b8: 00452087 flw ft1,4(a0)
+ 800002bc: 00852107 flw ft2,8(a0)
+ 800002c0: 00c52683 lw a3,12(a0)
+ 800002c4: 281011d3 fmax.s ft3,ft0,ft1
+ 800002c8: e0018553 fmv.x.w a0,ft3
+ 800002cc: 001015f3 fsflags a1,zero
+ 800002d0: 00000613 li a2,0
+ 800002d4: 1ed51063 bne a0,a3,800004b4 <fail>
+ 800002d8: 1cc59e63 bne a1,a2,800004b4 <fail>
+
+00000000800002dc <test_15>:
+ 800002dc: 00f00193 li gp,15
+ 800002e0: 00002517 auipc a0,0x2
+ 800002e4: db050513 addi a0,a0,-592 # 80002090 <test_15_data>
+ 800002e8: 00052007 flw ft0,0(a0)
+ 800002ec: 00452087 flw ft1,4(a0)
+ 800002f0: 00852107 flw ft2,8(a0)
+ 800002f4: 00c52683 lw a3,12(a0)
+ 800002f8: 281011d3 fmax.s ft3,ft0,ft1
+ 800002fc: e0018553 fmv.x.w a0,ft3
+ 80000300: 001015f3 fsflags a1,zero
+ 80000304: 00000613 li a2,0
+ 80000308: 1ad51663 bne a0,a3,800004b4 <fail>
+ 8000030c: 1ac59463 bne a1,a2,800004b4 <fail>
+
+0000000080000310 <test_16>:
+ 80000310: 01000193 li gp,16
+ 80000314: 00002517 auipc a0,0x2
+ 80000318: d8c50513 addi a0,a0,-628 # 800020a0 <test_16_data>
+ 8000031c: 00052007 flw ft0,0(a0)
+ 80000320: 00452087 flw ft1,4(a0)
+ 80000324: 00852107 flw ft2,8(a0)
+ 80000328: 00c52683 lw a3,12(a0)
+ 8000032c: 281011d3 fmax.s ft3,ft0,ft1
+ 80000330: e0018553 fmv.x.w a0,ft3
+ 80000334: 001015f3 fsflags a1,zero
+ 80000338: 00000613 li a2,0
+ 8000033c: 16d51c63 bne a0,a3,800004b4 <fail>
+ 80000340: 16c59a63 bne a1,a2,800004b4 <fail>
+
+0000000080000344 <test_17>:
+ 80000344: 01100193 li gp,17
+ 80000348: 00002517 auipc a0,0x2
+ 8000034c: d6850513 addi a0,a0,-664 # 800020b0 <test_17_data>
+ 80000350: 00052007 flw ft0,0(a0)
+ 80000354: 00452087 flw ft1,4(a0)
+ 80000358: 00852107 flw ft2,8(a0)
+ 8000035c: 00c52683 lw a3,12(a0)
+ 80000360: 281011d3 fmax.s ft3,ft0,ft1
+ 80000364: e0018553 fmv.x.w a0,ft3
+ 80000368: 001015f3 fsflags a1,zero
+ 8000036c: 00000613 li a2,0
+ 80000370: 14d51263 bne a0,a3,800004b4 <fail>
+ 80000374: 14c59063 bne a1,a2,800004b4 <fail>
+
+0000000080000378 <test_20>:
+ 80000378: 01400193 li gp,20
+ 8000037c: 00002517 auipc a0,0x2
+ 80000380: d4450513 addi a0,a0,-700 # 800020c0 <test_20_data>
+ 80000384: 00052007 flw ft0,0(a0)
+ 80000388: 00452087 flw ft1,4(a0)
+ 8000038c: 00852107 flw ft2,8(a0)
+ 80000390: 00c52683 lw a3,12(a0)
+ 80000394: 281011d3 fmax.s ft3,ft0,ft1
+ 80000398: e0018553 fmv.x.w a0,ft3
+ 8000039c: 001015f3 fsflags a1,zero
+ 800003a0: 01000613 li a2,16
+ 800003a4: 10d51863 bne a0,a3,800004b4 <fail>
+ 800003a8: 10c59663 bne a1,a2,800004b4 <fail>
+
+00000000800003ac <test_21>:
+ 800003ac: 01500193 li gp,21
+ 800003b0: 00002517 auipc a0,0x2
+ 800003b4: d2050513 addi a0,a0,-736 # 800020d0 <test_21_data>
+ 800003b8: 00052007 flw ft0,0(a0)
+ 800003bc: 00452087 flw ft1,4(a0)
+ 800003c0: 00852107 flw ft2,8(a0)
+ 800003c4: 00c52683 lw a3,12(a0)
+ 800003c8: 281011d3 fmax.s ft3,ft0,ft1
+ 800003cc: e0018553 fmv.x.w a0,ft3
+ 800003d0: 001015f3 fsflags a1,zero
+ 800003d4: 00000613 li a2,0
+ 800003d8: 0cd51e63 bne a0,a3,800004b4 <fail>
+ 800003dc: 0cc59c63 bne a1,a2,800004b4 <fail>
+
+00000000800003e0 <test_30>:
+ 800003e0: 01e00193 li gp,30
+ 800003e4: 00002517 auipc a0,0x2
+ 800003e8: cfc50513 addi a0,a0,-772 # 800020e0 <test_30_data>
+ 800003ec: 00052007 flw ft0,0(a0)
+ 800003f0: 00452087 flw ft1,4(a0)
+ 800003f4: 00852107 flw ft2,8(a0)
+ 800003f8: 00c52683 lw a3,12(a0)
+ 800003fc: 281001d3 fmin.s ft3,ft0,ft1
+ 80000400: e0018553 fmv.x.w a0,ft3
+ 80000404: 001015f3 fsflags a1,zero
+ 80000408: 00000613 li a2,0
+ 8000040c: 0ad51463 bne a0,a3,800004b4 <fail>
+ 80000410: 0ac59263 bne a1,a2,800004b4 <fail>
+
+0000000080000414 <test_31>:
+ 80000414: 01f00193 li gp,31
+ 80000418: 00002517 auipc a0,0x2
+ 8000041c: cd850513 addi a0,a0,-808 # 800020f0 <test_31_data>
+ 80000420: 00052007 flw ft0,0(a0)
+ 80000424: 00452087 flw ft1,4(a0)
+ 80000428: 00852107 flw ft2,8(a0)
+ 8000042c: 00c52683 lw a3,12(a0)
+ 80000430: 281001d3 fmin.s ft3,ft0,ft1
+ 80000434: e0018553 fmv.x.w a0,ft3
+ 80000438: 001015f3 fsflags a1,zero
+ 8000043c: 00000613 li a2,0
+ 80000440: 06d51a63 bne a0,a3,800004b4 <fail>
+ 80000444: 06c59863 bne a1,a2,800004b4 <fail>
+
+0000000080000448 <test_32>:
+ 80000448: 02000193 li gp,32
+ 8000044c: 00002517 auipc a0,0x2
+ 80000450: cb450513 addi a0,a0,-844 # 80002100 <test_32_data>
+ 80000454: 00052007 flw ft0,0(a0)
+ 80000458: 00452087 flw ft1,4(a0)
+ 8000045c: 00852107 flw ft2,8(a0)
+ 80000460: 00c52683 lw a3,12(a0)
+ 80000464: 281011d3 fmax.s ft3,ft0,ft1
+ 80000468: e0018553 fmv.x.w a0,ft3
+ 8000046c: 001015f3 fsflags a1,zero
+ 80000470: 00000613 li a2,0
+ 80000474: 04d51063 bne a0,a3,800004b4 <fail>
+ 80000478: 02c59e63 bne a1,a2,800004b4 <fail>
+
+000000008000047c <test_33>:
+ 8000047c: 02100193 li gp,33
+ 80000480: 00002517 auipc a0,0x2
+ 80000484: c9050513 addi a0,a0,-880 # 80002110 <test_33_data>
+ 80000488: 00052007 flw ft0,0(a0)
+ 8000048c: 00452087 flw ft1,4(a0)
+ 80000490: 00852107 flw ft2,8(a0)
+ 80000494: 00c52683 lw a3,12(a0)
+ 80000498: 281011d3 fmax.s ft3,ft0,ft1
+ 8000049c: e0018553 fmv.x.w a0,ft3
+ 800004a0: 001015f3 fsflags a1,zero
+ 800004a4: 00000613 li a2,0
+ 800004a8: 00d51663 bne a0,a3,800004b4 <fail>
+ 800004ac: 00c59463 bne a1,a2,800004b4 <fail>
+ 800004b0: 00301c63 bne zero,gp,800004c8 <pass>
+
+00000000800004b4 <fail>:
+ 800004b4: 0ff0000f fence
+ 800004b8: 00018063 beqz gp,800004b8 <fail+0x4>
+ 800004bc: 00119193 slli gp,gp,0x1
+ 800004c0: 0011e193 ori gp,gp,1
+ 800004c4: 00000073 ecall
+
+00000000800004c8 <pass>:
+ 800004c8: 0ff0000f fence
+ 800004cc: 00100193 li gp,1
+ 800004d0: 00000073 ecall
+ 800004d4: c0001073 unimp
+ 800004d8: 0000 unimp
+ 800004da: 0000 unimp
+ 800004dc: 0000 unimp
+ 800004de: 0000 unimp
+ 800004e0: 0000 unimp
+ 800004e2: 0000 unimp
+ 800004e4: 0000 unimp
+ 800004e6: 0000 unimp
+ 800004e8: 0000 unimp
+ 800004ea: 0000 unimp
+ 800004ec: 0000 unimp
+ 800004ee: 0000 unimp
+ 800004f0: 0000 unimp
+ 800004f2: 0000 unimp
+ 800004f4: 0000 unimp
+ 800004f6: 0000 unimp
+ 800004f8: 0000 unimp
+ 800004fa: 0000 unimp
+ 800004fc: 0000 unimp
+ 800004fe: 0000 unimp
+ 80000500: 0000 unimp
+ 80000502: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <test_2_data>:
+ 80002000: 0000 unimp
+ 80002002: 4020 lw s0,64(s0)
+ 80002004: 0000 unimp
+ 80002006: 3f80 fld fs0,56(a5)
+ 80002008: 0000 unimp
+ 8000200a: 0000 unimp
+ 8000200c: 0000 unimp
+ 8000200e: 3f80 fld fs0,56(a5)
+
+0000000080002010 <test_3_data>:
+ 80002010: c49a6333 0xc49a6333
+ 80002014: cccd beqz s1,800020ce <test_20_data+0xe>
+ 80002016: 3f8c fld fa1,56(a5)
+ 80002018: 0000 unimp
+ 8000201a: 0000 unimp
+ 8000201c: c49a6333 0xc49a6333
+
+0000000080002020 <test_4_data>:
+ 80002020: cccd beqz s1,800020da <test_21_data+0xa>
+ 80002022: 3f8c fld fa1,56(a5)
+ 80002024: c49a6333 0xc49a6333
+ 80002028: 0000 unimp
+ 8000202a: 0000 unimp
+ 8000202c: c49a6333 0xc49a6333
+
+0000000080002030 <test_5_data>:
+ 80002030: ffff 0xffff
+ 80002032: 7fff 0x7fff
+ 80002034: c49a6333 0xc49a6333
+ 80002038: 0000 unimp
+ 8000203a: 0000 unimp
+ 8000203c: c49a6333 0xc49a6333
+
+0000000080002040 <test_6_data>:
+ 80002040: 40490fdb 0x40490fdb
+ 80002044: 322bcc77 0x322bcc77
+ 80002048: 0000 unimp
+ 8000204a: 0000 unimp
+ 8000204c: 322bcc77 0x322bcc77
+
+0000000080002050 <test_7_data>:
+ 80002050: 0000 unimp
+ 80002052: bf80 fsd fs0,56(a5)
+ 80002054: 0000 unimp
+ 80002056: c000 sw s0,0(s0)
+ 80002058: 0000 unimp
+ 8000205a: 0000 unimp
+ 8000205c: 0000 unimp
+ 8000205e: c000 sw s0,0(s0)
+
+0000000080002060 <test_12_data>:
+ 80002060: 0000 unimp
+ 80002062: 4020 lw s0,64(s0)
+ 80002064: 0000 unimp
+ 80002066: 3f80 fld fs0,56(a5)
+ 80002068: 0000 unimp
+ 8000206a: 0000 unimp
+ 8000206c: 0000 unimp
+ 8000206e: 4020 lw s0,64(s0)
+
+0000000080002070 <test_13_data>:
+ 80002070: c49a6333 0xc49a6333
+ 80002074: cccd beqz s1,8000212e <_end+0xe>
+ 80002076: 3f8c fld fa1,56(a5)
+ 80002078: 0000 unimp
+ 8000207a: 0000 unimp
+ 8000207c: cccd beqz s1,80002136 <_end+0x16>
+ 8000207e: 3f8c fld fa1,56(a5)
+
+0000000080002080 <test_14_data>:
+ 80002080: cccd beqz s1,8000213a <_end+0x1a>
+ 80002082: 3f8c fld fa1,56(a5)
+ 80002084: c49a6333 0xc49a6333
+ 80002088: 0000 unimp
+ 8000208a: 0000 unimp
+ 8000208c: cccd beqz s1,80002146 <_end+0x26>
+ 8000208e: 3f8c fld fa1,56(a5)
+
+0000000080002090 <test_15_data>:
+ 80002090: ffff 0xffff
+ 80002092: 7fff 0x7fff
+ 80002094: c49a6333 0xc49a6333
+ 80002098: 0000 unimp
+ 8000209a: 0000 unimp
+ 8000209c: c49a6333 0xc49a6333
+
+00000000800020a0 <test_16_data>:
+ 800020a0: 40490fdb 0x40490fdb
+ 800020a4: 322bcc77 0x322bcc77
+ 800020a8: 0000 unimp
+ 800020aa: 0000 unimp
+ 800020ac: 40490fdb 0x40490fdb
+
+00000000800020b0 <test_17_data>:
+ 800020b0: 0000 unimp
+ 800020b2: bf80 fsd fs0,56(a5)
+ 800020b4: 0000 unimp
+ 800020b6: c000 sw s0,0(s0)
+ 800020b8: 0000 unimp
+ 800020ba: 0000 unimp
+ 800020bc: 0000 unimp
+ 800020be: bf80 fsd fs0,56(a5)
+
+00000000800020c0 <test_20_data>:
+ 800020c0: 0001 nop
+ 800020c2: 7f80 ld s0,56(a5)
+ 800020c4: 0000 unimp
+ 800020c6: 3f80 fld fs0,56(a5)
+ 800020c8: 0000 unimp
+ 800020ca: 0000 unimp
+ 800020cc: 0000 unimp
+ 800020ce: 3f80 fld fs0,56(a5)
+
+00000000800020d0 <test_21_data>:
+ 800020d0: ffff 0xffff
+ 800020d2: 7fff 0x7fff
+ 800020d4: ffff 0xffff
+ 800020d6: 7fff 0x7fff
+ 800020d8: 0000 unimp
+ 800020da: 0000 unimp
+ 800020dc: 0000 unimp
+ 800020de: 7fc0 ld s0,184(a5)
+
+00000000800020e0 <test_30_data>:
+ 800020e0: 0000 unimp
+ 800020e2: 8000 0x8000
+ 800020e4: 0000 unimp
+ 800020e6: 0000 unimp
+ 800020e8: 0000 unimp
+ 800020ea: 0000 unimp
+ 800020ec: 0000 unimp
+ 800020ee: 8000 0x8000
+
+00000000800020f0 <test_31_data>:
+ 800020f0: 0000 unimp
+ 800020f2: 0000 unimp
+ 800020f4: 0000 unimp
+ 800020f6: 8000 0x8000
+ 800020f8: 0000 unimp
+ 800020fa: 0000 unimp
+ 800020fc: 0000 unimp
+ 800020fe: 8000 0x8000
+
+0000000080002100 <test_32_data>:
+ 80002100: 0000 unimp
+ 80002102: 8000 0x8000
+ 80002104: 0000 unimp
+ 80002106: 0000 unimp
+ 80002108: 0000 unimp
+ 8000210a: 0000 unimp
+ 8000210c: 0000 unimp
+ 8000210e: 0000 unimp
+
+0000000080002110 <test_33_data>:
+ 80002110: 0000 unimp
+ 80002112: 0000 unimp
+ 80002114: 0000 unimp
+ 80002116: 8000 0x8000
+ 80002118: 0000 unimp
+ 8000211a: 0000 unimp
+ 8000211c: 0000 unimp
+ 8000211e: 0000 unimp
diff --git a/test/riscv-tests/rv64uf-p-fmin.elf b/test/riscv-tests/rv64uf-p-fmin.elf
new file mode 100644
index 0000000..b5548fb
--- /dev/null
+++ b/test/riscv-tests/rv64uf-p-fmin.elf
Binary files differ
diff --git a/test/riscv-tests/rv64uf-v-fadd.dump b/test/riscv-tests/rv64uf-v-fadd.dump
new file mode 100644
index 0000000..57f29d2
--- /dev/null
+++ b/test/riscv-tests/rv64uf-v-fadd.dump
@@ -0,0 +1,1083 @@
+
+rv64uf-v-fadd: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 00c0006f j 8000000c <handle_reset>
+
+0000000080000004 <nmi_vector>:
+ 80000004: 2580206f j 8000225c <wtf>
+
+0000000080000008 <trap_vector>:
+ 80000008: 2540206f j 8000225c <wtf>
+
+000000008000000c <handle_reset>:
+ 8000000c: 00000297 auipc t0,0x0
+ 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+ 80000014: 30529073 csrw mtvec,t0
+ 80000018: 00009117 auipc sp,0x9
+ 8000001c: 6b810113 addi sp,sp,1720 # 800096d0 <_end+0xee0>
+ 80000020: f14022f3 csrr t0,mhartid
+ 80000024: 00c29293 slli t0,t0,0xc
+ 80000028: 00510133 add sp,sp,t0
+ 8000002c: 34011073 csrw mscratch,sp
+ 80000030: 00003517 auipc a0,0x3
+ 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart>
+ 80000038: 09d0206f j 800028d4 <vm_boot>
+
+000000008000003c <pop_tf>:
+ 8000003c: 10853283 ld t0,264(a0)
+ 80000040: 14129073 csrw sepc,t0
+ 80000044: 00853083 ld ra,8(a0)
+ 80000048: 01053103 ld sp,16(a0)
+ 8000004c: 01853183 ld gp,24(a0)
+ 80000050: 02053203 ld tp,32(a0)
+ 80000054: 02853283 ld t0,40(a0)
+ 80000058: 03053303 ld t1,48(a0)
+ 8000005c: 03853383 ld t2,56(a0)
+ 80000060: 04053403 ld s0,64(a0)
+ 80000064: 04853483 ld s1,72(a0)
+ 80000068: 05853583 ld a1,88(a0)
+ 8000006c: 06053603 ld a2,96(a0)
+ 80000070: 06853683 ld a3,104(a0)
+ 80000074: 07053703 ld a4,112(a0)
+ 80000078: 07853783 ld a5,120(a0)
+ 8000007c: 08053803 ld a6,128(a0)
+ 80000080: 08853883 ld a7,136(a0)
+ 80000084: 09053903 ld s2,144(a0)
+ 80000088: 09853983 ld s3,152(a0)
+ 8000008c: 0a053a03 ld s4,160(a0)
+ 80000090: 0a853a83 ld s5,168(a0)
+ 80000094: 0b053b03 ld s6,176(a0)
+ 80000098: 0b853b83 ld s7,184(a0)
+ 8000009c: 0c053c03 ld s8,192(a0)
+ 800000a0: 0c853c83 ld s9,200(a0)
+ 800000a4: 0d053d03 ld s10,208(a0)
+ 800000a8: 0d853d83 ld s11,216(a0)
+ 800000ac: 0e053e03 ld t3,224(a0)
+ 800000b0: 0e853e83 ld t4,232(a0)
+ 800000b4: 0f053f03 ld t5,240(a0)
+ 800000b8: 0f853f83 ld t6,248(a0)
+ 800000bc: 05053503 ld a0,80(a0)
+ 800000c0: 10200073 sret
+
+00000000800000c4 <trap_entry>:
+ 800000c4: 14011173 csrrw sp,sscratch,sp
+ 800000c8: 00113423 sd ra,8(sp)
+ 800000cc: 00313c23 sd gp,24(sp)
+ 800000d0: 02413023 sd tp,32(sp)
+ 800000d4: 02513423 sd t0,40(sp)
+ 800000d8: 02613823 sd t1,48(sp)
+ 800000dc: 02713c23 sd t2,56(sp)
+ 800000e0: 04813023 sd s0,64(sp)
+ 800000e4: 04913423 sd s1,72(sp)
+ 800000e8: 04a13823 sd a0,80(sp)
+ 800000ec: 04b13c23 sd a1,88(sp)
+ 800000f0: 06c13023 sd a2,96(sp)
+ 800000f4: 06d13423 sd a3,104(sp)
+ 800000f8: 06e13823 sd a4,112(sp)
+ 800000fc: 06f13c23 sd a5,120(sp)
+ 80000100: 09013023 sd a6,128(sp)
+ 80000104: 09113423 sd a7,136(sp)
+ 80000108: 09213823 sd s2,144(sp)
+ 8000010c: 09313c23 sd s3,152(sp)
+ 80000110: 0b413023 sd s4,160(sp)
+ 80000114: 0b513423 sd s5,168(sp)
+ 80000118: 0b613823 sd s6,176(sp)
+ 8000011c: 0b713c23 sd s7,184(sp)
+ 80000120: 0d813023 sd s8,192(sp)
+ 80000124: 0d913423 sd s9,200(sp)
+ 80000128: 0da13823 sd s10,208(sp)
+ 8000012c: 0db13c23 sd s11,216(sp)
+ 80000130: 0fc13023 sd t3,224(sp)
+ 80000134: 0fd13423 sd t4,232(sp)
+ 80000138: 0fe13823 sd t5,240(sp)
+ 8000013c: 0ff13c23 sd t6,248(sp)
+ 80000140: 140112f3 csrrw t0,sscratch,sp
+ 80000144: 00513823 sd t0,16(sp)
+ 80000148: 100022f3 csrr t0,sstatus
+ 8000014c: 10513023 sd t0,256(sp)
+ 80000150: 141022f3 csrr t0,sepc
+ 80000154: 10513423 sd t0,264(sp)
+ 80000158: 143022f3 csrr t0,stval
+ 8000015c: 10513823 sd t0,272(sp)
+ 80000160: 142022f3 csrr t0,scause
+ 80000164: 10513c23 sd t0,280(sp)
+ 80000168: 00010513 mv a0,sp
+ 8000016c: 4300206f j 8000259c <handle_trap>
+
+Disassembly of section .text:
+
+0000000080002000 <memcpy>:
+ 80002000: 00c5e7b3 or a5,a1,a2
+ 80002004: 00f567b3 or a5,a0,a5
+ 80002008: 0077f793 andi a5,a5,7
+ 8000200c: 00c506b3 add a3,a0,a2
+ 80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+ 80002014: 00c58633 add a2,a1,a2
+ 80002018: 00050793 mv a5,a0
+ 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+ 80002020: 00158593 addi a1,a1,1
+ 80002024: fff5c703 lbu a4,-1(a1)
+ 80002028: 00178793 addi a5,a5,1
+ 8000202c: fee78fa3 sb a4,-1(a5)
+ 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+ 80002034: 00008067 ret
+ 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+ 8000203c: 00050793 mv a5,a0
+ 80002040: 00858593 addi a1,a1,8
+ 80002044: ff85b703 ld a4,-8(a1)
+ 80002048: 00878793 addi a5,a5,8
+ 8000204c: fee7bc23 sd a4,-8(a5)
+ 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+ 80002054: 00008067 ret
+ 80002058: 00008067 ret
+
+000000008000205c <memset>:
+ 8000205c: 00c567b3 or a5,a0,a2
+ 80002060: 0077f793 andi a5,a5,7
+ 80002064: 00c50633 add a2,a0,a2
+ 80002068: 0ff5f593 andi a1,a1,255
+ 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c>
+ 80002070: 00050793 mv a5,a0
+ 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c>
+ 80002078: 00178793 addi a5,a5,1
+ 8000207c: feb78fa3 sb a1,-1(a5)
+ 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+ 80002084: 00008067 ret
+ 80002088: 00859793 slli a5,a1,0x8
+ 8000208c: 00b7e5b3 or a1,a5,a1
+ 80002090: 01059793 slli a5,a1,0x10
+ 80002094: 00b7e7b3 or a5,a5,a1
+ 80002098: 02079593 slli a1,a5,0x20
+ 8000209c: 00f5e5b3 or a1,a1,a5
+ 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28>
+ 800020a4: 00050793 mv a5,a0
+ 800020a8: 00878793 addi a5,a5,8
+ 800020ac: feb7bc23 sd a1,-8(a5)
+ 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c>
+ 800020b4: 00008067 ret
+ 800020b8: 00008067 ret
+
+00000000800020bc <strlen>:
+ 800020bc: 00054783 lbu a5,0(a0)
+ 800020c0: 00050713 mv a4,a0
+ 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20>
+ 800020c8: 00150513 addi a0,a0,1
+ 800020cc: 00054783 lbu a5,0(a0)
+ 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc>
+ 800020d4: 40e50533 sub a0,a0,a4
+ 800020d8: 00008067 ret
+ 800020dc: 00000513 li a0,0
+ 800020e0: 00008067 ret
+
+00000000800020e4 <strcmp>:
+ 800020e4: 00150513 addi a0,a0,1
+ 800020e8: fff54783 lbu a5,-1(a0)
+ 800020ec: 00158593 addi a1,a1,1
+ 800020f0: fff5c703 lbu a4,-1(a1)
+ 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24>
+ 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp>
+ 800020fc: 0007851b sext.w a0,a5
+ 80002100: 40e5053b subw a0,a0,a4
+ 80002104: 00008067 ret
+ 80002108: 00000513 li a0,0
+ 8000210c: ff5ff06f j 80002100 <strcmp+0x1c>
+
+0000000080002110 <memcmp>:
+ 80002110: 00b567b3 or a5,a0,a1
+ 80002114: 0077f793 andi a5,a5,7
+ 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c>
+ 8000211c: ff867693 andi a3,a2,-8
+ 80002120: 00d506b3 add a3,a0,a3
+ 80002124: 00050813 mv a6,a0
+ 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c>
+ 8000212c: 00053703 ld a4,0(a0)
+ 80002130: 0005b783 ld a5,0(a1)
+ 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38>
+ 80002138: 0240006f j 8000215c <memcmp+0x4c>
+ 8000213c: 00053703 ld a4,0(a0)
+ 80002140: 0005b783 ld a5,0(a1)
+ 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44>
+ 80002148: 00850513 addi a0,a0,8
+ 8000214c: 00858593 addi a1,a1,8
+ 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c>
+ 80002154: 41050833 sub a6,a0,a6
+ 80002158: 41060633 sub a2,a2,a6
+ 8000215c: 00c58633 add a2,a1,a2
+ 80002160: 0140006f j 80002174 <memcmp+0x64>
+ 80002164: 00158593 addi a1,a1,1
+ 80002168: fff54783 lbu a5,-1(a0)
+ 8000216c: fff5c703 lbu a4,-1(a1)
+ 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74>
+ 80002174: 00150513 addi a0,a0,1
+ 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54>
+ 8000217c: 00000513 li a0,0
+ 80002180: 00008067 ret
+ 80002184: 40e7853b subw a0,a5,a4
+ 80002188: 00008067 ret
+
+000000008000218c <strcpy>:
+ 8000218c: 00050793 mv a5,a0
+ 80002190: 00158593 addi a1,a1,1
+ 80002194: fff5c703 lbu a4,-1(a1)
+ 80002198: 00178793 addi a5,a5,1
+ 8000219c: fee78fa3 sb a4,-1(a5)
+ 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4>
+ 800021a4: 00008067 ret
+
+00000000800021a8 <atol>:
+ 800021a8: 00054783 lbu a5,0(a0)
+ 800021ac: 02000713 li a4,32
+ 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18>
+ 800021b4: 00150513 addi a0,a0,1
+ 800021b8: 00054783 lbu a5,0(a0)
+ 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc>
+ 800021c0: fd57871b addiw a4,a5,-43
+ 800021c4: 0fd77713 andi a4,a4,253
+ 800021c8: 04070263 beqz a4,8000220c <atol+0x64>
+ 800021cc: 00054683 lbu a3,0(a0)
+ 800021d0: 00050793 mv a5,a0
+ 800021d4: 00000613 li a2,0
+ 800021d8: 04068863 beqz a3,80002228 <atol+0x80>
+ 800021dc: 00000513 li a0,0
+ 800021e0: 00178793 addi a5,a5,1
+ 800021e4: fd06859b addiw a1,a3,-48
+ 800021e8: 00251713 slli a4,a0,0x2
+ 800021ec: 0007c683 lbu a3,0(a5)
+ 800021f0: 00a70533 add a0,a4,a0
+ 800021f4: 00151513 slli a0,a0,0x1
+ 800021f8: 00a58533 add a0,a1,a0
+ 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38>
+ 80002200: 00060463 beqz a2,80002208 <atol+0x60>
+ 80002204: 40a00533 neg a0,a0
+ 80002208: 00008067 ret
+ 8000220c: 00154683 lbu a3,1(a0)
+ 80002210: fd378793 addi a5,a5,-45
+ 80002214: 0017b613 seqz a2,a5
+ 80002218: 00150793 addi a5,a0,1
+ 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34>
+ 80002220: 00000513 li a0,0
+ 80002224: fddff06f j 80002200 <atol+0x58>
+ 80002228: 00000513 li a0,0
+ 8000222c: 00008067 ret
+
+0000000080002230 <terminate>:
+ 80002230: fffff797 auipc a5,0xfffff
+ 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost>
+ 80002238: 0007b703 ld a4,0(a5)
+ 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20>
+ 80002240: fffff717 auipc a4,0xfffff
+ 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost>
+ 80002248: 0007b703 ld a4,0(a5)
+ 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10>
+ 80002250: fffff797 auipc a5,0xfffff
+ 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost>
+ 80002258: 0000006f j 80002258 <terminate+0x28>
+
+000000008000225c <wtf>:
+ 8000225c: ff010113 addi sp,sp,-16
+ 80002260: 34900513 li a0,841
+ 80002264: 00113423 sd ra,8(sp)
+ 80002268: fc9ff0ef jal ra,80002230 <terminate>
+
+000000008000226c <printhex>:
+ 8000226c: fe010113 addi sp,sp,-32
+ 80002270: 01710713 addi a4,sp,23
+ 80002274: 00710813 addi a6,sp,7
+ 80002278: 00900593 li a1,9
+ 8000227c: 00f57793 andi a5,a0,15
+ 80002280: 03000613 li a2,48
+ 80002284: 0ff7f693 andi a3,a5,255
+ 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24>
+ 8000228c: 05700613 li a2,87
+ 80002290: 00c687bb addw a5,a3,a2
+ 80002294: 00f70023 sb a5,0(a4)
+ 80002298: fff70713 addi a4,a4,-1
+ 8000229c: 00455513 srli a0,a0,0x4
+ 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10>
+ 800022a4: 00814783 lbu a5,8(sp)
+ 800022a8: 00010c23 sb zero,24(sp)
+ 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88>
+ 800022b0: 10100513 li a0,257
+ 800022b4: 00810693 addi a3,sp,8
+ 800022b8: fffff717 auipc a4,0xfffff
+ 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost>
+ 800022c0: 03051513 slli a0,a0,0x30
+ 800022c4: 00073583 ld a1,0(a4)
+ 800022c8: 00168693 addi a3,a3,1
+ 800022cc: 00a7e633 or a2,a5,a0
+ 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78>
+ 800022d4: fffff797 auipc a5,0xfffff
+ 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost>
+ 800022dc: 00073783 ld a5,0(a4)
+ 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68>
+ 800022e4: 0006c783 lbu a5,0(a3)
+ 800022e8: fffff597 auipc a1,0xfffff
+ 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost>
+ 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58>
+ 800022f4: 02010113 addi sp,sp,32
+ 800022f8: 00008067 ret
+
+00000000800022fc <handle_fault>:
+ 800022fc: fffff8b7 lui a7,0xfffff
+ 80002300: 01150733 add a4,a0,a7
+ 80002304: 0003e7b7 lui a5,0x3e
+ 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154>
+ 8000230c: 00c55693 srli a3,a0,0xc
+ 80002310: 60068813 addi a6,a3,1536
+ 80002314: 00002617 auipc a2,0x2
+ 80002318: cec60613 addi a2,a2,-788 # 80004000 <pt>
+ 8000231c: 00381793 slli a5,a6,0x3
+ 80002320: 00f607b3 add a5,a2,a5
+ 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000>
+ 80002328: 01157533 and a0,a0,a7
+ 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110>
+ 80002330: 00006797 auipc a5,0x6
+ 80002334: 4b878793 addi a5,a5,1208 # 800087e8 <freelist_head>
+ 80002338: 0007b583 ld a1,0(a5)
+ 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0>
+ 80002340: 0085b783 ld a5,8(a1)
+ 80002344: 00006717 auipc a4,0x6
+ 80002348: 49c70713 addi a4,a4,1180 # 800087e0 <freelist_tail>
+ 8000234c: 00073703 ld a4,0(a4)
+ 80002350: 00006897 auipc a7,0x6
+ 80002354: 48f8bc23 sd a5,1176(a7) # 800087e8 <freelist_head>
+ 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148>
+ 8000235c: 0005b783 ld a5,0(a1)
+ 80002360: 00381893 slli a7,a6,0x3
+ 80002364: 011608b3 add a7,a2,a7
+ 80002368: 00c7d793 srli a5,a5,0xc
+ 8000236c: 00a79793 slli a5,a5,0xa
+ 80002370: 0df7e313 ori t1,a5,223
+ 80002374: 01f7e713 ori a4,a5,31
+ 80002378: 0068b023 sd t1,0(a7)
+ 8000237c: 12050073 sfence.vma a0
+ 80002380: 00006797 auipc a5,0x6
+ 80002384: 07078793 addi a5,a5,112 # 800083f0 <user_mapping>
+ 80002388: 00469693 slli a3,a3,0x4
+ 8000238c: 00d786b3 add a3,a5,a3
+ 80002390: 0006b783 ld a5,0(a3)
+ 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200>
+ 80002398: 0005b783 ld a5,0(a1)
+ 8000239c: 00f6b023 sd a5,0(a3)
+ 800023a0: 0085b783 ld a5,8(a1)
+ 800023a4: 00f6b423 sd a5,8(a3)
+ 800023a8: 000407b7 lui a5,0x40
+ 800023ac: 1007a8f3 csrrs a7,sstatus,a5
+ 800023b0: ffe007b7 lui a5,0xffe00
+ 800023b4: 00f507b3 add a5,a0,a5
+ 800023b8: 000015b7 lui a1,0x1
+ 800023bc: 00050693 mv a3,a0
+ 800023c0: 00b785b3 add a1,a5,a1
+ 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf7810>
+ 800023c8: 0087be83 ld t4,8(a5)
+ 800023cc: 0107be03 ld t3,16(a5)
+ 800023d0: 0187b303 ld t1,24(a5)
+ 800023d4: 01e6b023 sd t5,0(a3)
+ 800023d8: 01d6b423 sd t4,8(a3)
+ 800023dc: 01c6b823 sd t3,16(a3)
+ 800023e0: 0066bc23 sd t1,24(a3)
+ 800023e4: 02078793 addi a5,a5,32
+ 800023e8: 02068693 addi a3,a3,32
+ 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8>
+ 800023f0: 10089073 csrw sstatus,a7
+ 800023f4: 00381813 slli a6,a6,0x3
+ 800023f8: 01060633 add a2,a2,a6
+ 800023fc: 00e63023 sd a4,0(a2)
+ 80002400: 12050073 sfence.vma a0
+ 80002404: 0000100f fence.i
+ 80002408: 00008067 ret
+ 8000240c: 04077693 andi a3,a4,64
+ 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128>
+ 80002414: 04076713 ori a4,a4,64
+ 80002418: 00e7b023 sd a4,0(a5)
+ 8000241c: 12050073 sfence.vma a0
+ 80002420: 00008067 ret
+ 80002424: 08077693 andi a3,a4,128
+ 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250>
+ 8000242c: 00f00693 li a3,15
+ 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250>
+ 80002434: 08076713 ori a4,a4,128
+ 80002438: 00e7b023 sd a4,0(a5)
+ 8000243c: 12050073 sfence.vma a0
+ 80002440: 00008067 ret
+ 80002444: 00006797 auipc a5,0x6
+ 80002448: 3807be23 sd zero,924(a5) # 800087e0 <freelist_tail>
+ 8000244c: f11ff06f j 8000235c <handle_fault+0x60>
+ 80002450: 10100613 li a2,257
+ 80002454: 04100713 li a4,65
+ 80002458: 00001697 auipc a3,0x1
+ 8000245c: 8a068693 addi a3,a3,-1888 # 80002cf8 <pass+0x10>
+ 80002460: fffff797 auipc a5,0xfffff
+ 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost>
+ 80002468: 03061613 slli a2,a2,0x30
+ 8000246c: 0007b503 ld a0,0(a5)
+ 80002470: 00168693 addi a3,a3,1
+ 80002474: 00c765b3 or a1,a4,a2
+ 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190>
+ 8000247c: fffff717 auipc a4,0xfffff
+ 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost>
+ 80002484: 0007b703 ld a4,0(a5)
+ 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180>
+ 8000248c: 0006c703 lbu a4,0(a3)
+ 80002490: fffff517 auipc a0,0xfffff
+ 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost>
+ 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170>
+ 8000249c: ff010113 addi sp,sp,-16
+ 800024a0: 00300513 li a0,3
+ 800024a4: 00113423 sd ra,8(sp)
+ 800024a8: d89ff0ef jal ra,80002230 <terminate>
+ 800024ac: 10100693 li a3,257
+ 800024b0: 04100713 li a4,65
+ 800024b4: 00001617 auipc a2,0x1
+ 800024b8: 8d460613 addi a2,a2,-1836 # 80002d88 <pass+0xa0>
+ 800024bc: fffff797 auipc a5,0xfffff
+ 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost>
+ 800024c4: 03069693 slli a3,a3,0x30
+ 800024c8: 0007b503 ld a0,0(a5)
+ 800024cc: 00160613 addi a2,a2,1
+ 800024d0: 00d765b3 or a1,a4,a3
+ 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec>
+ 800024d8: fffff717 auipc a4,0xfffff
+ 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost>
+ 800024e0: 0007b703 ld a4,0(a5)
+ 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc>
+ 800024e8: 00064703 lbu a4,0(a2)
+ 800024ec: fffff517 auipc a0,0xfffff
+ 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost>
+ 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc>
+ 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0>
+ 800024fc: 10100693 li a3,257
+ 80002500: 04100713 li a4,65
+ 80002504: 00001617 auipc a2,0x1
+ 80002508: 89c60613 addi a2,a2,-1892 # 80002da0 <pass+0xb8>
+ 8000250c: fffff797 auipc a5,0xfffff
+ 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost>
+ 80002514: 03069693 slli a3,a3,0x30
+ 80002518: 0007b503 ld a0,0(a5)
+ 8000251c: 00160613 addi a2,a2,1
+ 80002520: 00d765b3 or a1,a4,a3
+ 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c>
+ 80002528: fffff717 auipc a4,0xfffff
+ 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost>
+ 80002530: 0007b703 ld a4,0(a5)
+ 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c>
+ 80002538: 00064703 lbu a4,0(a2)
+ 8000253c: fffff517 auipc a0,0xfffff
+ 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost>
+ 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c>
+ 80002548: f55ff06f j 8000249c <handle_fault+0x1a0>
+ 8000254c: 10100613 li a2,257
+ 80002550: 04100713 li a4,65
+ 80002554: 00000697 auipc a3,0x0
+ 80002558: 7ec68693 addi a3,a3,2028 # 80002d40 <pass+0x58>
+ 8000255c: fffff797 auipc a5,0xfffff
+ 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost>
+ 80002564: 03061613 slli a2,a2,0x30
+ 80002568: 0007b503 ld a0,0(a5)
+ 8000256c: 00168693 addi a3,a3,1
+ 80002570: 00c765b3 or a1,a4,a2
+ 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c>
+ 80002578: fffff717 auipc a4,0xfffff
+ 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost>
+ 80002580: 0007b703 ld a4,0(a5)
+ 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c>
+ 80002588: 0006c703 lbu a4,0(a3)
+ 8000258c: fffff517 auipc a0,0xfffff
+ 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost>
+ 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c>
+ 80002598: f05ff06f j 8000249c <handle_fault+0x1a0>
+
+000000008000259c <handle_trap>:
+ 8000259c: 11853583 ld a1,280(a0)
+ 800025a0: f9010113 addi sp,sp,-112
+ 800025a4: 06813023 sd s0,96(sp)
+ 800025a8: 06113423 sd ra,104(sp)
+ 800025ac: 04913c23 sd s1,88(sp)
+ 800025b0: 05213823 sd s2,80(sp)
+ 800025b4: 05313423 sd s3,72(sp)
+ 800025b8: 05413023 sd s4,64(sp)
+ 800025bc: 03513c23 sd s5,56(sp)
+ 800025c0: 03613823 sd s6,48(sp)
+ 800025c4: 03713423 sd s7,40(sp)
+ 800025c8: 03813023 sd s8,32(sp)
+ 800025cc: 01913c23 sd s9,24(sp)
+ 800025d0: 01a13823 sd s10,16(sp)
+ 800025d4: 01b13423 sd s11,8(sp)
+ 800025d8: 00800793 li a5,8
+ 800025dc: 00050413 mv s0,a0
+ 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178>
+ 800025e4: 00200793 li a5,2
+ 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac>
+ 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c>
+ 800025f0: 00100713 li a4,1
+ 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64>
+ 800025f8: 00f00793 li a5,15
+ 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248>
+ 80002600: 11043503 ld a0,272(s0)
+ 80002604: cf9ff0ef jal ra,800022fc <handle_fault>
+ 80002608: 00040513 mv a0,s0
+ 8000260c: 06013403 ld s0,96(sp)
+ 80002610: 06813083 ld ra,104(sp)
+ 80002614: 05813483 ld s1,88(sp)
+ 80002618: 05013903 ld s2,80(sp)
+ 8000261c: 04813983 ld s3,72(sp)
+ 80002620: 04013a03 ld s4,64(sp)
+ 80002624: 03813a83 ld s5,56(sp)
+ 80002628: 03013b03 ld s6,48(sp)
+ 8000262c: 02813b83 ld s7,40(sp)
+ 80002630: 02013c03 ld s8,32(sp)
+ 80002634: 01813c83 ld s9,24(sp)
+ 80002638: 01013d03 ld s10,16(sp)
+ 8000263c: 00813d83 ld s11,8(sp)
+ 80002640: 07010113 addi sp,sp,112
+ 80002644: 9f9fd06f j 8000003c <pop_tf>
+ 80002648: 10853703 ld a4,264(a0)
+ 8000264c: 00377793 andi a5,a4,3
+ 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128>
+ 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0>
+ 80002658: 00301073 fssr zero
+ 8000265c: 00072703 lw a4,0(a4)
+ 80002660: 0007a783 lw a5,0(a5)
+ 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120>
+ 80002668: 10100513 li a0,257
+ 8000266c: 04100793 li a5,65
+ 80002670: 00001697 auipc a3,0x1
+ 80002674: 80868693 addi a3,a3,-2040 # 80002e78 <pass+0x190>
+ 80002678: fffff717 auipc a4,0xfffff
+ 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost>
+ 80002680: 03051513 slli a0,a0,0x30
+ 80002684: 00073583 ld a1,0(a4)
+ 80002688: 00168693 addi a3,a3,1
+ 8000268c: 00a7e633 or a2,a5,a0
+ 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108>
+ 80002694: fffff797 auipc a5,0xfffff
+ 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost>
+ 8000269c: 00073783 ld a5,0(a4)
+ 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8>
+ 800026a4: 0006c783 lbu a5,0(a3)
+ 800026a8: fffff597 auipc a1,0xfffff
+ 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost>
+ 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8>
+ 800026b4: 00300513 li a0,3
+ 800026b8: b79ff0ef jal ra,80002230 <terminate>
+ 800026bc: 00100513 li a0,1
+ 800026c0: b71ff0ef jal ra,80002230 <terminate>
+ 800026c4: 10100793 li a5,257
+ 800026c8: 00000617 auipc a2,0x0
+ 800026cc: 78860613 addi a2,a2,1928 # 80002e50 <pass+0x168>
+ 800026d0: 04100693 li a3,65
+ 800026d4: fffff717 auipc a4,0xfffff
+ 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost>
+ 800026dc: 03079793 slli a5,a5,0x30
+ 800026e0: 00073503 ld a0,0(a4)
+ 800026e4: 00160613 addi a2,a2,1
+ 800026e8: 00f6e5b3 or a1,a3,a5
+ 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164>
+ 800026f0: fffff697 auipc a3,0xfffff
+ 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost>
+ 800026f8: 00073683 ld a3,0(a4)
+ 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154>
+ 80002700: 00064683 lbu a3,0(a2)
+ 80002704: fffff517 auipc a0,0xfffff
+ 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost>
+ 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144>
+ 80002710: fa5ff06f j 800026b4 <handle_trap+0x118>
+ 80002714: 05052983 lw s3,80(a0)
+ 80002718: 00001437 lui s0,0x1
+ 8000271c: 00006d17 auipc s10,0x6
+ 80002720: cd4d0d13 addi s10,s10,-812 # 800083f0 <user_mapping>
+ 80002724: 00002b97 auipc s7,0x2
+ 80002728: 8dcb8b93 addi s7,s7,-1828 # 80004000 <pt>
+ 8000272c: 00040b37 lui s6,0x40
+ 80002730: ffe00ab7 lui s5,0xffe00
+ 80002734: 00006a17 auipc s4,0x6
+ 80002738: 0aca0a13 addi s4,s4,172 # 800087e0 <freelist_tail>
+ 8000273c: 0003f937 lui s2,0x3f
+ 80002740: 01c0006f j 8000275c <handle_trap+0x1c0>
+ 80002744: 00f73423 sd a5,8(a4)
+ 80002748: 00006717 auipc a4,0x6
+ 8000274c: 08f73c23 sd a5,152(a4) # 800087e0 <freelist_tail>
+ 80002750: 000017b7 lui a5,0x1
+ 80002754: 00f40433 add s0,s0,a5
+ 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308>
+ 8000275c: 00c45793 srli a5,s0,0xc
+ 80002760: 00479493 slli s1,a5,0x4
+ 80002764: 009d0733 add a4,s10,s1
+ 80002768: 00073703 ld a4,0(a4)
+ 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4>
+ 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00>
+ 80002774: 00379793 slli a5,a5,0x3
+ 80002778: 00fb87b3 add a5,s7,a5
+ 8000277c: 0007bc03 ld s8,0(a5)
+ 80002780: 040c7793 andi a5,s8,64
+ 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0>
+ 80002788: 100b2cf3 csrrs s9,sstatus,s6
+ 8000278c: 01540db3 add s11,s0,s5
+ 80002790: 00001637 lui a2,0x1
+ 80002794: 000d8593 mv a1,s11
+ 80002798: 00040513 mv a0,s0
+ 8000279c: 975ff0ef jal ra,80002110 <memcmp>
+ 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220>
+ 800027a4: 080c7c13 andi s8,s8,128
+ 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298>
+ 800027ac: 00001637 lui a2,0x1
+ 800027b0: 000d8593 mv a1,s11
+ 800027b4: 00040513 mv a0,s0
+ 800027b8: 849ff0ef jal ra,80002000 <memcpy>
+ 800027bc: 009d07b3 add a5,s10,s1
+ 800027c0: 100c9073 csrw sstatus,s9
+ 800027c4: 000a3703 ld a4,0(s4)
+ 800027c8: 0007b023 sd zero,0(a5)
+ 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8>
+ 800027d0: 00006717 auipc a4,0x6
+ 800027d4: 00f73823 sd a5,16(a4) # 800087e0 <freelist_tail>
+ 800027d8: 00006717 auipc a4,0x6
+ 800027dc: 00f73823 sd a5,16(a4) # 800087e8 <freelist_head>
+ 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4>
+ 800027e4: 10100793 li a5,257
+ 800027e8: 04100613 li a2,65
+ 800027ec: 00000697 auipc a3,0x0
+ 800027f0: 6bc68693 addi a3,a3,1724 # 80002ea8 <pass+0x1c0>
+ 800027f4: fffff717 auipc a4,0xfffff
+ 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost>
+ 800027fc: 03079793 slli a5,a5,0x30
+ 80002800: 00073503 ld a0,0(a4)
+ 80002804: 00168693 addi a3,a3,1
+ 80002808: 00f665b3 or a1,a2,a5
+ 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284>
+ 80002810: fffff617 auipc a2,0xfffff
+ 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost>
+ 80002818: 00073603 ld a2,0(a4)
+ 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274>
+ 80002820: 0006c603 lbu a2,0(a3)
+ 80002824: ffffe517 auipc a0,0xffffe
+ 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost>
+ 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264>
+ 80002830: e85ff06f j 800026b4 <handle_trap+0x118>
+ 80002834: 10100793 li a5,257
+ 80002838: 04100613 li a2,65
+ 8000283c: 00000697 auipc a3,0x0
+ 80002840: 5dc68693 addi a3,a3,1500 # 80002e18 <pass+0x130>
+ 80002844: ffffe717 auipc a4,0xffffe
+ 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost>
+ 8000284c: 03079793 slli a5,a5,0x30
+ 80002850: 00168693 addi a3,a3,1
+ 80002854: 00f665b3 or a1,a2,a5
+ 80002858: 00073603 ld a2,0(a4)
+ 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310>
+ 80002860: ffffe617 auipc a2,0xffffe
+ 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost>
+ 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc>
+ 8000286c: 10100793 li a5,257
+ 80002870: 04100613 li a2,65
+ 80002874: 00000697 auipc a3,0x0
+ 80002878: 56c68693 addi a3,a3,1388 # 80002de0 <pass+0xf8>
+ 8000287c: ffffe717 auipc a4,0xffffe
+ 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost>
+ 80002884: 03079793 slli a5,a5,0x30
+ 80002888: 00168693 addi a3,a3,1
+ 8000288c: 00f665b3 or a1,a2,a5
+ 80002890: 00073603 ld a2,0(a4)
+ 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324>
+ 80002898: ffffe617 auipc a2,0xffffe
+ 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost>
+ 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4>
+ 800028a4: 00098513 mv a0,s3
+ 800028a8: 989ff0ef jal ra,80002230 <terminate>
+ 800028ac: 0006c603 lbu a2,0(a3)
+ 800028b0: ffffe517 auipc a0,0xffffe
+ 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost>
+ 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4>
+ 800028bc: df9ff06f j 800026b4 <handle_trap+0x118>
+ 800028c0: 0006c603 lbu a2,0(a3)
+ 800028c4: ffffe517 auipc a0,0xffffe
+ 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost>
+ 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec>
+ 800028d0: de5ff06f j 800026b4 <handle_trap+0x118>
+
+00000000800028d4 <vm_boot>:
+ 800028d4: f14027f3 csrr a5,mhartid
+ 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198>
+ 800028dc: 00002697 auipc a3,0x2
+ 800028e0: 72468693 addi a3,a3,1828 # 80005000 <pt+0x1000>
+ 800028e4: 00003717 auipc a4,0x3
+ 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <pt+0x2000>
+ 800028ec: 00c6d693 srli a3,a3,0xc
+ 800028f0: 00c75713 srli a4,a4,0xc
+ 800028f4: 00004797 auipc a5,0x4
+ 800028f8: 70c78793 addi a5,a5,1804 # 80007000 <pt+0x3000>
+ 800028fc: 00a69693 slli a3,a3,0xa
+ 80002900: 00a71713 slli a4,a4,0xa
+ 80002904: 0016e693 ori a3,a3,1
+ 80002908: 00176713 ori a4,a4,1
+ 8000290c: 00c7d793 srli a5,a5,0xc
+ 80002910: 00001897 auipc a7,0x1
+ 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <pt>
+ 80002918: 00a79793 slli a5,a5,0xa
+ 8000291c: 00002697 auipc a3,0x2
+ 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <pt+0xff8>
+ 80002924: 20000737 lui a4,0x20000
+ 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31>
+ 8000292c: fff00593 li a1,-1
+ 80002930: 0017e793 ori a5,a5,1
+ 80002934: 00001617 auipc a2,0x1
+ 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <pt>
+ 8000293c: ed010113 addi sp,sp,-304
+ 80002940: 03f59813 slli a6,a1,0x3f
+ 80002944: 00004697 auipc a3,0x4
+ 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <pt+0x2ff8>
+ 8000294c: 00002717 auipc a4,0x2
+ 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <pt+0x1000>
+ 80002954: 00c65793 srli a5,a2,0xc
+ 80002958: 12113423 sd ra,296(sp)
+ 8000295c: 12813023 sd s0,288(sp)
+ 80002960: 0107e7b3 or a5,a5,a6
+ 80002964: 18079073 csrw satp,a5
+ 80002968: 01f00793 li a5,31
+ 8000296c: 00000297 auipc t0,0x0
+ 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac>
+ 80002974: 305292f3 csrrw t0,mtvec,t0
+ 80002978: 3b059073 csrw pmpaddr0,a1
+ 8000297c: 3a079073 csrw pmpcfg0,a5
+ 80002980: bff00813 li a6,-1025
+ 80002984: 01581813 slli a6,a6,0x15
+ 80002988: ffffd797 auipc a5,0xffffd
+ 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry>
+ 80002990: 010787b3 add a5,a5,a6
+ 80002994: 10579073 csrw stvec,a5
+ 80002998: 340027f3 csrr a5,mscratch
+ 8000299c: 010787b3 add a5,a5,a6
+ 800029a0: 14079073 csrw sscratch,a5
+ 800029a4: 0000b7b7 lui a5,0xb
+ 800029a8: 1007879b addiw a5,a5,256
+ 800029ac: 30279073 csrw medeleg,a5
+ 800029b0: 0001e7b7 lui a5,0x1e
+ 800029b4: 30079073 csrw mstatus,a5
+ 800029b8: 30405073 csrwi mie,0
+ 800029bc: 00005697 auipc a3,0x5
+ 800029c0: 64468693 addi a3,a3,1604 # 80008000 <freelist_nodes>
+ 800029c4: 010687b3 add a5,a3,a6
+ 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20>
+ 800029cc: 00006617 auipc a2,0x6
+ 800029d0: e0f63e23 sd a5,-484(a2) # 800087e8 <freelist_head>
+ 800029d4: 00006797 auipc a5,0x6
+ 800029d8: e0e7b623 sd a4,-500(a5) # 800087e0 <freelist_tail>
+ 800029dc: 00006317 auipc t1,0x6
+ 800029e0: a1430313 addi t1,t1,-1516 # 800083f0 <user_mapping>
+ 800029e4: 03600793 li a5,54
+ 800029e8: 000808b7 lui a7,0x80
+ 800029ec: 01080813 addi a6,a6,16
+ 800029f0: 03f7871b addiw a4,a5,63
+ 800029f4: 02071713 slli a4,a4,0x20
+ 800029f8: 0017d61b srliw a2,a5,0x1
+ 800029fc: 02075713 srli a4,a4,0x20
+ 80002a00: 00c7c7b3 xor a5,a5,a2
+ 80002a04: 01170733 add a4,a4,a7
+ 80002a08: 010685b3 add a1,a3,a6
+ 80002a0c: 00c71713 slli a4,a4,0xc
+ 80002a10: 0057979b slliw a5,a5,0x5
+ 80002a14: 00e6b023 sd a4,0(a3)
+ 80002a18: 00b6b423 sd a1,8(a3)
+ 80002a1c: 0207f793 andi a5,a5,32
+ 80002a20: 01068693 addi a3,a3,16
+ 80002a24: 00c7e7b3 or a5,a5,a2
+ 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c>
+ 80002a2c: 00050413 mv s0,a0
+ 80002a30: 12000613 li a2,288
+ 80002a34: 00000593 li a1,0
+ 80002a38: 00010513 mv a0,sp
+ 80002a3c: 00006797 auipc a5,0x6
+ 80002a40: 9a07b623 sd zero,-1620(a5) # 800083e8 <freelist_nodes+0x3e8>
+ 80002a44: e18ff0ef jal ra,8000205c <memset>
+ 80002a48: 800007b7 lui a5,0x80000
+ 80002a4c: 00f40433 add s0,s0,a5
+ 80002a50: 00010513 mv a0,sp
+ 80002a54: 10813423 sd s0,264(sp)
+ 80002a58: de4fd0ef jal ra,8000003c <pop_tf>
+ 80002a5c: 12813083 ld ra,296(sp)
+ 80002a60: 12013403 ld s0,288(sp)
+ 80002a64: 13010113 addi sp,sp,304
+ 80002a68: 00008067 ret
+ 80002a6c: 086e87b7 lui a5,0x86e8
+ 80002a70: 000805b7 lui a1,0x80
+ 80002a74: a8078793 addi a5,a5,-1408 # 86e7a80 <_start-0x77918580>
+ 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004>
+ 80002a7c: 00100613 li a2,1
+ 80002a80: 00b7f733 and a4,a5,a1
+ 80002a84: 01f61613 slli a2,a2,0x1f
+ 80002a88: 0017f693 andi a3,a5,1
+ 80002a8c: 02079793 slli a5,a5,0x20
+ 80002a90: 0207d793 srli a5,a5,0x20
+ 80002a94: 00c70733 add a4,a4,a2
+ 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8>
+ 80002a9c: 0007202f amoadd.w zero,zero,(a4)
+ 80002aa0: 0017d793 srli a5,a5,0x1
+ 80002aa4: 00b7f733 and a4,a5,a1
+ 80002aa8: 0017f693 andi a3,a5,1
+ 80002aac: 02079793 slli a5,a5,0x20
+ 80002ab0: 0207d793 srli a5,a5,0x20
+ 80002ab4: 00c70733 add a4,a4,a2
+ 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8>
+ 80002abc: 00072003 lw zero,0(a4)
+ 80002ac0: 0017d793 srli a5,a5,0x1
+ 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0>
+
+0000000080002ac8 <userstart>:
+ 80002ac8: 00301073 fssr zero
+
+0000000080002acc <test_2>:
+ 80002acc: 00200193 li gp,2
+ 80002ad0: 00000517 auipc a0,0x0
+ 80002ad4: 53050513 addi a0,a0,1328 # 80003000 <test_2_data>
+ 80002ad8: 00052007 flw ft0,0(a0)
+ 80002adc: 00452087 flw ft1,4(a0)
+ 80002ae0: 00852107 flw ft2,8(a0)
+ 80002ae4: 00c52683 lw a3,12(a0)
+ 80002ae8: 001071d3 fadd.s ft3,ft0,ft1
+ 80002aec: e0018553 fmv.x.w a0,ft3
+ 80002af0: 001015f3 fsflags a1,zero
+ 80002af4: 00000613 li a2,0
+ 80002af8: 1ed51063 bne a0,a3,80002cd8 <fail>
+ 80002afc: 1cc59e63 bne a1,a2,80002cd8 <fail>
+
+0000000080002b00 <test_3>:
+ 80002b00: 00300193 li gp,3
+ 80002b04: 00000517 auipc a0,0x0
+ 80002b08: 50c50513 addi a0,a0,1292 # 80003010 <test_3_data>
+ 80002b0c: 00052007 flw ft0,0(a0)
+ 80002b10: 00452087 flw ft1,4(a0)
+ 80002b14: 00852107 flw ft2,8(a0)
+ 80002b18: 00c52683 lw a3,12(a0)
+ 80002b1c: 001071d3 fadd.s ft3,ft0,ft1
+ 80002b20: e0018553 fmv.x.w a0,ft3
+ 80002b24: 001015f3 fsflags a1,zero
+ 80002b28: 00100613 li a2,1
+ 80002b2c: 1ad51663 bne a0,a3,80002cd8 <fail>
+ 80002b30: 1ac59463 bne a1,a2,80002cd8 <fail>
+
+0000000080002b34 <test_4>:
+ 80002b34: 00400193 li gp,4
+ 80002b38: 00000517 auipc a0,0x0
+ 80002b3c: 4e850513 addi a0,a0,1256 # 80003020 <test_4_data>
+ 80002b40: 00052007 flw ft0,0(a0)
+ 80002b44: 00452087 flw ft1,4(a0)
+ 80002b48: 00852107 flw ft2,8(a0)
+ 80002b4c: 00c52683 lw a3,12(a0)
+ 80002b50: 001071d3 fadd.s ft3,ft0,ft1
+ 80002b54: e0018553 fmv.x.w a0,ft3
+ 80002b58: 001015f3 fsflags a1,zero
+ 80002b5c: 00100613 li a2,1
+ 80002b60: 16d51c63 bne a0,a3,80002cd8 <fail>
+ 80002b64: 16c59a63 bne a1,a2,80002cd8 <fail>
+
+0000000080002b68 <test_5>:
+ 80002b68: 00500193 li gp,5
+ 80002b6c: 00000517 auipc a0,0x0
+ 80002b70: 4c450513 addi a0,a0,1220 # 80003030 <test_5_data>
+ 80002b74: 00052007 flw ft0,0(a0)
+ 80002b78: 00452087 flw ft1,4(a0)
+ 80002b7c: 00852107 flw ft2,8(a0)
+ 80002b80: 00c52683 lw a3,12(a0)
+ 80002b84: 081071d3 fsub.s ft3,ft0,ft1
+ 80002b88: e0018553 fmv.x.w a0,ft3
+ 80002b8c: 001015f3 fsflags a1,zero
+ 80002b90: 00000613 li a2,0
+ 80002b94: 14d51263 bne a0,a3,80002cd8 <fail>
+ 80002b98: 14c59063 bne a1,a2,80002cd8 <fail>
+
+0000000080002b9c <test_6>:
+ 80002b9c: 00600193 li gp,6
+ 80002ba0: 00000517 auipc a0,0x0
+ 80002ba4: 4a050513 addi a0,a0,1184 # 80003040 <test_6_data>
+ 80002ba8: 00052007 flw ft0,0(a0)
+ 80002bac: 00452087 flw ft1,4(a0)
+ 80002bb0: 00852107 flw ft2,8(a0)
+ 80002bb4: 00c52683 lw a3,12(a0)
+ 80002bb8: 081071d3 fsub.s ft3,ft0,ft1
+ 80002bbc: e0018553 fmv.x.w a0,ft3
+ 80002bc0: 001015f3 fsflags a1,zero
+ 80002bc4: 00100613 li a2,1
+ 80002bc8: 10d51863 bne a0,a3,80002cd8 <fail>
+ 80002bcc: 10c59663 bne a1,a2,80002cd8 <fail>
+
+0000000080002bd0 <test_7>:
+ 80002bd0: 00700193 li gp,7
+ 80002bd4: 00000517 auipc a0,0x0
+ 80002bd8: 47c50513 addi a0,a0,1148 # 80003050 <test_7_data>
+ 80002bdc: 00052007 flw ft0,0(a0)
+ 80002be0: 00452087 flw ft1,4(a0)
+ 80002be4: 00852107 flw ft2,8(a0)
+ 80002be8: 00c52683 lw a3,12(a0)
+ 80002bec: 081071d3 fsub.s ft3,ft0,ft1
+ 80002bf0: e0018553 fmv.x.w a0,ft3
+ 80002bf4: 001015f3 fsflags a1,zero
+ 80002bf8: 00100613 li a2,1
+ 80002bfc: 0cd51e63 bne a0,a3,80002cd8 <fail>
+ 80002c00: 0cc59c63 bne a1,a2,80002cd8 <fail>
+
+0000000080002c04 <test_8>:
+ 80002c04: 00800193 li gp,8
+ 80002c08: 00000517 auipc a0,0x0
+ 80002c0c: 45850513 addi a0,a0,1112 # 80003060 <test_8_data>
+ 80002c10: 00052007 flw ft0,0(a0)
+ 80002c14: 00452087 flw ft1,4(a0)
+ 80002c18: 00852107 flw ft2,8(a0)
+ 80002c1c: 00c52683 lw a3,12(a0)
+ 80002c20: 101071d3 fmul.s ft3,ft0,ft1
+ 80002c24: e0018553 fmv.x.w a0,ft3
+ 80002c28: 001015f3 fsflags a1,zero
+ 80002c2c: 00000613 li a2,0
+ 80002c30: 0ad51463 bne a0,a3,80002cd8 <fail>
+ 80002c34: 0ac59263 bne a1,a2,80002cd8 <fail>
+
+0000000080002c38 <test_9>:
+ 80002c38: 00900193 li gp,9
+ 80002c3c: 00000517 auipc a0,0x0
+ 80002c40: 43450513 addi a0,a0,1076 # 80003070 <test_9_data>
+ 80002c44: 00052007 flw ft0,0(a0)
+ 80002c48: 00452087 flw ft1,4(a0)
+ 80002c4c: 00852107 flw ft2,8(a0)
+ 80002c50: 00c52683 lw a3,12(a0)
+ 80002c54: 101071d3 fmul.s ft3,ft0,ft1
+ 80002c58: e0018553 fmv.x.w a0,ft3
+ 80002c5c: 001015f3 fsflags a1,zero
+ 80002c60: 00100613 li a2,1
+ 80002c64: 06d51a63 bne a0,a3,80002cd8 <fail>
+ 80002c68: 06c59863 bne a1,a2,80002cd8 <fail>
+
+0000000080002c6c <test_10>:
+ 80002c6c: 00a00193 li gp,10
+ 80002c70: 00000517 auipc a0,0x0
+ 80002c74: 41050513 addi a0,a0,1040 # 80003080 <test_10_data>
+ 80002c78: 00052007 flw ft0,0(a0)
+ 80002c7c: 00452087 flw ft1,4(a0)
+ 80002c80: 00852107 flw ft2,8(a0)
+ 80002c84: 00c52683 lw a3,12(a0)
+ 80002c88: 101071d3 fmul.s ft3,ft0,ft1
+ 80002c8c: e0018553 fmv.x.w a0,ft3
+ 80002c90: 001015f3 fsflags a1,zero
+ 80002c94: 00100613 li a2,1
+ 80002c98: 04d51063 bne a0,a3,80002cd8 <fail>
+ 80002c9c: 02c59e63 bne a1,a2,80002cd8 <fail>
+
+0000000080002ca0 <test_11>:
+ 80002ca0: 00b00193 li gp,11
+ 80002ca4: 00000517 auipc a0,0x0
+ 80002ca8: 3ec50513 addi a0,a0,1004 # 80003090 <test_11_data>
+ 80002cac: 00052007 flw ft0,0(a0)
+ 80002cb0: 00452087 flw ft1,4(a0)
+ 80002cb4: 00852107 flw ft2,8(a0)
+ 80002cb8: 00c52683 lw a3,12(a0)
+ 80002cbc: 081071d3 fsub.s ft3,ft0,ft1
+ 80002cc0: e0018553 fmv.x.w a0,ft3
+ 80002cc4: 001015f3 fsflags a1,zero
+ 80002cc8: 01000613 li a2,16
+ 80002ccc: 00d51663 bne a0,a3,80002cd8 <fail>
+ 80002cd0: 00c59463 bne a1,a2,80002cd8 <fail>
+ 80002cd4: 00301a63 bne zero,gp,80002ce8 <pass>
+
+0000000080002cd8 <fail>:
+ 80002cd8: 00119513 slli a0,gp,0x1
+ 80002cdc: 00050063 beqz a0,80002cdc <fail+0x4>
+ 80002ce0: 00156513 ori a0,a0,1
+ 80002ce4: 00000073 ecall
+
+0000000080002ce8 <pass>:
+ 80002ce8: 00100513 li a0,1
+ 80002cec: 00000073 ecall
+ 80002cf0: c0001073 unimp
+
+Disassembly of section .data:
+
+0000000080003000 <test_2_data>:
+ 80003000: 0000 unimp
+ 80003002: 4020 lw s0,64(s0)
+ 80003004: 0000 unimp
+ 80003006: 3f80 fld fs0,56(a5)
+ 80003008: 0000 unimp
+ 8000300a: 0000 unimp
+ 8000300c: 0000 unimp
+ 8000300e: 4060 lw s0,68(s0)
+
+0000000080003010 <test_3_data>:
+ 80003010: c49a6333 0xc49a6333
+ 80003014: cccd beqz s1,800030ce <begin_signature+0x2e>
+ 80003016: 3f8c fld fa1,56(a5)
+ 80003018: 0000 unimp
+ 8000301a: 0000 unimp
+ 8000301c: 4000 lw s0,0(s0)
+ 8000301e: c49a sw t1,72(sp)
+
+0000000080003020 <test_4_data>:
+ 80003020: 40490fdb 0x40490fdb
+ 80003024: 322bcc77 0x322bcc77
+ 80003028: 0000 unimp
+ 8000302a: 0000 unimp
+ 8000302c: 40490fdb 0x40490fdb
+
+0000000080003030 <test_5_data>:
+ 80003030: 0000 unimp
+ 80003032: 4020 lw s0,64(s0)
+ 80003034: 0000 unimp
+ 80003036: 3f80 fld fs0,56(a5)
+ 80003038: 0000 unimp
+ 8000303a: 0000 unimp
+ 8000303c: 0000 unimp
+ 8000303e: 3fc0 fld fs0,184(a5)
+
+0000000080003040 <test_6_data>:
+ 80003040: c49a6333 0xc49a6333
+ 80003044: cccd beqz s1,800030fe <begin_signature+0x5e>
+ 80003046: bf8c fsd fa1,56(a5)
+ 80003048: 0000 unimp
+ 8000304a: 0000 unimp
+ 8000304c: 4000 lw s0,0(s0)
+ 8000304e: c49a sw t1,72(sp)
+
+0000000080003050 <test_7_data>:
+ 80003050: 40490fdb 0x40490fdb
+ 80003054: 322bcc77 0x322bcc77
+ 80003058: 0000 unimp
+ 8000305a: 0000 unimp
+ 8000305c: 40490fdb 0x40490fdb
+
+0000000080003060 <test_8_data>:
+ 80003060: 0000 unimp
+ 80003062: 4020 lw s0,64(s0)
+ 80003064: 0000 unimp
+ 80003066: 3f80 fld fs0,56(a5)
+ 80003068: 0000 unimp
+ 8000306a: 0000 unimp
+ 8000306c: 0000 unimp
+ 8000306e: 4020 lw s0,64(s0)
+
+0000000080003070 <test_9_data>:
+ 80003070: c49a6333 0xc49a6333
+ 80003074: cccd beqz s1,8000312e <begin_signature+0x8e>
+ 80003076: bf8c fsd fa1,56(a5)
+ 80003078: 0000 unimp
+ 8000307a: 0000 unimp
+ 8000307c: d385 beqz a5,80002f9c <pass+0x2b4>
+ 8000307e: 44a9 li s1,10
+
+0000000080003080 <test_10_data>:
+ 80003080: 40490fdb 0x40490fdb
+ 80003084: 322bcc77 0x322bcc77
+ 80003088: 0000 unimp
+ 8000308a: 0000 unimp
+ 8000308c: ee2d bnez a2,80003106 <begin_signature+0x66>
+ 8000308e: 3306 fld ft6,96(sp)
+
+0000000080003090 <test_11_data>:
+ 80003090: 0000 unimp
+ 80003092: 7f80 ld s0,56(a5)
+ 80003094: 0000 unimp
+ 80003096: 7f80 ld s0,56(a5)
+ 80003098: 0000 unimp
+ 8000309a: 0000 unimp
+ 8000309c: 0000 unimp
+ 8000309e: 7fc0 ld s0,184(a5)
diff --git a/test/riscv-tests/rv64uf-v-fadd.elf b/test/riscv-tests/rv64uf-v-fadd.elf
new file mode 100644
index 0000000..29212bf
--- /dev/null
+++ b/test/riscv-tests/rv64uf-v-fadd.elf
Binary files differ
diff --git a/test/riscv-tests/rv64uf-v-fclass.dump b/test/riscv-tests/rv64uf-v-fclass.dump
new file mode 100644
index 0000000..d472913
--- /dev/null
+++ b/test/riscv-tests/rv64uf-v-fclass.dump
@@ -0,0 +1,929 @@
+
+rv64uf-v-fclass: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 00c0006f j 8000000c <handle_reset>
+
+0000000080000004 <nmi_vector>:
+ 80000004: 2580206f j 8000225c <wtf>
+
+0000000080000008 <trap_vector>:
+ 80000008: 2540206f j 8000225c <wtf>
+
+000000008000000c <handle_reset>:
+ 8000000c: 00000297 auipc t0,0x0
+ 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+ 80000014: 30529073 csrw mtvec,t0
+ 80000018: 00008117 auipc sp,0x8
+ 8000001c: 6b810113 addi sp,sp,1720 # 800086d0 <_end+0xee0>
+ 80000020: f14022f3 csrr t0,mhartid
+ 80000024: 00c29293 slli t0,t0,0xc
+ 80000028: 00510133 add sp,sp,t0
+ 8000002c: 34011073 csrw mscratch,sp
+ 80000030: 00003517 auipc a0,0x3
+ 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart>
+ 80000038: 09d0206f j 800028d4 <vm_boot>
+
+000000008000003c <pop_tf>:
+ 8000003c: 10853283 ld t0,264(a0)
+ 80000040: 14129073 csrw sepc,t0
+ 80000044: 00853083 ld ra,8(a0)
+ 80000048: 01053103 ld sp,16(a0)
+ 8000004c: 01853183 ld gp,24(a0)
+ 80000050: 02053203 ld tp,32(a0)
+ 80000054: 02853283 ld t0,40(a0)
+ 80000058: 03053303 ld t1,48(a0)
+ 8000005c: 03853383 ld t2,56(a0)
+ 80000060: 04053403 ld s0,64(a0)
+ 80000064: 04853483 ld s1,72(a0)
+ 80000068: 05853583 ld a1,88(a0)
+ 8000006c: 06053603 ld a2,96(a0)
+ 80000070: 06853683 ld a3,104(a0)
+ 80000074: 07053703 ld a4,112(a0)
+ 80000078: 07853783 ld a5,120(a0)
+ 8000007c: 08053803 ld a6,128(a0)
+ 80000080: 08853883 ld a7,136(a0)
+ 80000084: 09053903 ld s2,144(a0)
+ 80000088: 09853983 ld s3,152(a0)
+ 8000008c: 0a053a03 ld s4,160(a0)
+ 80000090: 0a853a83 ld s5,168(a0)
+ 80000094: 0b053b03 ld s6,176(a0)
+ 80000098: 0b853b83 ld s7,184(a0)
+ 8000009c: 0c053c03 ld s8,192(a0)
+ 800000a0: 0c853c83 ld s9,200(a0)
+ 800000a4: 0d053d03 ld s10,208(a0)
+ 800000a8: 0d853d83 ld s11,216(a0)
+ 800000ac: 0e053e03 ld t3,224(a0)
+ 800000b0: 0e853e83 ld t4,232(a0)
+ 800000b4: 0f053f03 ld t5,240(a0)
+ 800000b8: 0f853f83 ld t6,248(a0)
+ 800000bc: 05053503 ld a0,80(a0)
+ 800000c0: 10200073 sret
+
+00000000800000c4 <trap_entry>:
+ 800000c4: 14011173 csrrw sp,sscratch,sp
+ 800000c8: 00113423 sd ra,8(sp)
+ 800000cc: 00313c23 sd gp,24(sp)
+ 800000d0: 02413023 sd tp,32(sp)
+ 800000d4: 02513423 sd t0,40(sp)
+ 800000d8: 02613823 sd t1,48(sp)
+ 800000dc: 02713c23 sd t2,56(sp)
+ 800000e0: 04813023 sd s0,64(sp)
+ 800000e4: 04913423 sd s1,72(sp)
+ 800000e8: 04a13823 sd a0,80(sp)
+ 800000ec: 04b13c23 sd a1,88(sp)
+ 800000f0: 06c13023 sd a2,96(sp)
+ 800000f4: 06d13423 sd a3,104(sp)
+ 800000f8: 06e13823 sd a4,112(sp)
+ 800000fc: 06f13c23 sd a5,120(sp)
+ 80000100: 09013023 sd a6,128(sp)
+ 80000104: 09113423 sd a7,136(sp)
+ 80000108: 09213823 sd s2,144(sp)
+ 8000010c: 09313c23 sd s3,152(sp)
+ 80000110: 0b413023 sd s4,160(sp)
+ 80000114: 0b513423 sd s5,168(sp)
+ 80000118: 0b613823 sd s6,176(sp)
+ 8000011c: 0b713c23 sd s7,184(sp)
+ 80000120: 0d813023 sd s8,192(sp)
+ 80000124: 0d913423 sd s9,200(sp)
+ 80000128: 0da13823 sd s10,208(sp)
+ 8000012c: 0db13c23 sd s11,216(sp)
+ 80000130: 0fc13023 sd t3,224(sp)
+ 80000134: 0fd13423 sd t4,232(sp)
+ 80000138: 0fe13823 sd t5,240(sp)
+ 8000013c: 0ff13c23 sd t6,248(sp)
+ 80000140: 140112f3 csrrw t0,sscratch,sp
+ 80000144: 00513823 sd t0,16(sp)
+ 80000148: 100022f3 csrr t0,sstatus
+ 8000014c: 10513023 sd t0,256(sp)
+ 80000150: 141022f3 csrr t0,sepc
+ 80000154: 10513423 sd t0,264(sp)
+ 80000158: 143022f3 csrr t0,stval
+ 8000015c: 10513823 sd t0,272(sp)
+ 80000160: 142022f3 csrr t0,scause
+ 80000164: 10513c23 sd t0,280(sp)
+ 80000168: 00010513 mv a0,sp
+ 8000016c: 4300206f j 8000259c <handle_trap>
+
+Disassembly of section .text:
+
+0000000080002000 <memcpy>:
+ 80002000: 00c5e7b3 or a5,a1,a2
+ 80002004: 00f567b3 or a5,a0,a5
+ 80002008: 0077f793 andi a5,a5,7
+ 8000200c: 00c506b3 add a3,a0,a2
+ 80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+ 80002014: 00c58633 add a2,a1,a2
+ 80002018: 00050793 mv a5,a0
+ 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+ 80002020: 00158593 addi a1,a1,1
+ 80002024: fff5c703 lbu a4,-1(a1)
+ 80002028: 00178793 addi a5,a5,1
+ 8000202c: fee78fa3 sb a4,-1(a5)
+ 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+ 80002034: 00008067 ret
+ 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+ 8000203c: 00050793 mv a5,a0
+ 80002040: 00858593 addi a1,a1,8
+ 80002044: ff85b703 ld a4,-8(a1)
+ 80002048: 00878793 addi a5,a5,8
+ 8000204c: fee7bc23 sd a4,-8(a5)
+ 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+ 80002054: 00008067 ret
+ 80002058: 00008067 ret
+
+000000008000205c <memset>:
+ 8000205c: 00c567b3 or a5,a0,a2
+ 80002060: 0077f793 andi a5,a5,7
+ 80002064: 00c50633 add a2,a0,a2
+ 80002068: 0ff5f593 andi a1,a1,255
+ 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c>
+ 80002070: 00050793 mv a5,a0
+ 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c>
+ 80002078: 00178793 addi a5,a5,1
+ 8000207c: feb78fa3 sb a1,-1(a5)
+ 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+ 80002084: 00008067 ret
+ 80002088: 00859793 slli a5,a1,0x8
+ 8000208c: 00b7e5b3 or a1,a5,a1
+ 80002090: 01059793 slli a5,a1,0x10
+ 80002094: 00b7e7b3 or a5,a5,a1
+ 80002098: 02079593 slli a1,a5,0x20
+ 8000209c: 00f5e5b3 or a1,a1,a5
+ 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28>
+ 800020a4: 00050793 mv a5,a0
+ 800020a8: 00878793 addi a5,a5,8
+ 800020ac: feb7bc23 sd a1,-8(a5)
+ 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c>
+ 800020b4: 00008067 ret
+ 800020b8: 00008067 ret
+
+00000000800020bc <strlen>:
+ 800020bc: 00054783 lbu a5,0(a0)
+ 800020c0: 00050713 mv a4,a0
+ 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20>
+ 800020c8: 00150513 addi a0,a0,1
+ 800020cc: 00054783 lbu a5,0(a0)
+ 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc>
+ 800020d4: 40e50533 sub a0,a0,a4
+ 800020d8: 00008067 ret
+ 800020dc: 00000513 li a0,0
+ 800020e0: 00008067 ret
+
+00000000800020e4 <strcmp>:
+ 800020e4: 00150513 addi a0,a0,1
+ 800020e8: fff54783 lbu a5,-1(a0)
+ 800020ec: 00158593 addi a1,a1,1
+ 800020f0: fff5c703 lbu a4,-1(a1)
+ 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24>
+ 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp>
+ 800020fc: 0007851b sext.w a0,a5
+ 80002100: 40e5053b subw a0,a0,a4
+ 80002104: 00008067 ret
+ 80002108: 00000513 li a0,0
+ 8000210c: ff5ff06f j 80002100 <strcmp+0x1c>
+
+0000000080002110 <memcmp>:
+ 80002110: 00b567b3 or a5,a0,a1
+ 80002114: 0077f793 andi a5,a5,7
+ 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c>
+ 8000211c: ff867693 andi a3,a2,-8
+ 80002120: 00d506b3 add a3,a0,a3
+ 80002124: 00050813 mv a6,a0
+ 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c>
+ 8000212c: 00053703 ld a4,0(a0)
+ 80002130: 0005b783 ld a5,0(a1)
+ 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38>
+ 80002138: 0240006f j 8000215c <memcmp+0x4c>
+ 8000213c: 00053703 ld a4,0(a0)
+ 80002140: 0005b783 ld a5,0(a1)
+ 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44>
+ 80002148: 00850513 addi a0,a0,8
+ 8000214c: 00858593 addi a1,a1,8
+ 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c>
+ 80002154: 41050833 sub a6,a0,a6
+ 80002158: 41060633 sub a2,a2,a6
+ 8000215c: 00c58633 add a2,a1,a2
+ 80002160: 0140006f j 80002174 <memcmp+0x64>
+ 80002164: 00158593 addi a1,a1,1
+ 80002168: fff54783 lbu a5,-1(a0)
+ 8000216c: fff5c703 lbu a4,-1(a1)
+ 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74>
+ 80002174: 00150513 addi a0,a0,1
+ 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54>
+ 8000217c: 00000513 li a0,0
+ 80002180: 00008067 ret
+ 80002184: 40e7853b subw a0,a5,a4
+ 80002188: 00008067 ret
+
+000000008000218c <strcpy>:
+ 8000218c: 00050793 mv a5,a0
+ 80002190: 00158593 addi a1,a1,1
+ 80002194: fff5c703 lbu a4,-1(a1)
+ 80002198: 00178793 addi a5,a5,1
+ 8000219c: fee78fa3 sb a4,-1(a5)
+ 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4>
+ 800021a4: 00008067 ret
+
+00000000800021a8 <atol>:
+ 800021a8: 00054783 lbu a5,0(a0)
+ 800021ac: 02000713 li a4,32
+ 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18>
+ 800021b4: 00150513 addi a0,a0,1
+ 800021b8: 00054783 lbu a5,0(a0)
+ 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc>
+ 800021c0: fd57871b addiw a4,a5,-43
+ 800021c4: 0fd77713 andi a4,a4,253
+ 800021c8: 04070263 beqz a4,8000220c <atol+0x64>
+ 800021cc: 00054683 lbu a3,0(a0)
+ 800021d0: 00050793 mv a5,a0
+ 800021d4: 00000613 li a2,0
+ 800021d8: 04068863 beqz a3,80002228 <atol+0x80>
+ 800021dc: 00000513 li a0,0
+ 800021e0: 00178793 addi a5,a5,1
+ 800021e4: fd06859b addiw a1,a3,-48
+ 800021e8: 00251713 slli a4,a0,0x2
+ 800021ec: 0007c683 lbu a3,0(a5)
+ 800021f0: 00a70533 add a0,a4,a0
+ 800021f4: 00151513 slli a0,a0,0x1
+ 800021f8: 00a58533 add a0,a1,a0
+ 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38>
+ 80002200: 00060463 beqz a2,80002208 <atol+0x60>
+ 80002204: 40a00533 neg a0,a0
+ 80002208: 00008067 ret
+ 8000220c: 00154683 lbu a3,1(a0)
+ 80002210: fd378793 addi a5,a5,-45
+ 80002214: 0017b613 seqz a2,a5
+ 80002218: 00150793 addi a5,a0,1
+ 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34>
+ 80002220: 00000513 li a0,0
+ 80002224: fddff06f j 80002200 <atol+0x58>
+ 80002228: 00000513 li a0,0
+ 8000222c: 00008067 ret
+
+0000000080002230 <terminate>:
+ 80002230: fffff797 auipc a5,0xfffff
+ 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost>
+ 80002238: 0007b703 ld a4,0(a5)
+ 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20>
+ 80002240: fffff717 auipc a4,0xfffff
+ 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost>
+ 80002248: 0007b703 ld a4,0(a5)
+ 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10>
+ 80002250: fffff797 auipc a5,0xfffff
+ 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost>
+ 80002258: 0000006f j 80002258 <terminate+0x28>
+
+000000008000225c <wtf>:
+ 8000225c: ff010113 addi sp,sp,-16
+ 80002260: 34900513 li a0,841
+ 80002264: 00113423 sd ra,8(sp)
+ 80002268: fc9ff0ef jal ra,80002230 <terminate>
+
+000000008000226c <printhex>:
+ 8000226c: fe010113 addi sp,sp,-32
+ 80002270: 01710713 addi a4,sp,23
+ 80002274: 00710813 addi a6,sp,7
+ 80002278: 00900593 li a1,9
+ 8000227c: 00f57793 andi a5,a0,15
+ 80002280: 03000613 li a2,48
+ 80002284: 0ff7f693 andi a3,a5,255
+ 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24>
+ 8000228c: 05700613 li a2,87
+ 80002290: 00c687bb addw a5,a3,a2
+ 80002294: 00f70023 sb a5,0(a4)
+ 80002298: fff70713 addi a4,a4,-1
+ 8000229c: 00455513 srli a0,a0,0x4
+ 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10>
+ 800022a4: 00814783 lbu a5,8(sp)
+ 800022a8: 00010c23 sb zero,24(sp)
+ 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88>
+ 800022b0: 10100513 li a0,257
+ 800022b4: 00810693 addi a3,sp,8
+ 800022b8: fffff717 auipc a4,0xfffff
+ 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost>
+ 800022c0: 03051513 slli a0,a0,0x30
+ 800022c4: 00073583 ld a1,0(a4)
+ 800022c8: 00168693 addi a3,a3,1
+ 800022cc: 00a7e633 or a2,a5,a0
+ 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78>
+ 800022d4: fffff797 auipc a5,0xfffff
+ 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost>
+ 800022dc: 00073783 ld a5,0(a4)
+ 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68>
+ 800022e4: 0006c783 lbu a5,0(a3)
+ 800022e8: fffff597 auipc a1,0xfffff
+ 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost>
+ 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58>
+ 800022f4: 02010113 addi sp,sp,32
+ 800022f8: 00008067 ret
+
+00000000800022fc <handle_fault>:
+ 800022fc: fffff8b7 lui a7,0xfffff
+ 80002300: 01150733 add a4,a0,a7
+ 80002304: 0003e7b7 lui a5,0x3e
+ 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154>
+ 8000230c: 00c55693 srli a3,a0,0xc
+ 80002310: 60068813 addi a6,a3,1536
+ 80002314: 00001617 auipc a2,0x1
+ 80002318: cec60613 addi a2,a2,-788 # 80003000 <begin_signature>
+ 8000231c: 00381793 slli a5,a6,0x3
+ 80002320: 00f607b3 add a5,a2,a5
+ 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000>
+ 80002328: 01157533 and a0,a0,a7
+ 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110>
+ 80002330: 00005797 auipc a5,0x5
+ 80002334: 4b878793 addi a5,a5,1208 # 800077e8 <freelist_head>
+ 80002338: 0007b583 ld a1,0(a5)
+ 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0>
+ 80002340: 0085b783 ld a5,8(a1)
+ 80002344: 00005717 auipc a4,0x5
+ 80002348: 49c70713 addi a4,a4,1180 # 800077e0 <freelist_tail>
+ 8000234c: 00073703 ld a4,0(a4)
+ 80002350: 00005897 auipc a7,0x5
+ 80002354: 48f8bc23 sd a5,1176(a7) # 800077e8 <freelist_head>
+ 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148>
+ 8000235c: 0005b783 ld a5,0(a1)
+ 80002360: 00381893 slli a7,a6,0x3
+ 80002364: 011608b3 add a7,a2,a7
+ 80002368: 00c7d793 srli a5,a5,0xc
+ 8000236c: 00a79793 slli a5,a5,0xa
+ 80002370: 0df7e313 ori t1,a5,223
+ 80002374: 01f7e713 ori a4,a5,31
+ 80002378: 0068b023 sd t1,0(a7)
+ 8000237c: 12050073 sfence.vma a0
+ 80002380: 00005797 auipc a5,0x5
+ 80002384: 07078793 addi a5,a5,112 # 800073f0 <user_mapping>
+ 80002388: 00469693 slli a3,a3,0x4
+ 8000238c: 00d786b3 add a3,a5,a3
+ 80002390: 0006b783 ld a5,0(a3)
+ 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200>
+ 80002398: 0005b783 ld a5,0(a1)
+ 8000239c: 00f6b023 sd a5,0(a3)
+ 800023a0: 0085b783 ld a5,8(a1)
+ 800023a4: 00f6b423 sd a5,8(a3)
+ 800023a8: 000407b7 lui a5,0x40
+ 800023ac: 1007a8f3 csrrs a7,sstatus,a5
+ 800023b0: ffe007b7 lui a5,0xffe00
+ 800023b4: 00f507b3 add a5,a0,a5
+ 800023b8: 000015b7 lui a1,0x1
+ 800023bc: 00050693 mv a3,a0
+ 800023c0: 00b785b3 add a1,a5,a1
+ 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf8810>
+ 800023c8: 0087be83 ld t4,8(a5)
+ 800023cc: 0107be03 ld t3,16(a5)
+ 800023d0: 0187b303 ld t1,24(a5)
+ 800023d4: 01e6b023 sd t5,0(a3)
+ 800023d8: 01d6b423 sd t4,8(a3)
+ 800023dc: 01c6b823 sd t3,16(a3)
+ 800023e0: 0066bc23 sd t1,24(a3)
+ 800023e4: 02078793 addi a5,a5,32
+ 800023e8: 02068693 addi a3,a3,32
+ 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8>
+ 800023f0: 10089073 csrw sstatus,a7
+ 800023f4: 00381813 slli a6,a6,0x3
+ 800023f8: 01060633 add a2,a2,a6
+ 800023fc: 00e63023 sd a4,0(a2)
+ 80002400: 12050073 sfence.vma a0
+ 80002404: 0000100f fence.i
+ 80002408: 00008067 ret
+ 8000240c: 04077693 andi a3,a4,64
+ 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128>
+ 80002414: 04076713 ori a4,a4,64
+ 80002418: 00e7b023 sd a4,0(a5)
+ 8000241c: 12050073 sfence.vma a0
+ 80002420: 00008067 ret
+ 80002424: 08077693 andi a3,a4,128
+ 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250>
+ 8000242c: 00f00693 li a3,15
+ 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250>
+ 80002434: 08076713 ori a4,a4,128
+ 80002438: 00e7b023 sd a4,0(a5)
+ 8000243c: 12050073 sfence.vma a0
+ 80002440: 00008067 ret
+ 80002444: 00005797 auipc a5,0x5
+ 80002448: 3807be23 sd zero,924(a5) # 800077e0 <freelist_tail>
+ 8000244c: f11ff06f j 8000235c <handle_fault+0x60>
+ 80002450: 10100613 li a2,257
+ 80002454: 04100713 li a4,65
+ 80002458: 00000697 auipc a3,0x0
+ 8000245c: 7a068693 addi a3,a3,1952 # 80002bf8 <pass+0xc>
+ 80002460: fffff797 auipc a5,0xfffff
+ 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost>
+ 80002468: 03061613 slli a2,a2,0x30
+ 8000246c: 0007b503 ld a0,0(a5)
+ 80002470: 00168693 addi a3,a3,1
+ 80002474: 00c765b3 or a1,a4,a2
+ 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190>
+ 8000247c: fffff717 auipc a4,0xfffff
+ 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost>
+ 80002484: 0007b703 ld a4,0(a5)
+ 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180>
+ 8000248c: 0006c703 lbu a4,0(a3)
+ 80002490: fffff517 auipc a0,0xfffff
+ 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost>
+ 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170>
+ 8000249c: ff010113 addi sp,sp,-16
+ 800024a0: 00300513 li a0,3
+ 800024a4: 00113423 sd ra,8(sp)
+ 800024a8: d89ff0ef jal ra,80002230 <terminate>
+ 800024ac: 10100693 li a3,257
+ 800024b0: 04100713 li a4,65
+ 800024b4: 00000617 auipc a2,0x0
+ 800024b8: 7d460613 addi a2,a2,2004 # 80002c88 <pass+0x9c>
+ 800024bc: fffff797 auipc a5,0xfffff
+ 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost>
+ 800024c4: 03069693 slli a3,a3,0x30
+ 800024c8: 0007b503 ld a0,0(a5)
+ 800024cc: 00160613 addi a2,a2,1
+ 800024d0: 00d765b3 or a1,a4,a3
+ 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec>
+ 800024d8: fffff717 auipc a4,0xfffff
+ 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost>
+ 800024e0: 0007b703 ld a4,0(a5)
+ 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc>
+ 800024e8: 00064703 lbu a4,0(a2)
+ 800024ec: fffff517 auipc a0,0xfffff
+ 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost>
+ 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc>
+ 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0>
+ 800024fc: 10100693 li a3,257
+ 80002500: 04100713 li a4,65
+ 80002504: 00000617 auipc a2,0x0
+ 80002508: 79c60613 addi a2,a2,1948 # 80002ca0 <pass+0xb4>
+ 8000250c: fffff797 auipc a5,0xfffff
+ 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost>
+ 80002514: 03069693 slli a3,a3,0x30
+ 80002518: 0007b503 ld a0,0(a5)
+ 8000251c: 00160613 addi a2,a2,1
+ 80002520: 00d765b3 or a1,a4,a3
+ 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c>
+ 80002528: fffff717 auipc a4,0xfffff
+ 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost>
+ 80002530: 0007b703 ld a4,0(a5)
+ 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c>
+ 80002538: 00064703 lbu a4,0(a2)
+ 8000253c: fffff517 auipc a0,0xfffff
+ 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost>
+ 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c>
+ 80002548: f55ff06f j 8000249c <handle_fault+0x1a0>
+ 8000254c: 10100613 li a2,257
+ 80002550: 04100713 li a4,65
+ 80002554: 00000697 auipc a3,0x0
+ 80002558: 6ec68693 addi a3,a3,1772 # 80002c40 <pass+0x54>
+ 8000255c: fffff797 auipc a5,0xfffff
+ 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost>
+ 80002564: 03061613 slli a2,a2,0x30
+ 80002568: 0007b503 ld a0,0(a5)
+ 8000256c: 00168693 addi a3,a3,1
+ 80002570: 00c765b3 or a1,a4,a2
+ 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c>
+ 80002578: fffff717 auipc a4,0xfffff
+ 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost>
+ 80002580: 0007b703 ld a4,0(a5)
+ 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c>
+ 80002588: 0006c703 lbu a4,0(a3)
+ 8000258c: fffff517 auipc a0,0xfffff
+ 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost>
+ 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c>
+ 80002598: f05ff06f j 8000249c <handle_fault+0x1a0>
+
+000000008000259c <handle_trap>:
+ 8000259c: 11853583 ld a1,280(a0)
+ 800025a0: f9010113 addi sp,sp,-112
+ 800025a4: 06813023 sd s0,96(sp)
+ 800025a8: 06113423 sd ra,104(sp)
+ 800025ac: 04913c23 sd s1,88(sp)
+ 800025b0: 05213823 sd s2,80(sp)
+ 800025b4: 05313423 sd s3,72(sp)
+ 800025b8: 05413023 sd s4,64(sp)
+ 800025bc: 03513c23 sd s5,56(sp)
+ 800025c0: 03613823 sd s6,48(sp)
+ 800025c4: 03713423 sd s7,40(sp)
+ 800025c8: 03813023 sd s8,32(sp)
+ 800025cc: 01913c23 sd s9,24(sp)
+ 800025d0: 01a13823 sd s10,16(sp)
+ 800025d4: 01b13423 sd s11,8(sp)
+ 800025d8: 00800793 li a5,8
+ 800025dc: 00050413 mv s0,a0
+ 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178>
+ 800025e4: 00200793 li a5,2
+ 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac>
+ 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c>
+ 800025f0: 00100713 li a4,1
+ 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64>
+ 800025f8: 00f00793 li a5,15
+ 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248>
+ 80002600: 11043503 ld a0,272(s0)
+ 80002604: cf9ff0ef jal ra,800022fc <handle_fault>
+ 80002608: 00040513 mv a0,s0
+ 8000260c: 06013403 ld s0,96(sp)
+ 80002610: 06813083 ld ra,104(sp)
+ 80002614: 05813483 ld s1,88(sp)
+ 80002618: 05013903 ld s2,80(sp)
+ 8000261c: 04813983 ld s3,72(sp)
+ 80002620: 04013a03 ld s4,64(sp)
+ 80002624: 03813a83 ld s5,56(sp)
+ 80002628: 03013b03 ld s6,48(sp)
+ 8000262c: 02813b83 ld s7,40(sp)
+ 80002630: 02013c03 ld s8,32(sp)
+ 80002634: 01813c83 ld s9,24(sp)
+ 80002638: 01013d03 ld s10,16(sp)
+ 8000263c: 00813d83 ld s11,8(sp)
+ 80002640: 07010113 addi sp,sp,112
+ 80002644: 9f9fd06f j 8000003c <pop_tf>
+ 80002648: 10853703 ld a4,264(a0)
+ 8000264c: 00377793 andi a5,a4,3
+ 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128>
+ 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0>
+ 80002658: 00301073 fssr zero
+ 8000265c: 00072703 lw a4,0(a4)
+ 80002660: 0007a783 lw a5,0(a5)
+ 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120>
+ 80002668: 10100513 li a0,257
+ 8000266c: 04100793 li a5,65
+ 80002670: 00000697 auipc a3,0x0
+ 80002674: 70868693 addi a3,a3,1800 # 80002d78 <pass+0x18c>
+ 80002678: fffff717 auipc a4,0xfffff
+ 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost>
+ 80002680: 03051513 slli a0,a0,0x30
+ 80002684: 00073583 ld a1,0(a4)
+ 80002688: 00168693 addi a3,a3,1
+ 8000268c: 00a7e633 or a2,a5,a0
+ 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108>
+ 80002694: fffff797 auipc a5,0xfffff
+ 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost>
+ 8000269c: 00073783 ld a5,0(a4)
+ 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8>
+ 800026a4: 0006c783 lbu a5,0(a3)
+ 800026a8: fffff597 auipc a1,0xfffff
+ 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost>
+ 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8>
+ 800026b4: 00300513 li a0,3
+ 800026b8: b79ff0ef jal ra,80002230 <terminate>
+ 800026bc: 00100513 li a0,1
+ 800026c0: b71ff0ef jal ra,80002230 <terminate>
+ 800026c4: 10100793 li a5,257
+ 800026c8: 00000617 auipc a2,0x0
+ 800026cc: 68860613 addi a2,a2,1672 # 80002d50 <pass+0x164>
+ 800026d0: 04100693 li a3,65
+ 800026d4: fffff717 auipc a4,0xfffff
+ 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost>
+ 800026dc: 03079793 slli a5,a5,0x30
+ 800026e0: 00073503 ld a0,0(a4)
+ 800026e4: 00160613 addi a2,a2,1
+ 800026e8: 00f6e5b3 or a1,a3,a5
+ 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164>
+ 800026f0: fffff697 auipc a3,0xfffff
+ 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost>
+ 800026f8: 00073683 ld a3,0(a4)
+ 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154>
+ 80002700: 00064683 lbu a3,0(a2)
+ 80002704: fffff517 auipc a0,0xfffff
+ 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost>
+ 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144>
+ 80002710: fa5ff06f j 800026b4 <handle_trap+0x118>
+ 80002714: 05052983 lw s3,80(a0)
+ 80002718: 00001437 lui s0,0x1
+ 8000271c: 00005d17 auipc s10,0x5
+ 80002720: cd4d0d13 addi s10,s10,-812 # 800073f0 <user_mapping>
+ 80002724: 00001b97 auipc s7,0x1
+ 80002728: 8dcb8b93 addi s7,s7,-1828 # 80003000 <begin_signature>
+ 8000272c: 00040b37 lui s6,0x40
+ 80002730: ffe00ab7 lui s5,0xffe00
+ 80002734: 00005a17 auipc s4,0x5
+ 80002738: 0aca0a13 addi s4,s4,172 # 800077e0 <freelist_tail>
+ 8000273c: 0003f937 lui s2,0x3f
+ 80002740: 01c0006f j 8000275c <handle_trap+0x1c0>
+ 80002744: 00f73423 sd a5,8(a4)
+ 80002748: 00005717 auipc a4,0x5
+ 8000274c: 08f73c23 sd a5,152(a4) # 800077e0 <freelist_tail>
+ 80002750: 000017b7 lui a5,0x1
+ 80002754: 00f40433 add s0,s0,a5
+ 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308>
+ 8000275c: 00c45793 srli a5,s0,0xc
+ 80002760: 00479493 slli s1,a5,0x4
+ 80002764: 009d0733 add a4,s10,s1
+ 80002768: 00073703 ld a4,0(a4)
+ 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4>
+ 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00>
+ 80002774: 00379793 slli a5,a5,0x3
+ 80002778: 00fb87b3 add a5,s7,a5
+ 8000277c: 0007bc03 ld s8,0(a5)
+ 80002780: 040c7793 andi a5,s8,64
+ 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0>
+ 80002788: 100b2cf3 csrrs s9,sstatus,s6
+ 8000278c: 01540db3 add s11,s0,s5
+ 80002790: 00001637 lui a2,0x1
+ 80002794: 000d8593 mv a1,s11
+ 80002798: 00040513 mv a0,s0
+ 8000279c: 975ff0ef jal ra,80002110 <memcmp>
+ 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220>
+ 800027a4: 080c7c13 andi s8,s8,128
+ 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298>
+ 800027ac: 00001637 lui a2,0x1
+ 800027b0: 000d8593 mv a1,s11
+ 800027b4: 00040513 mv a0,s0
+ 800027b8: 849ff0ef jal ra,80002000 <memcpy>
+ 800027bc: 009d07b3 add a5,s10,s1
+ 800027c0: 100c9073 csrw sstatus,s9
+ 800027c4: 000a3703 ld a4,0(s4)
+ 800027c8: 0007b023 sd zero,0(a5)
+ 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8>
+ 800027d0: 00005717 auipc a4,0x5
+ 800027d4: 00f73823 sd a5,16(a4) # 800077e0 <freelist_tail>
+ 800027d8: 00005717 auipc a4,0x5
+ 800027dc: 00f73823 sd a5,16(a4) # 800077e8 <freelist_head>
+ 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4>
+ 800027e4: 10100793 li a5,257
+ 800027e8: 04100613 li a2,65
+ 800027ec: 00000697 auipc a3,0x0
+ 800027f0: 5bc68693 addi a3,a3,1468 # 80002da8 <pass+0x1bc>
+ 800027f4: fffff717 auipc a4,0xfffff
+ 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost>
+ 800027fc: 03079793 slli a5,a5,0x30
+ 80002800: 00073503 ld a0,0(a4)
+ 80002804: 00168693 addi a3,a3,1
+ 80002808: 00f665b3 or a1,a2,a5
+ 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284>
+ 80002810: fffff617 auipc a2,0xfffff
+ 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost>
+ 80002818: 00073603 ld a2,0(a4)
+ 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274>
+ 80002820: 0006c603 lbu a2,0(a3)
+ 80002824: ffffe517 auipc a0,0xffffe
+ 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost>
+ 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264>
+ 80002830: e85ff06f j 800026b4 <handle_trap+0x118>
+ 80002834: 10100793 li a5,257
+ 80002838: 04100613 li a2,65
+ 8000283c: 00000697 auipc a3,0x0
+ 80002840: 4dc68693 addi a3,a3,1244 # 80002d18 <pass+0x12c>
+ 80002844: ffffe717 auipc a4,0xffffe
+ 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost>
+ 8000284c: 03079793 slli a5,a5,0x30
+ 80002850: 00168693 addi a3,a3,1
+ 80002854: 00f665b3 or a1,a2,a5
+ 80002858: 00073603 ld a2,0(a4)
+ 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310>
+ 80002860: ffffe617 auipc a2,0xffffe
+ 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost>
+ 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc>
+ 8000286c: 10100793 li a5,257
+ 80002870: 04100613 li a2,65
+ 80002874: 00000697 auipc a3,0x0
+ 80002878: 46c68693 addi a3,a3,1132 # 80002ce0 <pass+0xf4>
+ 8000287c: ffffe717 auipc a4,0xffffe
+ 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost>
+ 80002884: 03079793 slli a5,a5,0x30
+ 80002888: 00168693 addi a3,a3,1
+ 8000288c: 00f665b3 or a1,a2,a5
+ 80002890: 00073603 ld a2,0(a4)
+ 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324>
+ 80002898: ffffe617 auipc a2,0xffffe
+ 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost>
+ 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4>
+ 800028a4: 00098513 mv a0,s3
+ 800028a8: 989ff0ef jal ra,80002230 <terminate>
+ 800028ac: 0006c603 lbu a2,0(a3)
+ 800028b0: ffffe517 auipc a0,0xffffe
+ 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost>
+ 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4>
+ 800028bc: df9ff06f j 800026b4 <handle_trap+0x118>
+ 800028c0: 0006c603 lbu a2,0(a3)
+ 800028c4: ffffe517 auipc a0,0xffffe
+ 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost>
+ 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec>
+ 800028d0: de5ff06f j 800026b4 <handle_trap+0x118>
+
+00000000800028d4 <vm_boot>:
+ 800028d4: f14027f3 csrr a5,mhartid
+ 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198>
+ 800028dc: 00001697 auipc a3,0x1
+ 800028e0: 72468693 addi a3,a3,1828 # 80004000 <begin_signature+0x1000>
+ 800028e4: 00002717 auipc a4,0x2
+ 800028e8: 71c70713 addi a4,a4,1820 # 80005000 <begin_signature+0x2000>
+ 800028ec: 00c6d693 srli a3,a3,0xc
+ 800028f0: 00c75713 srli a4,a4,0xc
+ 800028f4: 00003797 auipc a5,0x3
+ 800028f8: 70c78793 addi a5,a5,1804 # 80006000 <begin_signature+0x3000>
+ 800028fc: 00a69693 slli a3,a3,0xa
+ 80002900: 00a71713 slli a4,a4,0xa
+ 80002904: 0016e693 ori a3,a3,1
+ 80002908: 00176713 ori a4,a4,1
+ 8000290c: 00c7d793 srli a5,a5,0xc
+ 80002910: 00000897 auipc a7,0x0
+ 80002914: 6ed8b823 sd a3,1776(a7) # 80003000 <begin_signature>
+ 80002918: 00a79793 slli a5,a5,0xa
+ 8000291c: 00001697 auipc a3,0x1
+ 80002920: 6ce6be23 sd a4,1756(a3) # 80003ff8 <begin_signature+0xff8>
+ 80002924: 20000737 lui a4,0x20000
+ 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31>
+ 8000292c: fff00593 li a1,-1
+ 80002930: 0017e793 ori a5,a5,1
+ 80002934: 00000617 auipc a2,0x0
+ 80002938: 6cc60613 addi a2,a2,1740 # 80003000 <begin_signature>
+ 8000293c: ed010113 addi sp,sp,-304
+ 80002940: 03f59813 slli a6,a1,0x3f
+ 80002944: 00003697 auipc a3,0x3
+ 80002948: 6ae6ba23 sd a4,1716(a3) # 80005ff8 <begin_signature+0x2ff8>
+ 8000294c: 00001717 auipc a4,0x1
+ 80002950: 6af73a23 sd a5,1716(a4) # 80004000 <begin_signature+0x1000>
+ 80002954: 00c65793 srli a5,a2,0xc
+ 80002958: 12113423 sd ra,296(sp)
+ 8000295c: 12813023 sd s0,288(sp)
+ 80002960: 0107e7b3 or a5,a5,a6
+ 80002964: 18079073 csrw satp,a5
+ 80002968: 01f00793 li a5,31
+ 8000296c: 00000297 auipc t0,0x0
+ 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac>
+ 80002974: 305292f3 csrrw t0,mtvec,t0
+ 80002978: 3b059073 csrw pmpaddr0,a1
+ 8000297c: 3a079073 csrw pmpcfg0,a5
+ 80002980: bff00813 li a6,-1025
+ 80002984: 01581813 slli a6,a6,0x15
+ 80002988: ffffd797 auipc a5,0xffffd
+ 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry>
+ 80002990: 010787b3 add a5,a5,a6
+ 80002994: 10579073 csrw stvec,a5
+ 80002998: 340027f3 csrr a5,mscratch
+ 8000299c: 010787b3 add a5,a5,a6
+ 800029a0: 14079073 csrw sscratch,a5
+ 800029a4: 0000b7b7 lui a5,0xb
+ 800029a8: 1007879b addiw a5,a5,256
+ 800029ac: 30279073 csrw medeleg,a5
+ 800029b0: 0001e7b7 lui a5,0x1e
+ 800029b4: 30079073 csrw mstatus,a5
+ 800029b8: 30405073 csrwi mie,0
+ 800029bc: 00004697 auipc a3,0x4
+ 800029c0: 64468693 addi a3,a3,1604 # 80007000 <freelist_nodes>
+ 800029c4: 010687b3 add a5,a3,a6
+ 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20>
+ 800029cc: 00005617 auipc a2,0x5
+ 800029d0: e0f63e23 sd a5,-484(a2) # 800077e8 <freelist_head>
+ 800029d4: 00005797 auipc a5,0x5
+ 800029d8: e0e7b623 sd a4,-500(a5) # 800077e0 <freelist_tail>
+ 800029dc: 00005317 auipc t1,0x5
+ 800029e0: a1430313 addi t1,t1,-1516 # 800073f0 <user_mapping>
+ 800029e4: 02b00793 li a5,43
+ 800029e8: 000808b7 lui a7,0x80
+ 800029ec: 01080813 addi a6,a6,16
+ 800029f0: 03f7871b addiw a4,a5,63
+ 800029f4: 02071713 slli a4,a4,0x20
+ 800029f8: 0017d61b srliw a2,a5,0x1
+ 800029fc: 02075713 srli a4,a4,0x20
+ 80002a00: 00c7c7b3 xor a5,a5,a2
+ 80002a04: 01170733 add a4,a4,a7
+ 80002a08: 010685b3 add a1,a3,a6
+ 80002a0c: 00c71713 slli a4,a4,0xc
+ 80002a10: 0057979b slliw a5,a5,0x5
+ 80002a14: 00e6b023 sd a4,0(a3)
+ 80002a18: 00b6b423 sd a1,8(a3)
+ 80002a1c: 0207f793 andi a5,a5,32
+ 80002a20: 01068693 addi a3,a3,16
+ 80002a24: 00c7e7b3 or a5,a5,a2
+ 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c>
+ 80002a2c: 00050413 mv s0,a0
+ 80002a30: 12000613 li a2,288
+ 80002a34: 00000593 li a1,0
+ 80002a38: 00010513 mv a0,sp
+ 80002a3c: 00005797 auipc a5,0x5
+ 80002a40: 9a07b623 sd zero,-1620(a5) # 800073e8 <freelist_nodes+0x3e8>
+ 80002a44: e18ff0ef jal ra,8000205c <memset>
+ 80002a48: 800007b7 lui a5,0x80000
+ 80002a4c: 00f40433 add s0,s0,a5
+ 80002a50: 00010513 mv a0,sp
+ 80002a54: 10813423 sd s0,264(sp)
+ 80002a58: de4fd0ef jal ra,8000003c <pop_tf>
+ 80002a5c: 12813083 ld ra,296(sp)
+ 80002a60: 12013403 ld s0,288(sp)
+ 80002a64: 13010113 addi sp,sp,304
+ 80002a68: 00008067 ret
+ 80002a6c: 032207b7 lui a5,0x3220
+ 80002a70: 000805b7 lui a1,0x80
+ 80002a74: 33278793 addi a5,a5,818 # 3220332 <_start-0x7cddfcce>
+ 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004>
+ 80002a7c: 00100613 li a2,1
+ 80002a80: 00b7f733 and a4,a5,a1
+ 80002a84: 01f61613 slli a2,a2,0x1f
+ 80002a88: 0017f693 andi a3,a5,1
+ 80002a8c: 02079793 slli a5,a5,0x20
+ 80002a90: 0207d793 srli a5,a5,0x20
+ 80002a94: 00c70733 add a4,a4,a2
+ 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8>
+ 80002a9c: 0007202f amoadd.w zero,zero,(a4)
+ 80002aa0: 0017d793 srli a5,a5,0x1
+ 80002aa4: 00b7f733 and a4,a5,a1
+ 80002aa8: 0017f693 andi a3,a5,1
+ 80002aac: 02079793 slli a5,a5,0x20
+ 80002ab0: 0207d793 srli a5,a5,0x20
+ 80002ab4: 00c70733 add a4,a4,a2
+ 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8>
+ 80002abc: 00072003 lw zero,0(a4)
+ 80002ac0: 0017d793 srli a5,a5,0x1
+ 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0>
+
+0000000080002ac8 <userstart>:
+ 80002ac8: 00301073 fssr zero
+
+0000000080002acc <test_2>:
+ 80002acc: 1ff0051b addiw a0,zero,511
+ 80002ad0: 01751513 slli a0,a0,0x17
+ 80002ad4: f0050553 fmv.w.x fa0,a0
+ 80002ad8: e0051553 fclass.s a0,fa0
+ 80002adc: 00100e93 li t4,1
+ 80002ae0: 00200193 li gp,2
+ 80002ae4: 0fd51c63 bne a0,t4,80002bdc <fail>
+
+0000000080002ae8 <test_3>:
+ 80002ae8: 17f0051b addiw a0,zero,383
+ 80002aec: 01751513 slli a0,a0,0x17
+ 80002af0: f0050553 fmv.w.x fa0,a0
+ 80002af4: e0051553 fclass.s a0,fa0
+ 80002af8: 00200e93 li t4,2
+ 80002afc: 00300193 li gp,3
+ 80002b00: 0dd51e63 bne a0,t4,80002bdc <fail>
+
+0000000080002b04 <test_4>:
+ 80002b04: 1010051b addiw a0,zero,257
+ 80002b08: 01751513 slli a0,a0,0x17
+ 80002b0c: fff50513 addi a0,a0,-1
+ 80002b10: f0050553 fmv.w.x fa0,a0
+ 80002b14: e0051553 fclass.s a0,fa0
+ 80002b18: 00400e93 li t4,4
+ 80002b1c: 00400193 li gp,4
+ 80002b20: 0bd51e63 bne a0,t4,80002bdc <fail>
+
+0000000080002b24 <test_5>:
+ 80002b24: 0010051b addiw a0,zero,1
+ 80002b28: 01f51513 slli a0,a0,0x1f
+ 80002b2c: f0050553 fmv.w.x fa0,a0
+ 80002b30: e0051553 fclass.s a0,fa0
+ 80002b34: 00800e93 li t4,8
+ 80002b38: 00500193 li gp,5
+ 80002b3c: 0bd51063 bne a0,t4,80002bdc <fail>
+
+0000000080002b40 <test_6>:
+ 80002b40: 00000513 li a0,0
+ 80002b44: f0050553 fmv.w.x fa0,a0
+ 80002b48: e0051553 fclass.s a0,fa0
+ 80002b4c: 01000e93 li t4,16
+ 80002b50: 00600193 li gp,6
+ 80002b54: 09d51463 bne a0,t4,80002bdc <fail>
+
+0000000080002b58 <test_7>:
+ 80002b58: 00800537 lui a0,0x800
+ 80002b5c: fff5051b addiw a0,a0,-1
+ 80002b60: f0050553 fmv.w.x fa0,a0
+ 80002b64: e0051553 fclass.s a0,fa0
+ 80002b68: 02000e93 li t4,32
+ 80002b6c: 00700193 li gp,7
+ 80002b70: 07d51663 bne a0,t4,80002bdc <fail>
+
+0000000080002b74 <test_8>:
+ 80002b74: 3f800537 lui a0,0x3f800
+ 80002b78: f0050553 fmv.w.x fa0,a0
+ 80002b7c: e0051553 fclass.s a0,fa0
+ 80002b80: 04000e93 li t4,64
+ 80002b84: 00800193 li gp,8
+ 80002b88: 05d51a63 bne a0,t4,80002bdc <fail>
+
+0000000080002b8c <test_9>:
+ 80002b8c: 7f800537 lui a0,0x7f800
+ 80002b90: f0050553 fmv.w.x fa0,a0
+ 80002b94: e0051553 fclass.s a0,fa0
+ 80002b98: 08000e93 li t4,128
+ 80002b9c: 00900193 li gp,9
+ 80002ba0: 03d51e63 bne a0,t4,80002bdc <fail>
+
+0000000080002ba4 <test_10>:
+ 80002ba4: 7f800537 lui a0,0x7f800
+ 80002ba8: 0015051b addiw a0,a0,1
+ 80002bac: f0050553 fmv.w.x fa0,a0
+ 80002bb0: e0051553 fclass.s a0,fa0
+ 80002bb4: 10000e93 li t4,256
+ 80002bb8: 00a00193 li gp,10
+ 80002bbc: 03d51063 bne a0,t4,80002bdc <fail>
+
+0000000080002bc0 <test_11>:
+ 80002bc0: 7fc00537 lui a0,0x7fc00
+ 80002bc4: f0050553 fmv.w.x fa0,a0
+ 80002bc8: e0051553 fclass.s a0,fa0
+ 80002bcc: 20000e93 li t4,512
+ 80002bd0: 00b00193 li gp,11
+ 80002bd4: 01d51463 bne a0,t4,80002bdc <fail>
+ 80002bd8: 00301a63 bne zero,gp,80002bec <pass>
+
+0000000080002bdc <fail>:
+ 80002bdc: 00119513 slli a0,gp,0x1
+ 80002be0: 00050063 beqz a0,80002be0 <fail+0x4>
+ 80002be4: 00156513 ori a0,a0,1
+ 80002be8: 00000073 ecall
+
+0000000080002bec <pass>:
+ 80002bec: 00100513 li a0,1
+ 80002bf0: 00000073 ecall
+ 80002bf4: c0001073 unimp
diff --git a/test/riscv-tests/rv64uf-v-fclass.elf b/test/riscv-tests/rv64uf-v-fclass.elf
new file mode 100644
index 0000000..dca789e
--- /dev/null
+++ b/test/riscv-tests/rv64uf-v-fclass.elf
Binary files differ
diff --git a/test/riscv-tests/rv64uf-v-fcmp.dump b/test/riscv-tests/rv64uf-v-fcmp.dump
new file mode 100644
index 0000000..2cce5a1
--- /dev/null
+++ b/test/riscv-tests/rv64uf-v-fcmp.dump
@@ -0,0 +1,1195 @@
+
+rv64uf-v-fcmp: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 00c0006f j 8000000c <handle_reset>
+
+0000000080000004 <nmi_vector>:
+ 80000004: 2580206f j 8000225c <wtf>
+
+0000000080000008 <trap_vector>:
+ 80000008: 2540206f j 8000225c <wtf>
+
+000000008000000c <handle_reset>:
+ 8000000c: 00000297 auipc t0,0x0
+ 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+ 80000014: 30529073 csrw mtvec,t0
+ 80000018: 00009117 auipc sp,0x9
+ 8000001c: 6b810113 addi sp,sp,1720 # 800096d0 <_end+0xee0>
+ 80000020: f14022f3 csrr t0,mhartid
+ 80000024: 00c29293 slli t0,t0,0xc
+ 80000028: 00510133 add sp,sp,t0
+ 8000002c: 34011073 csrw mscratch,sp
+ 80000030: 00003517 auipc a0,0x3
+ 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart>
+ 80000038: 09d0206f j 800028d4 <vm_boot>
+
+000000008000003c <pop_tf>:
+ 8000003c: 10853283 ld t0,264(a0)
+ 80000040: 14129073 csrw sepc,t0
+ 80000044: 00853083 ld ra,8(a0)
+ 80000048: 01053103 ld sp,16(a0)
+ 8000004c: 01853183 ld gp,24(a0)
+ 80000050: 02053203 ld tp,32(a0)
+ 80000054: 02853283 ld t0,40(a0)
+ 80000058: 03053303 ld t1,48(a0)
+ 8000005c: 03853383 ld t2,56(a0)
+ 80000060: 04053403 ld s0,64(a0)
+ 80000064: 04853483 ld s1,72(a0)
+ 80000068: 05853583 ld a1,88(a0)
+ 8000006c: 06053603 ld a2,96(a0)
+ 80000070: 06853683 ld a3,104(a0)
+ 80000074: 07053703 ld a4,112(a0)
+ 80000078: 07853783 ld a5,120(a0)
+ 8000007c: 08053803 ld a6,128(a0)
+ 80000080: 08853883 ld a7,136(a0)
+ 80000084: 09053903 ld s2,144(a0)
+ 80000088: 09853983 ld s3,152(a0)
+ 8000008c: 0a053a03 ld s4,160(a0)
+ 80000090: 0a853a83 ld s5,168(a0)
+ 80000094: 0b053b03 ld s6,176(a0)
+ 80000098: 0b853b83 ld s7,184(a0)
+ 8000009c: 0c053c03 ld s8,192(a0)
+ 800000a0: 0c853c83 ld s9,200(a0)
+ 800000a4: 0d053d03 ld s10,208(a0)
+ 800000a8: 0d853d83 ld s11,216(a0)
+ 800000ac: 0e053e03 ld t3,224(a0)
+ 800000b0: 0e853e83 ld t4,232(a0)
+ 800000b4: 0f053f03 ld t5,240(a0)
+ 800000b8: 0f853f83 ld t6,248(a0)
+ 800000bc: 05053503 ld a0,80(a0)
+ 800000c0: 10200073 sret
+
+00000000800000c4 <trap_entry>:
+ 800000c4: 14011173 csrrw sp,sscratch,sp
+ 800000c8: 00113423 sd ra,8(sp)
+ 800000cc: 00313c23 sd gp,24(sp)
+ 800000d0: 02413023 sd tp,32(sp)
+ 800000d4: 02513423 sd t0,40(sp)
+ 800000d8: 02613823 sd t1,48(sp)
+ 800000dc: 02713c23 sd t2,56(sp)
+ 800000e0: 04813023 sd s0,64(sp)
+ 800000e4: 04913423 sd s1,72(sp)
+ 800000e8: 04a13823 sd a0,80(sp)
+ 800000ec: 04b13c23 sd a1,88(sp)
+ 800000f0: 06c13023 sd a2,96(sp)
+ 800000f4: 06d13423 sd a3,104(sp)
+ 800000f8: 06e13823 sd a4,112(sp)
+ 800000fc: 06f13c23 sd a5,120(sp)
+ 80000100: 09013023 sd a6,128(sp)
+ 80000104: 09113423 sd a7,136(sp)
+ 80000108: 09213823 sd s2,144(sp)
+ 8000010c: 09313c23 sd s3,152(sp)
+ 80000110: 0b413023 sd s4,160(sp)
+ 80000114: 0b513423 sd s5,168(sp)
+ 80000118: 0b613823 sd s6,176(sp)
+ 8000011c: 0b713c23 sd s7,184(sp)
+ 80000120: 0d813023 sd s8,192(sp)
+ 80000124: 0d913423 sd s9,200(sp)
+ 80000128: 0da13823 sd s10,208(sp)
+ 8000012c: 0db13c23 sd s11,216(sp)
+ 80000130: 0fc13023 sd t3,224(sp)
+ 80000134: 0fd13423 sd t4,232(sp)
+ 80000138: 0fe13823 sd t5,240(sp)
+ 8000013c: 0ff13c23 sd t6,248(sp)
+ 80000140: 140112f3 csrrw t0,sscratch,sp
+ 80000144: 00513823 sd t0,16(sp)
+ 80000148: 100022f3 csrr t0,sstatus
+ 8000014c: 10513023 sd t0,256(sp)
+ 80000150: 141022f3 csrr t0,sepc
+ 80000154: 10513423 sd t0,264(sp)
+ 80000158: 143022f3 csrr t0,stval
+ 8000015c: 10513823 sd t0,272(sp)
+ 80000160: 142022f3 csrr t0,scause
+ 80000164: 10513c23 sd t0,280(sp)
+ 80000168: 00010513 mv a0,sp
+ 8000016c: 4300206f j 8000259c <handle_trap>
+
+Disassembly of section .text:
+
+0000000080002000 <memcpy>:
+ 80002000: 00c5e7b3 or a5,a1,a2
+ 80002004: 00f567b3 or a5,a0,a5
+ 80002008: 0077f793 andi a5,a5,7
+ 8000200c: 00c506b3 add a3,a0,a2
+ 80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+ 80002014: 00c58633 add a2,a1,a2
+ 80002018: 00050793 mv a5,a0
+ 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+ 80002020: 00158593 addi a1,a1,1
+ 80002024: fff5c703 lbu a4,-1(a1)
+ 80002028: 00178793 addi a5,a5,1
+ 8000202c: fee78fa3 sb a4,-1(a5)
+ 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+ 80002034: 00008067 ret
+ 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+ 8000203c: 00050793 mv a5,a0
+ 80002040: 00858593 addi a1,a1,8
+ 80002044: ff85b703 ld a4,-8(a1)
+ 80002048: 00878793 addi a5,a5,8
+ 8000204c: fee7bc23 sd a4,-8(a5)
+ 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+ 80002054: 00008067 ret
+ 80002058: 00008067 ret
+
+000000008000205c <memset>:
+ 8000205c: 00c567b3 or a5,a0,a2
+ 80002060: 0077f793 andi a5,a5,7
+ 80002064: 00c50633 add a2,a0,a2
+ 80002068: 0ff5f593 andi a1,a1,255
+ 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c>
+ 80002070: 00050793 mv a5,a0
+ 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c>
+ 80002078: 00178793 addi a5,a5,1
+ 8000207c: feb78fa3 sb a1,-1(a5)
+ 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+ 80002084: 00008067 ret
+ 80002088: 00859793 slli a5,a1,0x8
+ 8000208c: 00b7e5b3 or a1,a5,a1
+ 80002090: 01059793 slli a5,a1,0x10
+ 80002094: 00b7e7b3 or a5,a5,a1
+ 80002098: 02079593 slli a1,a5,0x20
+ 8000209c: 00f5e5b3 or a1,a1,a5
+ 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28>
+ 800020a4: 00050793 mv a5,a0
+ 800020a8: 00878793 addi a5,a5,8
+ 800020ac: feb7bc23 sd a1,-8(a5)
+ 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c>
+ 800020b4: 00008067 ret
+ 800020b8: 00008067 ret
+
+00000000800020bc <strlen>:
+ 800020bc: 00054783 lbu a5,0(a0)
+ 800020c0: 00050713 mv a4,a0
+ 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20>
+ 800020c8: 00150513 addi a0,a0,1
+ 800020cc: 00054783 lbu a5,0(a0)
+ 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc>
+ 800020d4: 40e50533 sub a0,a0,a4
+ 800020d8: 00008067 ret
+ 800020dc: 00000513 li a0,0
+ 800020e0: 00008067 ret
+
+00000000800020e4 <strcmp>:
+ 800020e4: 00150513 addi a0,a0,1
+ 800020e8: fff54783 lbu a5,-1(a0)
+ 800020ec: 00158593 addi a1,a1,1
+ 800020f0: fff5c703 lbu a4,-1(a1)
+ 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24>
+ 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp>
+ 800020fc: 0007851b sext.w a0,a5
+ 80002100: 40e5053b subw a0,a0,a4
+ 80002104: 00008067 ret
+ 80002108: 00000513 li a0,0
+ 8000210c: ff5ff06f j 80002100 <strcmp+0x1c>
+
+0000000080002110 <memcmp>:
+ 80002110: 00b567b3 or a5,a0,a1
+ 80002114: 0077f793 andi a5,a5,7
+ 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c>
+ 8000211c: ff867693 andi a3,a2,-8
+ 80002120: 00d506b3 add a3,a0,a3
+ 80002124: 00050813 mv a6,a0
+ 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c>
+ 8000212c: 00053703 ld a4,0(a0)
+ 80002130: 0005b783 ld a5,0(a1)
+ 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38>
+ 80002138: 0240006f j 8000215c <memcmp+0x4c>
+ 8000213c: 00053703 ld a4,0(a0)
+ 80002140: 0005b783 ld a5,0(a1)
+ 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44>
+ 80002148: 00850513 addi a0,a0,8
+ 8000214c: 00858593 addi a1,a1,8
+ 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c>
+ 80002154: 41050833 sub a6,a0,a6
+ 80002158: 41060633 sub a2,a2,a6
+ 8000215c: 00c58633 add a2,a1,a2
+ 80002160: 0140006f j 80002174 <memcmp+0x64>
+ 80002164: 00158593 addi a1,a1,1
+ 80002168: fff54783 lbu a5,-1(a0)
+ 8000216c: fff5c703 lbu a4,-1(a1)
+ 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74>
+ 80002174: 00150513 addi a0,a0,1
+ 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54>
+ 8000217c: 00000513 li a0,0
+ 80002180: 00008067 ret
+ 80002184: 40e7853b subw a0,a5,a4
+ 80002188: 00008067 ret
+
+000000008000218c <strcpy>:
+ 8000218c: 00050793 mv a5,a0
+ 80002190: 00158593 addi a1,a1,1
+ 80002194: fff5c703 lbu a4,-1(a1)
+ 80002198: 00178793 addi a5,a5,1
+ 8000219c: fee78fa3 sb a4,-1(a5)
+ 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4>
+ 800021a4: 00008067 ret
+
+00000000800021a8 <atol>:
+ 800021a8: 00054783 lbu a5,0(a0)
+ 800021ac: 02000713 li a4,32
+ 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18>
+ 800021b4: 00150513 addi a0,a0,1
+ 800021b8: 00054783 lbu a5,0(a0)
+ 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc>
+ 800021c0: fd57871b addiw a4,a5,-43
+ 800021c4: 0fd77713 andi a4,a4,253
+ 800021c8: 04070263 beqz a4,8000220c <atol+0x64>
+ 800021cc: 00054683 lbu a3,0(a0)
+ 800021d0: 00050793 mv a5,a0
+ 800021d4: 00000613 li a2,0
+ 800021d8: 04068863 beqz a3,80002228 <atol+0x80>
+ 800021dc: 00000513 li a0,0
+ 800021e0: 00178793 addi a5,a5,1
+ 800021e4: fd06859b addiw a1,a3,-48
+ 800021e8: 00251713 slli a4,a0,0x2
+ 800021ec: 0007c683 lbu a3,0(a5)
+ 800021f0: 00a70533 add a0,a4,a0
+ 800021f4: 00151513 slli a0,a0,0x1
+ 800021f8: 00a58533 add a0,a1,a0
+ 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38>
+ 80002200: 00060463 beqz a2,80002208 <atol+0x60>
+ 80002204: 40a00533 neg a0,a0
+ 80002208: 00008067 ret
+ 8000220c: 00154683 lbu a3,1(a0)
+ 80002210: fd378793 addi a5,a5,-45
+ 80002214: 0017b613 seqz a2,a5
+ 80002218: 00150793 addi a5,a0,1
+ 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34>
+ 80002220: 00000513 li a0,0
+ 80002224: fddff06f j 80002200 <atol+0x58>
+ 80002228: 00000513 li a0,0
+ 8000222c: 00008067 ret
+
+0000000080002230 <terminate>:
+ 80002230: fffff797 auipc a5,0xfffff
+ 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost>
+ 80002238: 0007b703 ld a4,0(a5)
+ 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20>
+ 80002240: fffff717 auipc a4,0xfffff
+ 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost>
+ 80002248: 0007b703 ld a4,0(a5)
+ 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10>
+ 80002250: fffff797 auipc a5,0xfffff
+ 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost>
+ 80002258: 0000006f j 80002258 <terminate+0x28>
+
+000000008000225c <wtf>:
+ 8000225c: ff010113 addi sp,sp,-16
+ 80002260: 34900513 li a0,841
+ 80002264: 00113423 sd ra,8(sp)
+ 80002268: fc9ff0ef jal ra,80002230 <terminate>
+
+000000008000226c <printhex>:
+ 8000226c: fe010113 addi sp,sp,-32
+ 80002270: 01710713 addi a4,sp,23
+ 80002274: 00710813 addi a6,sp,7
+ 80002278: 00900593 li a1,9
+ 8000227c: 00f57793 andi a5,a0,15
+ 80002280: 03000613 li a2,48
+ 80002284: 0ff7f693 andi a3,a5,255
+ 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24>
+ 8000228c: 05700613 li a2,87
+ 80002290: 00c687bb addw a5,a3,a2
+ 80002294: 00f70023 sb a5,0(a4)
+ 80002298: fff70713 addi a4,a4,-1
+ 8000229c: 00455513 srli a0,a0,0x4
+ 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10>
+ 800022a4: 00814783 lbu a5,8(sp)
+ 800022a8: 00010c23 sb zero,24(sp)
+ 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88>
+ 800022b0: 10100513 li a0,257
+ 800022b4: 00810693 addi a3,sp,8
+ 800022b8: fffff717 auipc a4,0xfffff
+ 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost>
+ 800022c0: 03051513 slli a0,a0,0x30
+ 800022c4: 00073583 ld a1,0(a4)
+ 800022c8: 00168693 addi a3,a3,1
+ 800022cc: 00a7e633 or a2,a5,a0
+ 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78>
+ 800022d4: fffff797 auipc a5,0xfffff
+ 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost>
+ 800022dc: 00073783 ld a5,0(a4)
+ 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68>
+ 800022e4: 0006c783 lbu a5,0(a3)
+ 800022e8: fffff597 auipc a1,0xfffff
+ 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost>
+ 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58>
+ 800022f4: 02010113 addi sp,sp,32
+ 800022f8: 00008067 ret
+
+00000000800022fc <handle_fault>:
+ 800022fc: fffff8b7 lui a7,0xfffff
+ 80002300: 01150733 add a4,a0,a7
+ 80002304: 0003e7b7 lui a5,0x3e
+ 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154>
+ 8000230c: 00c55693 srli a3,a0,0xc
+ 80002310: 60068813 addi a6,a3,1536
+ 80002314: 00002617 auipc a2,0x2
+ 80002318: cec60613 addi a2,a2,-788 # 80004000 <pt>
+ 8000231c: 00381793 slli a5,a6,0x3
+ 80002320: 00f607b3 add a5,a2,a5
+ 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000>
+ 80002328: 01157533 and a0,a0,a7
+ 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110>
+ 80002330: 00006797 auipc a5,0x6
+ 80002334: 4b878793 addi a5,a5,1208 # 800087e8 <freelist_head>
+ 80002338: 0007b583 ld a1,0(a5)
+ 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0>
+ 80002340: 0085b783 ld a5,8(a1)
+ 80002344: 00006717 auipc a4,0x6
+ 80002348: 49c70713 addi a4,a4,1180 # 800087e0 <freelist_tail>
+ 8000234c: 00073703 ld a4,0(a4)
+ 80002350: 00006897 auipc a7,0x6
+ 80002354: 48f8bc23 sd a5,1176(a7) # 800087e8 <freelist_head>
+ 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148>
+ 8000235c: 0005b783 ld a5,0(a1)
+ 80002360: 00381893 slli a7,a6,0x3
+ 80002364: 011608b3 add a7,a2,a7
+ 80002368: 00c7d793 srli a5,a5,0xc
+ 8000236c: 00a79793 slli a5,a5,0xa
+ 80002370: 0df7e313 ori t1,a5,223
+ 80002374: 01f7e713 ori a4,a5,31
+ 80002378: 0068b023 sd t1,0(a7)
+ 8000237c: 12050073 sfence.vma a0
+ 80002380: 00006797 auipc a5,0x6
+ 80002384: 07078793 addi a5,a5,112 # 800083f0 <user_mapping>
+ 80002388: 00469693 slli a3,a3,0x4
+ 8000238c: 00d786b3 add a3,a5,a3
+ 80002390: 0006b783 ld a5,0(a3)
+ 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200>
+ 80002398: 0005b783 ld a5,0(a1)
+ 8000239c: 00f6b023 sd a5,0(a3)
+ 800023a0: 0085b783 ld a5,8(a1)
+ 800023a4: 00f6b423 sd a5,8(a3)
+ 800023a8: 000407b7 lui a5,0x40
+ 800023ac: 1007a8f3 csrrs a7,sstatus,a5
+ 800023b0: ffe007b7 lui a5,0xffe00
+ 800023b4: 00f507b3 add a5,a0,a5
+ 800023b8: 000015b7 lui a1,0x1
+ 800023bc: 00050693 mv a3,a0
+ 800023c0: 00b785b3 add a1,a5,a1
+ 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf7810>
+ 800023c8: 0087be83 ld t4,8(a5)
+ 800023cc: 0107be03 ld t3,16(a5)
+ 800023d0: 0187b303 ld t1,24(a5)
+ 800023d4: 01e6b023 sd t5,0(a3)
+ 800023d8: 01d6b423 sd t4,8(a3)
+ 800023dc: 01c6b823 sd t3,16(a3)
+ 800023e0: 0066bc23 sd t1,24(a3)
+ 800023e4: 02078793 addi a5,a5,32
+ 800023e8: 02068693 addi a3,a3,32
+ 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8>
+ 800023f0: 10089073 csrw sstatus,a7
+ 800023f4: 00381813 slli a6,a6,0x3
+ 800023f8: 01060633 add a2,a2,a6
+ 800023fc: 00e63023 sd a4,0(a2)
+ 80002400: 12050073 sfence.vma a0
+ 80002404: 0000100f fence.i
+ 80002408: 00008067 ret
+ 8000240c: 04077693 andi a3,a4,64
+ 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128>
+ 80002414: 04076713 ori a4,a4,64
+ 80002418: 00e7b023 sd a4,0(a5)
+ 8000241c: 12050073 sfence.vma a0
+ 80002420: 00008067 ret
+ 80002424: 08077693 andi a3,a4,128
+ 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250>
+ 8000242c: 00f00693 li a3,15
+ 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250>
+ 80002434: 08076713 ori a4,a4,128
+ 80002438: 00e7b023 sd a4,0(a5)
+ 8000243c: 12050073 sfence.vma a0
+ 80002440: 00008067 ret
+ 80002444: 00006797 auipc a5,0x6
+ 80002448: 3807be23 sd zero,924(a5) # 800087e0 <freelist_tail>
+ 8000244c: f11ff06f j 8000235c <handle_fault+0x60>
+ 80002450: 10100613 li a2,257
+ 80002454: 04100713 li a4,65
+ 80002458: 00001697 auipc a3,0x1
+ 8000245c: 96868693 addi a3,a3,-1688 # 80002dc0 <pass+0x10>
+ 80002460: fffff797 auipc a5,0xfffff
+ 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost>
+ 80002468: 03061613 slli a2,a2,0x30
+ 8000246c: 0007b503 ld a0,0(a5)
+ 80002470: 00168693 addi a3,a3,1
+ 80002474: 00c765b3 or a1,a4,a2
+ 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190>
+ 8000247c: fffff717 auipc a4,0xfffff
+ 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost>
+ 80002484: 0007b703 ld a4,0(a5)
+ 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180>
+ 8000248c: 0006c703 lbu a4,0(a3)
+ 80002490: fffff517 auipc a0,0xfffff
+ 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost>
+ 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170>
+ 8000249c: ff010113 addi sp,sp,-16
+ 800024a0: 00300513 li a0,3
+ 800024a4: 00113423 sd ra,8(sp)
+ 800024a8: d89ff0ef jal ra,80002230 <terminate>
+ 800024ac: 10100693 li a3,257
+ 800024b0: 04100713 li a4,65
+ 800024b4: 00001617 auipc a2,0x1
+ 800024b8: 99c60613 addi a2,a2,-1636 # 80002e50 <pass+0xa0>
+ 800024bc: fffff797 auipc a5,0xfffff
+ 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost>
+ 800024c4: 03069693 slli a3,a3,0x30
+ 800024c8: 0007b503 ld a0,0(a5)
+ 800024cc: 00160613 addi a2,a2,1
+ 800024d0: 00d765b3 or a1,a4,a3
+ 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec>
+ 800024d8: fffff717 auipc a4,0xfffff
+ 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost>
+ 800024e0: 0007b703 ld a4,0(a5)
+ 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc>
+ 800024e8: 00064703 lbu a4,0(a2)
+ 800024ec: fffff517 auipc a0,0xfffff
+ 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost>
+ 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc>
+ 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0>
+ 800024fc: 10100693 li a3,257
+ 80002500: 04100713 li a4,65
+ 80002504: 00001617 auipc a2,0x1
+ 80002508: 96460613 addi a2,a2,-1692 # 80002e68 <pass+0xb8>
+ 8000250c: fffff797 auipc a5,0xfffff
+ 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost>
+ 80002514: 03069693 slli a3,a3,0x30
+ 80002518: 0007b503 ld a0,0(a5)
+ 8000251c: 00160613 addi a2,a2,1
+ 80002520: 00d765b3 or a1,a4,a3
+ 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c>
+ 80002528: fffff717 auipc a4,0xfffff
+ 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost>
+ 80002530: 0007b703 ld a4,0(a5)
+ 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c>
+ 80002538: 00064703 lbu a4,0(a2)
+ 8000253c: fffff517 auipc a0,0xfffff
+ 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost>
+ 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c>
+ 80002548: f55ff06f j 8000249c <handle_fault+0x1a0>
+ 8000254c: 10100613 li a2,257
+ 80002550: 04100713 li a4,65
+ 80002554: 00001697 auipc a3,0x1
+ 80002558: 8b468693 addi a3,a3,-1868 # 80002e08 <pass+0x58>
+ 8000255c: fffff797 auipc a5,0xfffff
+ 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost>
+ 80002564: 03061613 slli a2,a2,0x30
+ 80002568: 0007b503 ld a0,0(a5)
+ 8000256c: 00168693 addi a3,a3,1
+ 80002570: 00c765b3 or a1,a4,a2
+ 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c>
+ 80002578: fffff717 auipc a4,0xfffff
+ 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost>
+ 80002580: 0007b703 ld a4,0(a5)
+ 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c>
+ 80002588: 0006c703 lbu a4,0(a3)
+ 8000258c: fffff517 auipc a0,0xfffff
+ 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost>
+ 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c>
+ 80002598: f05ff06f j 8000249c <handle_fault+0x1a0>
+
+000000008000259c <handle_trap>:
+ 8000259c: 11853583 ld a1,280(a0)
+ 800025a0: f9010113 addi sp,sp,-112
+ 800025a4: 06813023 sd s0,96(sp)
+ 800025a8: 06113423 sd ra,104(sp)
+ 800025ac: 04913c23 sd s1,88(sp)
+ 800025b0: 05213823 sd s2,80(sp)
+ 800025b4: 05313423 sd s3,72(sp)
+ 800025b8: 05413023 sd s4,64(sp)
+ 800025bc: 03513c23 sd s5,56(sp)
+ 800025c0: 03613823 sd s6,48(sp)
+ 800025c4: 03713423 sd s7,40(sp)
+ 800025c8: 03813023 sd s8,32(sp)
+ 800025cc: 01913c23 sd s9,24(sp)
+ 800025d0: 01a13823 sd s10,16(sp)
+ 800025d4: 01b13423 sd s11,8(sp)
+ 800025d8: 00800793 li a5,8
+ 800025dc: 00050413 mv s0,a0
+ 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178>
+ 800025e4: 00200793 li a5,2
+ 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac>
+ 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c>
+ 800025f0: 00100713 li a4,1
+ 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64>
+ 800025f8: 00f00793 li a5,15
+ 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248>
+ 80002600: 11043503 ld a0,272(s0)
+ 80002604: cf9ff0ef jal ra,800022fc <handle_fault>
+ 80002608: 00040513 mv a0,s0
+ 8000260c: 06013403 ld s0,96(sp)
+ 80002610: 06813083 ld ra,104(sp)
+ 80002614: 05813483 ld s1,88(sp)
+ 80002618: 05013903 ld s2,80(sp)
+ 8000261c: 04813983 ld s3,72(sp)
+ 80002620: 04013a03 ld s4,64(sp)
+ 80002624: 03813a83 ld s5,56(sp)
+ 80002628: 03013b03 ld s6,48(sp)
+ 8000262c: 02813b83 ld s7,40(sp)
+ 80002630: 02013c03 ld s8,32(sp)
+ 80002634: 01813c83 ld s9,24(sp)
+ 80002638: 01013d03 ld s10,16(sp)
+ 8000263c: 00813d83 ld s11,8(sp)
+ 80002640: 07010113 addi sp,sp,112
+ 80002644: 9f9fd06f j 8000003c <pop_tf>
+ 80002648: 10853703 ld a4,264(a0)
+ 8000264c: 00377793 andi a5,a4,3
+ 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128>
+ 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0>
+ 80002658: 00301073 fssr zero
+ 8000265c: 00072703 lw a4,0(a4)
+ 80002660: 0007a783 lw a5,0(a5)
+ 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120>
+ 80002668: 10100513 li a0,257
+ 8000266c: 04100793 li a5,65
+ 80002670: 00001697 auipc a3,0x1
+ 80002674: 8d068693 addi a3,a3,-1840 # 80002f40 <pass+0x190>
+ 80002678: fffff717 auipc a4,0xfffff
+ 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost>
+ 80002680: 03051513 slli a0,a0,0x30
+ 80002684: 00073583 ld a1,0(a4)
+ 80002688: 00168693 addi a3,a3,1
+ 8000268c: 00a7e633 or a2,a5,a0
+ 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108>
+ 80002694: fffff797 auipc a5,0xfffff
+ 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost>
+ 8000269c: 00073783 ld a5,0(a4)
+ 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8>
+ 800026a4: 0006c783 lbu a5,0(a3)
+ 800026a8: fffff597 auipc a1,0xfffff
+ 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost>
+ 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8>
+ 800026b4: 00300513 li a0,3
+ 800026b8: b79ff0ef jal ra,80002230 <terminate>
+ 800026bc: 00100513 li a0,1
+ 800026c0: b71ff0ef jal ra,80002230 <terminate>
+ 800026c4: 10100793 li a5,257
+ 800026c8: 00001617 auipc a2,0x1
+ 800026cc: 85060613 addi a2,a2,-1968 # 80002f18 <pass+0x168>
+ 800026d0: 04100693 li a3,65
+ 800026d4: fffff717 auipc a4,0xfffff
+ 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost>
+ 800026dc: 03079793 slli a5,a5,0x30
+ 800026e0: 00073503 ld a0,0(a4)
+ 800026e4: 00160613 addi a2,a2,1
+ 800026e8: 00f6e5b3 or a1,a3,a5
+ 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164>
+ 800026f0: fffff697 auipc a3,0xfffff
+ 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost>
+ 800026f8: 00073683 ld a3,0(a4)
+ 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154>
+ 80002700: 00064683 lbu a3,0(a2)
+ 80002704: fffff517 auipc a0,0xfffff
+ 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost>
+ 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144>
+ 80002710: fa5ff06f j 800026b4 <handle_trap+0x118>
+ 80002714: 05052983 lw s3,80(a0)
+ 80002718: 00001437 lui s0,0x1
+ 8000271c: 00006d17 auipc s10,0x6
+ 80002720: cd4d0d13 addi s10,s10,-812 # 800083f0 <user_mapping>
+ 80002724: 00002b97 auipc s7,0x2
+ 80002728: 8dcb8b93 addi s7,s7,-1828 # 80004000 <pt>
+ 8000272c: 00040b37 lui s6,0x40
+ 80002730: ffe00ab7 lui s5,0xffe00
+ 80002734: 00006a17 auipc s4,0x6
+ 80002738: 0aca0a13 addi s4,s4,172 # 800087e0 <freelist_tail>
+ 8000273c: 0003f937 lui s2,0x3f
+ 80002740: 01c0006f j 8000275c <handle_trap+0x1c0>
+ 80002744: 00f73423 sd a5,8(a4)
+ 80002748: 00006717 auipc a4,0x6
+ 8000274c: 08f73c23 sd a5,152(a4) # 800087e0 <freelist_tail>
+ 80002750: 000017b7 lui a5,0x1
+ 80002754: 00f40433 add s0,s0,a5
+ 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308>
+ 8000275c: 00c45793 srli a5,s0,0xc
+ 80002760: 00479493 slli s1,a5,0x4
+ 80002764: 009d0733 add a4,s10,s1
+ 80002768: 00073703 ld a4,0(a4)
+ 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4>
+ 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00>
+ 80002774: 00379793 slli a5,a5,0x3
+ 80002778: 00fb87b3 add a5,s7,a5
+ 8000277c: 0007bc03 ld s8,0(a5)
+ 80002780: 040c7793 andi a5,s8,64
+ 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0>
+ 80002788: 100b2cf3 csrrs s9,sstatus,s6
+ 8000278c: 01540db3 add s11,s0,s5
+ 80002790: 00001637 lui a2,0x1
+ 80002794: 000d8593 mv a1,s11
+ 80002798: 00040513 mv a0,s0
+ 8000279c: 975ff0ef jal ra,80002110 <memcmp>
+ 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220>
+ 800027a4: 080c7c13 andi s8,s8,128
+ 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298>
+ 800027ac: 00001637 lui a2,0x1
+ 800027b0: 000d8593 mv a1,s11
+ 800027b4: 00040513 mv a0,s0
+ 800027b8: 849ff0ef jal ra,80002000 <memcpy>
+ 800027bc: 009d07b3 add a5,s10,s1
+ 800027c0: 100c9073 csrw sstatus,s9
+ 800027c4: 000a3703 ld a4,0(s4)
+ 800027c8: 0007b023 sd zero,0(a5)
+ 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8>
+ 800027d0: 00006717 auipc a4,0x6
+ 800027d4: 00f73823 sd a5,16(a4) # 800087e0 <freelist_tail>
+ 800027d8: 00006717 auipc a4,0x6
+ 800027dc: 00f73823 sd a5,16(a4) # 800087e8 <freelist_head>
+ 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4>
+ 800027e4: 10100793 li a5,257
+ 800027e8: 04100613 li a2,65
+ 800027ec: 00000697 auipc a3,0x0
+ 800027f0: 78468693 addi a3,a3,1924 # 80002f70 <pass+0x1c0>
+ 800027f4: fffff717 auipc a4,0xfffff
+ 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost>
+ 800027fc: 03079793 slli a5,a5,0x30
+ 80002800: 00073503 ld a0,0(a4)
+ 80002804: 00168693 addi a3,a3,1
+ 80002808: 00f665b3 or a1,a2,a5
+ 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284>
+ 80002810: fffff617 auipc a2,0xfffff
+ 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost>
+ 80002818: 00073603 ld a2,0(a4)
+ 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274>
+ 80002820: 0006c603 lbu a2,0(a3)
+ 80002824: ffffe517 auipc a0,0xffffe
+ 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost>
+ 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264>
+ 80002830: e85ff06f j 800026b4 <handle_trap+0x118>
+ 80002834: 10100793 li a5,257
+ 80002838: 04100613 li a2,65
+ 8000283c: 00000697 auipc a3,0x0
+ 80002840: 6a468693 addi a3,a3,1700 # 80002ee0 <pass+0x130>
+ 80002844: ffffe717 auipc a4,0xffffe
+ 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost>
+ 8000284c: 03079793 slli a5,a5,0x30
+ 80002850: 00168693 addi a3,a3,1
+ 80002854: 00f665b3 or a1,a2,a5
+ 80002858: 00073603 ld a2,0(a4)
+ 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310>
+ 80002860: ffffe617 auipc a2,0xffffe
+ 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost>
+ 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc>
+ 8000286c: 10100793 li a5,257
+ 80002870: 04100613 li a2,65
+ 80002874: 00000697 auipc a3,0x0
+ 80002878: 63468693 addi a3,a3,1588 # 80002ea8 <pass+0xf8>
+ 8000287c: ffffe717 auipc a4,0xffffe
+ 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost>
+ 80002884: 03079793 slli a5,a5,0x30
+ 80002888: 00168693 addi a3,a3,1
+ 8000288c: 00f665b3 or a1,a2,a5
+ 80002890: 00073603 ld a2,0(a4)
+ 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324>
+ 80002898: ffffe617 auipc a2,0xffffe
+ 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost>
+ 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4>
+ 800028a4: 00098513 mv a0,s3
+ 800028a8: 989ff0ef jal ra,80002230 <terminate>
+ 800028ac: 0006c603 lbu a2,0(a3)
+ 800028b0: ffffe517 auipc a0,0xffffe
+ 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost>
+ 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4>
+ 800028bc: df9ff06f j 800026b4 <handle_trap+0x118>
+ 800028c0: 0006c603 lbu a2,0(a3)
+ 800028c4: ffffe517 auipc a0,0xffffe
+ 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost>
+ 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec>
+ 800028d0: de5ff06f j 800026b4 <handle_trap+0x118>
+
+00000000800028d4 <vm_boot>:
+ 800028d4: f14027f3 csrr a5,mhartid
+ 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198>
+ 800028dc: 00002697 auipc a3,0x2
+ 800028e0: 72468693 addi a3,a3,1828 # 80005000 <pt+0x1000>
+ 800028e4: 00003717 auipc a4,0x3
+ 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <pt+0x2000>
+ 800028ec: 00c6d693 srli a3,a3,0xc
+ 800028f0: 00c75713 srli a4,a4,0xc
+ 800028f4: 00004797 auipc a5,0x4
+ 800028f8: 70c78793 addi a5,a5,1804 # 80007000 <pt+0x3000>
+ 800028fc: 00a69693 slli a3,a3,0xa
+ 80002900: 00a71713 slli a4,a4,0xa
+ 80002904: 0016e693 ori a3,a3,1
+ 80002908: 00176713 ori a4,a4,1
+ 8000290c: 00c7d793 srli a5,a5,0xc
+ 80002910: 00001897 auipc a7,0x1
+ 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <pt>
+ 80002918: 00a79793 slli a5,a5,0xa
+ 8000291c: 00002697 auipc a3,0x2
+ 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <pt+0xff8>
+ 80002924: 20000737 lui a4,0x20000
+ 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31>
+ 8000292c: fff00593 li a1,-1
+ 80002930: 0017e793 ori a5,a5,1
+ 80002934: 00001617 auipc a2,0x1
+ 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <pt>
+ 8000293c: ed010113 addi sp,sp,-304
+ 80002940: 03f59813 slli a6,a1,0x3f
+ 80002944: 00004697 auipc a3,0x4
+ 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <pt+0x2ff8>
+ 8000294c: 00002717 auipc a4,0x2
+ 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <pt+0x1000>
+ 80002954: 00c65793 srli a5,a2,0xc
+ 80002958: 12113423 sd ra,296(sp)
+ 8000295c: 12813023 sd s0,288(sp)
+ 80002960: 0107e7b3 or a5,a5,a6
+ 80002964: 18079073 csrw satp,a5
+ 80002968: 01f00793 li a5,31
+ 8000296c: 00000297 auipc t0,0x0
+ 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac>
+ 80002974: 305292f3 csrrw t0,mtvec,t0
+ 80002978: 3b059073 csrw pmpaddr0,a1
+ 8000297c: 3a079073 csrw pmpcfg0,a5
+ 80002980: bff00813 li a6,-1025
+ 80002984: 01581813 slli a6,a6,0x15
+ 80002988: ffffd797 auipc a5,0xffffd
+ 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry>
+ 80002990: 010787b3 add a5,a5,a6
+ 80002994: 10579073 csrw stvec,a5
+ 80002998: 340027f3 csrr a5,mscratch
+ 8000299c: 010787b3 add a5,a5,a6
+ 800029a0: 14079073 csrw sscratch,a5
+ 800029a4: 0000b7b7 lui a5,0xb
+ 800029a8: 1007879b addiw a5,a5,256
+ 800029ac: 30279073 csrw medeleg,a5
+ 800029b0: 0001e7b7 lui a5,0x1e
+ 800029b4: 30079073 csrw mstatus,a5
+ 800029b8: 30405073 csrwi mie,0
+ 800029bc: 00005697 auipc a3,0x5
+ 800029c0: 64468693 addi a3,a3,1604 # 80008000 <freelist_nodes>
+ 800029c4: 010687b3 add a5,a3,a6
+ 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20>
+ 800029cc: 00006617 auipc a2,0x6
+ 800029d0: e0f63e23 sd a5,-484(a2) # 800087e8 <freelist_head>
+ 800029d4: 00006797 auipc a5,0x6
+ 800029d8: e0e7b623 sd a4,-500(a5) # 800087e0 <freelist_tail>
+ 800029dc: 00006317 auipc t1,0x6
+ 800029e0: a1430313 addi t1,t1,-1516 # 800083f0 <user_mapping>
+ 800029e4: 01d00793 li a5,29
+ 800029e8: 000808b7 lui a7,0x80
+ 800029ec: 01080813 addi a6,a6,16
+ 800029f0: 03f7871b addiw a4,a5,63
+ 800029f4: 02071713 slli a4,a4,0x20
+ 800029f8: 0017d61b srliw a2,a5,0x1
+ 800029fc: 02075713 srli a4,a4,0x20
+ 80002a00: 00c7c7b3 xor a5,a5,a2
+ 80002a04: 01170733 add a4,a4,a7
+ 80002a08: 010685b3 add a1,a3,a6
+ 80002a0c: 00c71713 slli a4,a4,0xc
+ 80002a10: 0057979b slliw a5,a5,0x5
+ 80002a14: 00e6b023 sd a4,0(a3)
+ 80002a18: 00b6b423 sd a1,8(a3)
+ 80002a1c: 0207f793 andi a5,a5,32
+ 80002a20: 01068693 addi a3,a3,16
+ 80002a24: 00c7e7b3 or a5,a5,a2
+ 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c>
+ 80002a2c: 00050413 mv s0,a0
+ 80002a30: 12000613 li a2,288
+ 80002a34: 00000593 li a1,0
+ 80002a38: 00010513 mv a0,sp
+ 80002a3c: 00006797 auipc a5,0x6
+ 80002a40: 9a07b623 sd zero,-1620(a5) # 800083e8 <freelist_nodes+0x3e8>
+ 80002a44: e18ff0ef jal ra,8000205c <memset>
+ 80002a48: 800007b7 lui a5,0x80000
+ 80002a4c: 00f40433 add s0,s0,a5
+ 80002a50: 00010513 mv a0,sp
+ 80002a54: 10813423 sd s0,264(sp)
+ 80002a58: de4fd0ef jal ra,8000003c <pop_tf>
+ 80002a5c: 12813083 ld ra,296(sp)
+ 80002a60: 12013403 ld s0,288(sp)
+ 80002a64: 13010113 addi sp,sp,304
+ 80002a68: 00008067 ret
+ 80002a6c: 029377b7 lui a5,0x2937
+ 80002a70: 000805b7 lui a1,0x80
+ 80002a74: 46c78793 addi a5,a5,1132 # 293746c <_start-0x7d6c8b94>
+ 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004>
+ 80002a7c: 00100613 li a2,1
+ 80002a80: 00b7f733 and a4,a5,a1
+ 80002a84: 01f61613 slli a2,a2,0x1f
+ 80002a88: 0017f693 andi a3,a5,1
+ 80002a8c: 02079793 slli a5,a5,0x20
+ 80002a90: 0207d793 srli a5,a5,0x20
+ 80002a94: 00c70733 add a4,a4,a2
+ 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8>
+ 80002a9c: 0007202f amoadd.w zero,zero,(a4)
+ 80002aa0: 0017d793 srli a5,a5,0x1
+ 80002aa4: 00b7f733 and a4,a5,a1
+ 80002aa8: 0017f693 andi a3,a5,1
+ 80002aac: 02079793 slli a5,a5,0x20
+ 80002ab0: 0207d793 srli a5,a5,0x20
+ 80002ab4: 00c70733 add a4,a4,a2
+ 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8>
+ 80002abc: 00072003 lw zero,0(a4)
+ 80002ac0: 0017d793 srli a5,a5,0x1
+ 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0>
+
+0000000080002ac8 <userstart>:
+ 80002ac8: 00301073 fssr zero
+
+0000000080002acc <test_2>:
+ 80002acc: 00200193 li gp,2
+ 80002ad0: 00000517 auipc a0,0x0
+ 80002ad4: 53050513 addi a0,a0,1328 # 80003000 <test_2_data>
+ 80002ad8: 00052007 flw ft0,0(a0)
+ 80002adc: 00452087 flw ft1,4(a0)
+ 80002ae0: 00852107 flw ft2,8(a0)
+ 80002ae4: 00c52683 lw a3,12(a0)
+ 80002ae8: a0102553 feq.s a0,ft0,ft1
+ 80002aec: 001015f3 fsflags a1,zero
+ 80002af0: 00000613 li a2,0
+ 80002af4: 2ad51663 bne a0,a3,80002da0 <fail>
+ 80002af8: 2ac59463 bne a1,a2,80002da0 <fail>
+
+0000000080002afc <test_3>:
+ 80002afc: 00300193 li gp,3
+ 80002b00: 00000517 auipc a0,0x0
+ 80002b04: 51050513 addi a0,a0,1296 # 80003010 <test_3_data>
+ 80002b08: 00052007 flw ft0,0(a0)
+ 80002b0c: 00452087 flw ft1,4(a0)
+ 80002b10: 00852107 flw ft2,8(a0)
+ 80002b14: 00c52683 lw a3,12(a0)
+ 80002b18: a0100553 fle.s a0,ft0,ft1
+ 80002b1c: 001015f3 fsflags a1,zero
+ 80002b20: 00000613 li a2,0
+ 80002b24: 26d51e63 bne a0,a3,80002da0 <fail>
+ 80002b28: 26c59c63 bne a1,a2,80002da0 <fail>
+
+0000000080002b2c <test_4>:
+ 80002b2c: 00400193 li gp,4
+ 80002b30: 00000517 auipc a0,0x0
+ 80002b34: 4f050513 addi a0,a0,1264 # 80003020 <test_4_data>
+ 80002b38: 00052007 flw ft0,0(a0)
+ 80002b3c: 00452087 flw ft1,4(a0)
+ 80002b40: 00852107 flw ft2,8(a0)
+ 80002b44: 00c52683 lw a3,12(a0)
+ 80002b48: a0101553 flt.s a0,ft0,ft1
+ 80002b4c: 001015f3 fsflags a1,zero
+ 80002b50: 00000613 li a2,0
+ 80002b54: 24d51663 bne a0,a3,80002da0 <fail>
+ 80002b58: 24c59463 bne a1,a2,80002da0 <fail>
+
+0000000080002b5c <test_5>:
+ 80002b5c: 00500193 li gp,5
+ 80002b60: 00000517 auipc a0,0x0
+ 80002b64: 4d050513 addi a0,a0,1232 # 80003030 <test_5_data>
+ 80002b68: 00052007 flw ft0,0(a0)
+ 80002b6c: 00452087 flw ft1,4(a0)
+ 80002b70: 00852107 flw ft2,8(a0)
+ 80002b74: 00c52683 lw a3,12(a0)
+ 80002b78: a0102553 feq.s a0,ft0,ft1
+ 80002b7c: 001015f3 fsflags a1,zero
+ 80002b80: 00000613 li a2,0
+ 80002b84: 20d51e63 bne a0,a3,80002da0 <fail>
+ 80002b88: 20c59c63 bne a1,a2,80002da0 <fail>
+
+0000000080002b8c <test_6>:
+ 80002b8c: 00600193 li gp,6
+ 80002b90: 00000517 auipc a0,0x0
+ 80002b94: 4b050513 addi a0,a0,1200 # 80003040 <test_6_data>
+ 80002b98: 00052007 flw ft0,0(a0)
+ 80002b9c: 00452087 flw ft1,4(a0)
+ 80002ba0: 00852107 flw ft2,8(a0)
+ 80002ba4: 00c52683 lw a3,12(a0)
+ 80002ba8: a0100553 fle.s a0,ft0,ft1
+ 80002bac: 001015f3 fsflags a1,zero
+ 80002bb0: 00000613 li a2,0
+ 80002bb4: 1ed51663 bne a0,a3,80002da0 <fail>
+ 80002bb8: 1ec59463 bne a1,a2,80002da0 <fail>
+
+0000000080002bbc <test_7>:
+ 80002bbc: 00700193 li gp,7
+ 80002bc0: 00000517 auipc a0,0x0
+ 80002bc4: 49050513 addi a0,a0,1168 # 80003050 <test_7_data>
+ 80002bc8: 00052007 flw ft0,0(a0)
+ 80002bcc: 00452087 flw ft1,4(a0)
+ 80002bd0: 00852107 flw ft2,8(a0)
+ 80002bd4: 00c52683 lw a3,12(a0)
+ 80002bd8: a0101553 flt.s a0,ft0,ft1
+ 80002bdc: 001015f3 fsflags a1,zero
+ 80002be0: 00000613 li a2,0
+ 80002be4: 1ad51e63 bne a0,a3,80002da0 <fail>
+ 80002be8: 1ac59c63 bne a1,a2,80002da0 <fail>
+
+0000000080002bec <test_8>:
+ 80002bec: 00800193 li gp,8
+ 80002bf0: 00000517 auipc a0,0x0
+ 80002bf4: 47050513 addi a0,a0,1136 # 80003060 <test_8_data>
+ 80002bf8: 00052007 flw ft0,0(a0)
+ 80002bfc: 00452087 flw ft1,4(a0)
+ 80002c00: 00852107 flw ft2,8(a0)
+ 80002c04: 00c52683 lw a3,12(a0)
+ 80002c08: a0102553 feq.s a0,ft0,ft1
+ 80002c0c: 001015f3 fsflags a1,zero
+ 80002c10: 00000613 li a2,0
+ 80002c14: 18d51663 bne a0,a3,80002da0 <fail>
+ 80002c18: 18c59463 bne a1,a2,80002da0 <fail>
+
+0000000080002c1c <test_9>:
+ 80002c1c: 00900193 li gp,9
+ 80002c20: 00000517 auipc a0,0x0
+ 80002c24: 45050513 addi a0,a0,1104 # 80003070 <test_9_data>
+ 80002c28: 00052007 flw ft0,0(a0)
+ 80002c2c: 00452087 flw ft1,4(a0)
+ 80002c30: 00852107 flw ft2,8(a0)
+ 80002c34: 00c52683 lw a3,12(a0)
+ 80002c38: a0102553 feq.s a0,ft0,ft1
+ 80002c3c: 001015f3 fsflags a1,zero
+ 80002c40: 00000613 li a2,0
+ 80002c44: 14d51e63 bne a0,a3,80002da0 <fail>
+ 80002c48: 14c59c63 bne a1,a2,80002da0 <fail>
+
+0000000080002c4c <test_10>:
+ 80002c4c: 00a00193 li gp,10
+ 80002c50: 00000517 auipc a0,0x0
+ 80002c54: 43050513 addi a0,a0,1072 # 80003080 <test_10_data>
+ 80002c58: 00052007 flw ft0,0(a0)
+ 80002c5c: 00452087 flw ft1,4(a0)
+ 80002c60: 00852107 flw ft2,8(a0)
+ 80002c64: 00c52683 lw a3,12(a0)
+ 80002c68: a0102553 feq.s a0,ft0,ft1
+ 80002c6c: 001015f3 fsflags a1,zero
+ 80002c70: 01000613 li a2,16
+ 80002c74: 12d51663 bne a0,a3,80002da0 <fail>
+ 80002c78: 12c59463 bne a1,a2,80002da0 <fail>
+
+0000000080002c7c <test_11>:
+ 80002c7c: 00b00193 li gp,11
+ 80002c80: 00000517 auipc a0,0x0
+ 80002c84: 41050513 addi a0,a0,1040 # 80003090 <test_11_data>
+ 80002c88: 00052007 flw ft0,0(a0)
+ 80002c8c: 00452087 flw ft1,4(a0)
+ 80002c90: 00852107 flw ft2,8(a0)
+ 80002c94: 00c52683 lw a3,12(a0)
+ 80002c98: a0101553 flt.s a0,ft0,ft1
+ 80002c9c: 001015f3 fsflags a1,zero
+ 80002ca0: 01000613 li a2,16
+ 80002ca4: 0ed51e63 bne a0,a3,80002da0 <fail>
+ 80002ca8: 0ec59c63 bne a1,a2,80002da0 <fail>
+
+0000000080002cac <test_12>:
+ 80002cac: 00c00193 li gp,12
+ 80002cb0: 00000517 auipc a0,0x0
+ 80002cb4: 3f050513 addi a0,a0,1008 # 800030a0 <test_12_data>
+ 80002cb8: 00052007 flw ft0,0(a0)
+ 80002cbc: 00452087 flw ft1,4(a0)
+ 80002cc0: 00852107 flw ft2,8(a0)
+ 80002cc4: 00c52683 lw a3,12(a0)
+ 80002cc8: a0101553 flt.s a0,ft0,ft1
+ 80002ccc: 001015f3 fsflags a1,zero
+ 80002cd0: 01000613 li a2,16
+ 80002cd4: 0cd51663 bne a0,a3,80002da0 <fail>
+ 80002cd8: 0cc59463 bne a1,a2,80002da0 <fail>
+
+0000000080002cdc <test_13>:
+ 80002cdc: 00d00193 li gp,13
+ 80002ce0: 00000517 auipc a0,0x0
+ 80002ce4: 3d050513 addi a0,a0,976 # 800030b0 <test_13_data>
+ 80002ce8: 00052007 flw ft0,0(a0)
+ 80002cec: 00452087 flw ft1,4(a0)
+ 80002cf0: 00852107 flw ft2,8(a0)
+ 80002cf4: 00c52683 lw a3,12(a0)
+ 80002cf8: a0101553 flt.s a0,ft0,ft1
+ 80002cfc: 001015f3 fsflags a1,zero
+ 80002d00: 01000613 li a2,16
+ 80002d04: 08d51e63 bne a0,a3,80002da0 <fail>
+ 80002d08: 08c59c63 bne a1,a2,80002da0 <fail>
+
+0000000080002d0c <test_14>:
+ 80002d0c: 00e00193 li gp,14
+ 80002d10: 00000517 auipc a0,0x0
+ 80002d14: 3b050513 addi a0,a0,944 # 800030c0 <test_14_data>
+ 80002d18: 00052007 flw ft0,0(a0)
+ 80002d1c: 00452087 flw ft1,4(a0)
+ 80002d20: 00852107 flw ft2,8(a0)
+ 80002d24: 00c52683 lw a3,12(a0)
+ 80002d28: a0100553 fle.s a0,ft0,ft1
+ 80002d2c: 001015f3 fsflags a1,zero
+ 80002d30: 01000613 li a2,16
+ 80002d34: 06d51663 bne a0,a3,80002da0 <fail>
+ 80002d38: 06c59463 bne a1,a2,80002da0 <fail>
+
+0000000080002d3c <test_15>:
+ 80002d3c: 00f00193 li gp,15
+ 80002d40: 00000517 auipc a0,0x0
+ 80002d44: 39050513 addi a0,a0,912 # 800030d0 <test_15_data>
+ 80002d48: 00052007 flw ft0,0(a0)
+ 80002d4c: 00452087 flw ft1,4(a0)
+ 80002d50: 00852107 flw ft2,8(a0)
+ 80002d54: 00c52683 lw a3,12(a0)
+ 80002d58: a0100553 fle.s a0,ft0,ft1
+ 80002d5c: 001015f3 fsflags a1,zero
+ 80002d60: 01000613 li a2,16
+ 80002d64: 02d51e63 bne a0,a3,80002da0 <fail>
+ 80002d68: 02c59c63 bne a1,a2,80002da0 <fail>
+
+0000000080002d6c <test_16>:
+ 80002d6c: 01000193 li gp,16
+ 80002d70: 00000517 auipc a0,0x0
+ 80002d74: 37050513 addi a0,a0,880 # 800030e0 <test_16_data>
+ 80002d78: 00052007 flw ft0,0(a0)
+ 80002d7c: 00452087 flw ft1,4(a0)
+ 80002d80: 00852107 flw ft2,8(a0)
+ 80002d84: 00c52683 lw a3,12(a0)
+ 80002d88: a0100553 fle.s a0,ft0,ft1
+ 80002d8c: 001015f3 fsflags a1,zero
+ 80002d90: 01000613 li a2,16
+ 80002d94: 00d51663 bne a0,a3,80002da0 <fail>
+ 80002d98: 00c59463 bne a1,a2,80002da0 <fail>
+ 80002d9c: 00301a63 bne zero,gp,80002db0 <pass>
+
+0000000080002da0 <fail>:
+ 80002da0: 00119513 slli a0,gp,0x1
+ 80002da4: 00050063 beqz a0,80002da4 <fail+0x4>
+ 80002da8: 00156513 ori a0,a0,1
+ 80002dac: 00000073 ecall
+
+0000000080002db0 <pass>:
+ 80002db0: 00100513 li a0,1
+ 80002db4: 00000073 ecall
+ 80002db8: c0001073 unimp
+
+Disassembly of section .data:
+
+0000000080003000 <test_2_data>:
+ 80003000: bfae147b 0xbfae147b
+ 80003004: bfae147b 0xbfae147b
+ 80003008: 0000 unimp
+ 8000300a: 0000 unimp
+ 8000300c: 0001 nop
+ 8000300e: 0000 unimp
+
+0000000080003010 <test_3_data>:
+ 80003010: bfae147b 0xbfae147b
+ 80003014: bfae147b 0xbfae147b
+ 80003018: 0000 unimp
+ 8000301a: 0000 unimp
+ 8000301c: 0001 nop
+ 8000301e: 0000 unimp
+
+0000000080003020 <test_4_data>:
+ 80003020: bfae147b 0xbfae147b
+ 80003024: bfae147b 0xbfae147b
+ 80003028: 0000 unimp
+ 8000302a: 0000 unimp
+ 8000302c: 0000 unimp
+ 8000302e: 0000 unimp
+
+0000000080003030 <test_5_data>:
+ 80003030: 5c29 li s8,-22
+ 80003032: 147bbfaf 0x147bbfaf
+ 80003036: bfae fsd fa1,504(sp)
+ 80003038: 0000 unimp
+ 8000303a: 0000 unimp
+ 8000303c: 0000 unimp
+ 8000303e: 0000 unimp
+
+0000000080003040 <test_6_data>:
+ 80003040: 5c29 li s8,-22
+ 80003042: 147bbfaf 0x147bbfaf
+ 80003046: bfae fsd fa1,504(sp)
+ 80003048: 0000 unimp
+ 8000304a: 0000 unimp
+ 8000304c: 0001 nop
+ 8000304e: 0000 unimp
+
+0000000080003050 <test_7_data>:
+ 80003050: 5c29 li s8,-22
+ 80003052: 147bbfaf 0x147bbfaf
+ 80003056: bfae fsd fa1,504(sp)
+ 80003058: 0000 unimp
+ 8000305a: 0000 unimp
+ 8000305c: 0001 nop
+ 8000305e: 0000 unimp
+
+0000000080003060 <test_8_data>:
+ 80003060: ffff 0xffff
+ 80003062: 7fff 0x7fff
+ 80003064: 0000 unimp
+ 80003066: 0000 unimp
+ 80003068: 0000 unimp
+ 8000306a: 0000 unimp
+ 8000306c: 0000 unimp
+ 8000306e: 0000 unimp
+
+0000000080003070 <test_9_data>:
+ 80003070: ffff 0xffff
+ 80003072: 7fff 0x7fff
+ 80003074: ffff 0xffff
+ 80003076: 7fff 0x7fff
+ 80003078: 0000 unimp
+ 8000307a: 0000 unimp
+ 8000307c: 0000 unimp
+ 8000307e: 0000 unimp
+
+0000000080003080 <test_10_data>:
+ 80003080: 0001 nop
+ 80003082: 7f80 ld s0,56(a5)
+ 80003084: 0000 unimp
+ 80003086: 0000 unimp
+ 80003088: 0000 unimp
+ 8000308a: 0000 unimp
+ 8000308c: 0000 unimp
+ 8000308e: 0000 unimp
+
+0000000080003090 <test_11_data>:
+ 80003090: ffff 0xffff
+ 80003092: 7fff 0x7fff
+ 80003094: 0000 unimp
+ 80003096: 0000 unimp
+ 80003098: 0000 unimp
+ 8000309a: 0000 unimp
+ 8000309c: 0000 unimp
+ 8000309e: 0000 unimp
+
+00000000800030a0 <test_12_data>:
+ 800030a0: ffff 0xffff
+ 800030a2: 7fff 0x7fff
+ 800030a4: ffff 0xffff
+ 800030a6: 7fff 0x7fff
+ 800030a8: 0000 unimp
+ 800030aa: 0000 unimp
+ 800030ac: 0000 unimp
+ 800030ae: 0000 unimp
+
+00000000800030b0 <test_13_data>:
+ 800030b0: 0001 nop
+ 800030b2: 7f80 ld s0,56(a5)
+ 800030b4: 0000 unimp
+ 800030b6: 0000 unimp
+ 800030b8: 0000 unimp
+ 800030ba: 0000 unimp
+ 800030bc: 0000 unimp
+ 800030be: 0000 unimp
+
+00000000800030c0 <test_14_data>:
+ 800030c0: ffff 0xffff
+ 800030c2: 7fff 0x7fff
+ 800030c4: 0000 unimp
+ 800030c6: 0000 unimp
+ 800030c8: 0000 unimp
+ 800030ca: 0000 unimp
+ 800030cc: 0000 unimp
+ 800030ce: 0000 unimp
+
+00000000800030d0 <test_15_data>:
+ 800030d0: ffff 0xffff
+ 800030d2: 7fff 0x7fff
+ 800030d4: ffff 0xffff
+ 800030d6: 7fff 0x7fff
+ 800030d8: 0000 unimp
+ 800030da: 0000 unimp
+ 800030dc: 0000 unimp
+ 800030de: 0000 unimp
+
+00000000800030e0 <test_16_data>:
+ 800030e0: 0001 nop
+ 800030e2: 7f80 ld s0,56(a5)
+ 800030e4: 0000 unimp
+ 800030e6: 0000 unimp
+ 800030e8: 0000 unimp
+ 800030ea: 0000 unimp
+ 800030ec: 0000 unimp
+ 800030ee: 0000 unimp
diff --git a/test/riscv-tests/rv64uf-v-fcmp.elf b/test/riscv-tests/rv64uf-v-fcmp.elf
new file mode 100644
index 0000000..8e733f3
--- /dev/null
+++ b/test/riscv-tests/rv64uf-v-fcmp.elf
Binary files differ
diff --git a/test/riscv-tests/rv64uf-v-fcvt.dump b/test/riscv-tests/rv64uf-v-fcvt.dump
new file mode 100644
index 0000000..779c069
--- /dev/null
+++ b/test/riscv-tests/rv64uf-v-fcvt.dump
@@ -0,0 +1,964 @@
+
+rv64uf-v-fcvt: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 00c0006f j 8000000c <handle_reset>
+
+0000000080000004 <nmi_vector>:
+ 80000004: 2580206f j 8000225c <wtf>
+
+0000000080000008 <trap_vector>:
+ 80000008: 2540206f j 8000225c <wtf>
+
+000000008000000c <handle_reset>:
+ 8000000c: 00000297 auipc t0,0x0
+ 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+ 80000014: 30529073 csrw mtvec,t0
+ 80000018: 00009117 auipc sp,0x9
+ 8000001c: 6b810113 addi sp,sp,1720 # 800096d0 <_end+0xee0>
+ 80000020: f14022f3 csrr t0,mhartid
+ 80000024: 00c29293 slli t0,t0,0xc
+ 80000028: 00510133 add sp,sp,t0
+ 8000002c: 34011073 csrw mscratch,sp
+ 80000030: 00003517 auipc a0,0x3
+ 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart>
+ 80000038: 09d0206f j 800028d4 <vm_boot>
+
+000000008000003c <pop_tf>:
+ 8000003c: 10853283 ld t0,264(a0)
+ 80000040: 14129073 csrw sepc,t0
+ 80000044: 00853083 ld ra,8(a0)
+ 80000048: 01053103 ld sp,16(a0)
+ 8000004c: 01853183 ld gp,24(a0)
+ 80000050: 02053203 ld tp,32(a0)
+ 80000054: 02853283 ld t0,40(a0)
+ 80000058: 03053303 ld t1,48(a0)
+ 8000005c: 03853383 ld t2,56(a0)
+ 80000060: 04053403 ld s0,64(a0)
+ 80000064: 04853483 ld s1,72(a0)
+ 80000068: 05853583 ld a1,88(a0)
+ 8000006c: 06053603 ld a2,96(a0)
+ 80000070: 06853683 ld a3,104(a0)
+ 80000074: 07053703 ld a4,112(a0)
+ 80000078: 07853783 ld a5,120(a0)
+ 8000007c: 08053803 ld a6,128(a0)
+ 80000080: 08853883 ld a7,136(a0)
+ 80000084: 09053903 ld s2,144(a0)
+ 80000088: 09853983 ld s3,152(a0)
+ 8000008c: 0a053a03 ld s4,160(a0)
+ 80000090: 0a853a83 ld s5,168(a0)
+ 80000094: 0b053b03 ld s6,176(a0)
+ 80000098: 0b853b83 ld s7,184(a0)
+ 8000009c: 0c053c03 ld s8,192(a0)
+ 800000a0: 0c853c83 ld s9,200(a0)
+ 800000a4: 0d053d03 ld s10,208(a0)
+ 800000a8: 0d853d83 ld s11,216(a0)
+ 800000ac: 0e053e03 ld t3,224(a0)
+ 800000b0: 0e853e83 ld t4,232(a0)
+ 800000b4: 0f053f03 ld t5,240(a0)
+ 800000b8: 0f853f83 ld t6,248(a0)
+ 800000bc: 05053503 ld a0,80(a0)
+ 800000c0: 10200073 sret
+
+00000000800000c4 <trap_entry>:
+ 800000c4: 14011173 csrrw sp,sscratch,sp
+ 800000c8: 00113423 sd ra,8(sp)
+ 800000cc: 00313c23 sd gp,24(sp)
+ 800000d0: 02413023 sd tp,32(sp)
+ 800000d4: 02513423 sd t0,40(sp)
+ 800000d8: 02613823 sd t1,48(sp)
+ 800000dc: 02713c23 sd t2,56(sp)
+ 800000e0: 04813023 sd s0,64(sp)
+ 800000e4: 04913423 sd s1,72(sp)
+ 800000e8: 04a13823 sd a0,80(sp)
+ 800000ec: 04b13c23 sd a1,88(sp)
+ 800000f0: 06c13023 sd a2,96(sp)
+ 800000f4: 06d13423 sd a3,104(sp)
+ 800000f8: 06e13823 sd a4,112(sp)
+ 800000fc: 06f13c23 sd a5,120(sp)
+ 80000100: 09013023 sd a6,128(sp)
+ 80000104: 09113423 sd a7,136(sp)
+ 80000108: 09213823 sd s2,144(sp)
+ 8000010c: 09313c23 sd s3,152(sp)
+ 80000110: 0b413023 sd s4,160(sp)
+ 80000114: 0b513423 sd s5,168(sp)
+ 80000118: 0b613823 sd s6,176(sp)
+ 8000011c: 0b713c23 sd s7,184(sp)
+ 80000120: 0d813023 sd s8,192(sp)
+ 80000124: 0d913423 sd s9,200(sp)
+ 80000128: 0da13823 sd s10,208(sp)
+ 8000012c: 0db13c23 sd s11,216(sp)
+ 80000130: 0fc13023 sd t3,224(sp)
+ 80000134: 0fd13423 sd t4,232(sp)
+ 80000138: 0fe13823 sd t5,240(sp)
+ 8000013c: 0ff13c23 sd t6,248(sp)
+ 80000140: 140112f3 csrrw t0,sscratch,sp
+ 80000144: 00513823 sd t0,16(sp)
+ 80000148: 100022f3 csrr t0,sstatus
+ 8000014c: 10513023 sd t0,256(sp)
+ 80000150: 141022f3 csrr t0,sepc
+ 80000154: 10513423 sd t0,264(sp)
+ 80000158: 143022f3 csrr t0,stval
+ 8000015c: 10513823 sd t0,272(sp)
+ 80000160: 142022f3 csrr t0,scause
+ 80000164: 10513c23 sd t0,280(sp)
+ 80000168: 00010513 mv a0,sp
+ 8000016c: 4300206f j 8000259c <handle_trap>
+
+Disassembly of section .text:
+
+0000000080002000 <memcpy>:
+ 80002000: 00c5e7b3 or a5,a1,a2
+ 80002004: 00f567b3 or a5,a0,a5
+ 80002008: 0077f793 andi a5,a5,7
+ 8000200c: 00c506b3 add a3,a0,a2
+ 80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+ 80002014: 00c58633 add a2,a1,a2
+ 80002018: 00050793 mv a5,a0
+ 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+ 80002020: 00158593 addi a1,a1,1
+ 80002024: fff5c703 lbu a4,-1(a1)
+ 80002028: 00178793 addi a5,a5,1
+ 8000202c: fee78fa3 sb a4,-1(a5)
+ 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+ 80002034: 00008067 ret
+ 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+ 8000203c: 00050793 mv a5,a0
+ 80002040: 00858593 addi a1,a1,8
+ 80002044: ff85b703 ld a4,-8(a1)
+ 80002048: 00878793 addi a5,a5,8
+ 8000204c: fee7bc23 sd a4,-8(a5)
+ 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+ 80002054: 00008067 ret
+ 80002058: 00008067 ret
+
+000000008000205c <memset>:
+ 8000205c: 00c567b3 or a5,a0,a2
+ 80002060: 0077f793 andi a5,a5,7
+ 80002064: 00c50633 add a2,a0,a2
+ 80002068: 0ff5f593 andi a1,a1,255
+ 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c>
+ 80002070: 00050793 mv a5,a0
+ 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c>
+ 80002078: 00178793 addi a5,a5,1
+ 8000207c: feb78fa3 sb a1,-1(a5)
+ 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+ 80002084: 00008067 ret
+ 80002088: 00859793 slli a5,a1,0x8
+ 8000208c: 00b7e5b3 or a1,a5,a1
+ 80002090: 01059793 slli a5,a1,0x10
+ 80002094: 00b7e7b3 or a5,a5,a1
+ 80002098: 02079593 slli a1,a5,0x20
+ 8000209c: 00f5e5b3 or a1,a1,a5
+ 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28>
+ 800020a4: 00050793 mv a5,a0
+ 800020a8: 00878793 addi a5,a5,8
+ 800020ac: feb7bc23 sd a1,-8(a5)
+ 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c>
+ 800020b4: 00008067 ret
+ 800020b8: 00008067 ret
+
+00000000800020bc <strlen>:
+ 800020bc: 00054783 lbu a5,0(a0)
+ 800020c0: 00050713 mv a4,a0
+ 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20>
+ 800020c8: 00150513 addi a0,a0,1
+ 800020cc: 00054783 lbu a5,0(a0)
+ 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc>
+ 800020d4: 40e50533 sub a0,a0,a4
+ 800020d8: 00008067 ret
+ 800020dc: 00000513 li a0,0
+ 800020e0: 00008067 ret
+
+00000000800020e4 <strcmp>:
+ 800020e4: 00150513 addi a0,a0,1
+ 800020e8: fff54783 lbu a5,-1(a0)
+ 800020ec: 00158593 addi a1,a1,1
+ 800020f0: fff5c703 lbu a4,-1(a1)
+ 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24>
+ 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp>
+ 800020fc: 0007851b sext.w a0,a5
+ 80002100: 40e5053b subw a0,a0,a4
+ 80002104: 00008067 ret
+ 80002108: 00000513 li a0,0
+ 8000210c: ff5ff06f j 80002100 <strcmp+0x1c>
+
+0000000080002110 <memcmp>:
+ 80002110: 00b567b3 or a5,a0,a1
+ 80002114: 0077f793 andi a5,a5,7
+ 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c>
+ 8000211c: ff867693 andi a3,a2,-8
+ 80002120: 00d506b3 add a3,a0,a3
+ 80002124: 00050813 mv a6,a0
+ 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c>
+ 8000212c: 00053703 ld a4,0(a0)
+ 80002130: 0005b783 ld a5,0(a1)
+ 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38>
+ 80002138: 0240006f j 8000215c <memcmp+0x4c>
+ 8000213c: 00053703 ld a4,0(a0)
+ 80002140: 0005b783 ld a5,0(a1)
+ 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44>
+ 80002148: 00850513 addi a0,a0,8
+ 8000214c: 00858593 addi a1,a1,8
+ 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c>
+ 80002154: 41050833 sub a6,a0,a6
+ 80002158: 41060633 sub a2,a2,a6
+ 8000215c: 00c58633 add a2,a1,a2
+ 80002160: 0140006f j 80002174 <memcmp+0x64>
+ 80002164: 00158593 addi a1,a1,1
+ 80002168: fff54783 lbu a5,-1(a0)
+ 8000216c: fff5c703 lbu a4,-1(a1)
+ 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74>
+ 80002174: 00150513 addi a0,a0,1
+ 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54>
+ 8000217c: 00000513 li a0,0
+ 80002180: 00008067 ret
+ 80002184: 40e7853b subw a0,a5,a4
+ 80002188: 00008067 ret
+
+000000008000218c <strcpy>:
+ 8000218c: 00050793 mv a5,a0
+ 80002190: 00158593 addi a1,a1,1
+ 80002194: fff5c703 lbu a4,-1(a1)
+ 80002198: 00178793 addi a5,a5,1
+ 8000219c: fee78fa3 sb a4,-1(a5)
+ 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4>
+ 800021a4: 00008067 ret
+
+00000000800021a8 <atol>:
+ 800021a8: 00054783 lbu a5,0(a0)
+ 800021ac: 02000713 li a4,32
+ 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18>
+ 800021b4: 00150513 addi a0,a0,1
+ 800021b8: 00054783 lbu a5,0(a0)
+ 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc>
+ 800021c0: fd57871b addiw a4,a5,-43
+ 800021c4: 0fd77713 andi a4,a4,253
+ 800021c8: 04070263 beqz a4,8000220c <atol+0x64>
+ 800021cc: 00054683 lbu a3,0(a0)
+ 800021d0: 00050793 mv a5,a0
+ 800021d4: 00000613 li a2,0
+ 800021d8: 04068863 beqz a3,80002228 <atol+0x80>
+ 800021dc: 00000513 li a0,0
+ 800021e0: 00178793 addi a5,a5,1
+ 800021e4: fd06859b addiw a1,a3,-48
+ 800021e8: 00251713 slli a4,a0,0x2
+ 800021ec: 0007c683 lbu a3,0(a5)
+ 800021f0: 00a70533 add a0,a4,a0
+ 800021f4: 00151513 slli a0,a0,0x1
+ 800021f8: 00a58533 add a0,a1,a0
+ 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38>
+ 80002200: 00060463 beqz a2,80002208 <atol+0x60>
+ 80002204: 40a00533 neg a0,a0
+ 80002208: 00008067 ret
+ 8000220c: 00154683 lbu a3,1(a0)
+ 80002210: fd378793 addi a5,a5,-45
+ 80002214: 0017b613 seqz a2,a5
+ 80002218: 00150793 addi a5,a0,1
+ 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34>
+ 80002220: 00000513 li a0,0
+ 80002224: fddff06f j 80002200 <atol+0x58>
+ 80002228: 00000513 li a0,0
+ 8000222c: 00008067 ret
+
+0000000080002230 <terminate>:
+ 80002230: fffff797 auipc a5,0xfffff
+ 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost>
+ 80002238: 0007b703 ld a4,0(a5)
+ 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20>
+ 80002240: fffff717 auipc a4,0xfffff
+ 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost>
+ 80002248: 0007b703 ld a4,0(a5)
+ 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10>
+ 80002250: fffff797 auipc a5,0xfffff
+ 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost>
+ 80002258: 0000006f j 80002258 <terminate+0x28>
+
+000000008000225c <wtf>:
+ 8000225c: ff010113 addi sp,sp,-16
+ 80002260: 34900513 li a0,841
+ 80002264: 00113423 sd ra,8(sp)
+ 80002268: fc9ff0ef jal ra,80002230 <terminate>
+
+000000008000226c <printhex>:
+ 8000226c: fe010113 addi sp,sp,-32
+ 80002270: 01710713 addi a4,sp,23
+ 80002274: 00710813 addi a6,sp,7
+ 80002278: 00900593 li a1,9
+ 8000227c: 00f57793 andi a5,a0,15
+ 80002280: 03000613 li a2,48
+ 80002284: 0ff7f693 andi a3,a5,255
+ 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24>
+ 8000228c: 05700613 li a2,87
+ 80002290: 00c687bb addw a5,a3,a2
+ 80002294: 00f70023 sb a5,0(a4)
+ 80002298: fff70713 addi a4,a4,-1
+ 8000229c: 00455513 srli a0,a0,0x4
+ 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10>
+ 800022a4: 00814783 lbu a5,8(sp)
+ 800022a8: 00010c23 sb zero,24(sp)
+ 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88>
+ 800022b0: 10100513 li a0,257
+ 800022b4: 00810693 addi a3,sp,8
+ 800022b8: fffff717 auipc a4,0xfffff
+ 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost>
+ 800022c0: 03051513 slli a0,a0,0x30
+ 800022c4: 00073583 ld a1,0(a4)
+ 800022c8: 00168693 addi a3,a3,1
+ 800022cc: 00a7e633 or a2,a5,a0
+ 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78>
+ 800022d4: fffff797 auipc a5,0xfffff
+ 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost>
+ 800022dc: 00073783 ld a5,0(a4)
+ 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68>
+ 800022e4: 0006c783 lbu a5,0(a3)
+ 800022e8: fffff597 auipc a1,0xfffff
+ 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost>
+ 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58>
+ 800022f4: 02010113 addi sp,sp,32
+ 800022f8: 00008067 ret
+
+00000000800022fc <handle_fault>:
+ 800022fc: fffff8b7 lui a7,0xfffff
+ 80002300: 01150733 add a4,a0,a7
+ 80002304: 0003e7b7 lui a5,0x3e
+ 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154>
+ 8000230c: 00c55693 srli a3,a0,0xc
+ 80002310: 60068813 addi a6,a3,1536
+ 80002314: 00002617 auipc a2,0x2
+ 80002318: cec60613 addi a2,a2,-788 # 80004000 <pt>
+ 8000231c: 00381793 slli a5,a6,0x3
+ 80002320: 00f607b3 add a5,a2,a5
+ 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000>
+ 80002328: 01157533 and a0,a0,a7
+ 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110>
+ 80002330: 00006797 auipc a5,0x6
+ 80002334: 4b878793 addi a5,a5,1208 # 800087e8 <freelist_head>
+ 80002338: 0007b583 ld a1,0(a5)
+ 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0>
+ 80002340: 0085b783 ld a5,8(a1)
+ 80002344: 00006717 auipc a4,0x6
+ 80002348: 49c70713 addi a4,a4,1180 # 800087e0 <freelist_tail>
+ 8000234c: 00073703 ld a4,0(a4)
+ 80002350: 00006897 auipc a7,0x6
+ 80002354: 48f8bc23 sd a5,1176(a7) # 800087e8 <freelist_head>
+ 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148>
+ 8000235c: 0005b783 ld a5,0(a1)
+ 80002360: 00381893 slli a7,a6,0x3
+ 80002364: 011608b3 add a7,a2,a7
+ 80002368: 00c7d793 srli a5,a5,0xc
+ 8000236c: 00a79793 slli a5,a5,0xa
+ 80002370: 0df7e313 ori t1,a5,223
+ 80002374: 01f7e713 ori a4,a5,31
+ 80002378: 0068b023 sd t1,0(a7)
+ 8000237c: 12050073 sfence.vma a0
+ 80002380: 00006797 auipc a5,0x6
+ 80002384: 07078793 addi a5,a5,112 # 800083f0 <user_mapping>
+ 80002388: 00469693 slli a3,a3,0x4
+ 8000238c: 00d786b3 add a3,a5,a3
+ 80002390: 0006b783 ld a5,0(a3)
+ 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200>
+ 80002398: 0005b783 ld a5,0(a1)
+ 8000239c: 00f6b023 sd a5,0(a3)
+ 800023a0: 0085b783 ld a5,8(a1)
+ 800023a4: 00f6b423 sd a5,8(a3)
+ 800023a8: 000407b7 lui a5,0x40
+ 800023ac: 1007a8f3 csrrs a7,sstatus,a5
+ 800023b0: ffe007b7 lui a5,0xffe00
+ 800023b4: 00f507b3 add a5,a0,a5
+ 800023b8: 000015b7 lui a1,0x1
+ 800023bc: 00050693 mv a3,a0
+ 800023c0: 00b785b3 add a1,a5,a1
+ 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf7810>
+ 800023c8: 0087be83 ld t4,8(a5)
+ 800023cc: 0107be03 ld t3,16(a5)
+ 800023d0: 0187b303 ld t1,24(a5)
+ 800023d4: 01e6b023 sd t5,0(a3)
+ 800023d8: 01d6b423 sd t4,8(a3)
+ 800023dc: 01c6b823 sd t3,16(a3)
+ 800023e0: 0066bc23 sd t1,24(a3)
+ 800023e4: 02078793 addi a5,a5,32
+ 800023e8: 02068693 addi a3,a3,32
+ 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8>
+ 800023f0: 10089073 csrw sstatus,a7
+ 800023f4: 00381813 slli a6,a6,0x3
+ 800023f8: 01060633 add a2,a2,a6
+ 800023fc: 00e63023 sd a4,0(a2)
+ 80002400: 12050073 sfence.vma a0
+ 80002404: 0000100f fence.i
+ 80002408: 00008067 ret
+ 8000240c: 04077693 andi a3,a4,64
+ 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128>
+ 80002414: 04076713 ori a4,a4,64
+ 80002418: 00e7b023 sd a4,0(a5)
+ 8000241c: 12050073 sfence.vma a0
+ 80002420: 00008067 ret
+ 80002424: 08077693 andi a3,a4,128
+ 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250>
+ 8000242c: 00f00693 li a3,15
+ 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250>
+ 80002434: 08076713 ori a4,a4,128
+ 80002438: 00e7b023 sd a4,0(a5)
+ 8000243c: 12050073 sfence.vma a0
+ 80002440: 00008067 ret
+ 80002444: 00006797 auipc a5,0x6
+ 80002448: 3807be23 sd zero,924(a5) # 800087e0 <freelist_tail>
+ 8000244c: f11ff06f j 8000235c <handle_fault+0x60>
+ 80002450: 10100613 li a2,257
+ 80002454: 04100713 li a4,65
+ 80002458: 00000697 auipc a3,0x0
+ 8000245c: 7b868693 addi a3,a3,1976 # 80002c10 <pass+0x10>
+ 80002460: fffff797 auipc a5,0xfffff
+ 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost>
+ 80002468: 03061613 slli a2,a2,0x30
+ 8000246c: 0007b503 ld a0,0(a5)
+ 80002470: 00168693 addi a3,a3,1
+ 80002474: 00c765b3 or a1,a4,a2
+ 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190>
+ 8000247c: fffff717 auipc a4,0xfffff
+ 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost>
+ 80002484: 0007b703 ld a4,0(a5)
+ 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180>
+ 8000248c: 0006c703 lbu a4,0(a3)
+ 80002490: fffff517 auipc a0,0xfffff
+ 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost>
+ 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170>
+ 8000249c: ff010113 addi sp,sp,-16
+ 800024a0: 00300513 li a0,3
+ 800024a4: 00113423 sd ra,8(sp)
+ 800024a8: d89ff0ef jal ra,80002230 <terminate>
+ 800024ac: 10100693 li a3,257
+ 800024b0: 04100713 li a4,65
+ 800024b4: 00000617 auipc a2,0x0
+ 800024b8: 7ec60613 addi a2,a2,2028 # 80002ca0 <pass+0xa0>
+ 800024bc: fffff797 auipc a5,0xfffff
+ 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost>
+ 800024c4: 03069693 slli a3,a3,0x30
+ 800024c8: 0007b503 ld a0,0(a5)
+ 800024cc: 00160613 addi a2,a2,1
+ 800024d0: 00d765b3 or a1,a4,a3
+ 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec>
+ 800024d8: fffff717 auipc a4,0xfffff
+ 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost>
+ 800024e0: 0007b703 ld a4,0(a5)
+ 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc>
+ 800024e8: 00064703 lbu a4,0(a2)
+ 800024ec: fffff517 auipc a0,0xfffff
+ 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost>
+ 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc>
+ 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0>
+ 800024fc: 10100693 li a3,257
+ 80002500: 04100713 li a4,65
+ 80002504: 00000617 auipc a2,0x0
+ 80002508: 7b460613 addi a2,a2,1972 # 80002cb8 <pass+0xb8>
+ 8000250c: fffff797 auipc a5,0xfffff
+ 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost>
+ 80002514: 03069693 slli a3,a3,0x30
+ 80002518: 0007b503 ld a0,0(a5)
+ 8000251c: 00160613 addi a2,a2,1
+ 80002520: 00d765b3 or a1,a4,a3
+ 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c>
+ 80002528: fffff717 auipc a4,0xfffff
+ 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost>
+ 80002530: 0007b703 ld a4,0(a5)
+ 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c>
+ 80002538: 00064703 lbu a4,0(a2)
+ 8000253c: fffff517 auipc a0,0xfffff
+ 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost>
+ 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c>
+ 80002548: f55ff06f j 8000249c <handle_fault+0x1a0>
+ 8000254c: 10100613 li a2,257
+ 80002550: 04100713 li a4,65
+ 80002554: 00000697 auipc a3,0x0
+ 80002558: 70468693 addi a3,a3,1796 # 80002c58 <pass+0x58>
+ 8000255c: fffff797 auipc a5,0xfffff
+ 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost>
+ 80002564: 03061613 slli a2,a2,0x30
+ 80002568: 0007b503 ld a0,0(a5)
+ 8000256c: 00168693 addi a3,a3,1
+ 80002570: 00c765b3 or a1,a4,a2
+ 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c>
+ 80002578: fffff717 auipc a4,0xfffff
+ 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost>
+ 80002580: 0007b703 ld a4,0(a5)
+ 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c>
+ 80002588: 0006c703 lbu a4,0(a3)
+ 8000258c: fffff517 auipc a0,0xfffff
+ 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost>
+ 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c>
+ 80002598: f05ff06f j 8000249c <handle_fault+0x1a0>
+
+000000008000259c <handle_trap>:
+ 8000259c: 11853583 ld a1,280(a0)
+ 800025a0: f9010113 addi sp,sp,-112
+ 800025a4: 06813023 sd s0,96(sp)
+ 800025a8: 06113423 sd ra,104(sp)
+ 800025ac: 04913c23 sd s1,88(sp)
+ 800025b0: 05213823 sd s2,80(sp)
+ 800025b4: 05313423 sd s3,72(sp)
+ 800025b8: 05413023 sd s4,64(sp)
+ 800025bc: 03513c23 sd s5,56(sp)
+ 800025c0: 03613823 sd s6,48(sp)
+ 800025c4: 03713423 sd s7,40(sp)
+ 800025c8: 03813023 sd s8,32(sp)
+ 800025cc: 01913c23 sd s9,24(sp)
+ 800025d0: 01a13823 sd s10,16(sp)
+ 800025d4: 01b13423 sd s11,8(sp)
+ 800025d8: 00800793 li a5,8
+ 800025dc: 00050413 mv s0,a0
+ 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178>
+ 800025e4: 00200793 li a5,2
+ 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac>
+ 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c>
+ 800025f0: 00100713 li a4,1
+ 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64>
+ 800025f8: 00f00793 li a5,15
+ 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248>
+ 80002600: 11043503 ld a0,272(s0)
+ 80002604: cf9ff0ef jal ra,800022fc <handle_fault>
+ 80002608: 00040513 mv a0,s0
+ 8000260c: 06013403 ld s0,96(sp)
+ 80002610: 06813083 ld ra,104(sp)
+ 80002614: 05813483 ld s1,88(sp)
+ 80002618: 05013903 ld s2,80(sp)
+ 8000261c: 04813983 ld s3,72(sp)
+ 80002620: 04013a03 ld s4,64(sp)
+ 80002624: 03813a83 ld s5,56(sp)
+ 80002628: 03013b03 ld s6,48(sp)
+ 8000262c: 02813b83 ld s7,40(sp)
+ 80002630: 02013c03 ld s8,32(sp)
+ 80002634: 01813c83 ld s9,24(sp)
+ 80002638: 01013d03 ld s10,16(sp)
+ 8000263c: 00813d83 ld s11,8(sp)
+ 80002640: 07010113 addi sp,sp,112
+ 80002644: 9f9fd06f j 8000003c <pop_tf>
+ 80002648: 10853703 ld a4,264(a0)
+ 8000264c: 00377793 andi a5,a4,3
+ 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128>
+ 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0>
+ 80002658: 00301073 fssr zero
+ 8000265c: 00072703 lw a4,0(a4)
+ 80002660: 0007a783 lw a5,0(a5)
+ 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120>
+ 80002668: 10100513 li a0,257
+ 8000266c: 04100793 li a5,65
+ 80002670: 00000697 auipc a3,0x0
+ 80002674: 72068693 addi a3,a3,1824 # 80002d90 <pass+0x190>
+ 80002678: fffff717 auipc a4,0xfffff
+ 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost>
+ 80002680: 03051513 slli a0,a0,0x30
+ 80002684: 00073583 ld a1,0(a4)
+ 80002688: 00168693 addi a3,a3,1
+ 8000268c: 00a7e633 or a2,a5,a0
+ 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108>
+ 80002694: fffff797 auipc a5,0xfffff
+ 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost>
+ 8000269c: 00073783 ld a5,0(a4)
+ 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8>
+ 800026a4: 0006c783 lbu a5,0(a3)
+ 800026a8: fffff597 auipc a1,0xfffff
+ 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost>
+ 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8>
+ 800026b4: 00300513 li a0,3
+ 800026b8: b79ff0ef jal ra,80002230 <terminate>
+ 800026bc: 00100513 li a0,1
+ 800026c0: b71ff0ef jal ra,80002230 <terminate>
+ 800026c4: 10100793 li a5,257
+ 800026c8: 00000617 auipc a2,0x0
+ 800026cc: 6a060613 addi a2,a2,1696 # 80002d68 <pass+0x168>
+ 800026d0: 04100693 li a3,65
+ 800026d4: fffff717 auipc a4,0xfffff
+ 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost>
+ 800026dc: 03079793 slli a5,a5,0x30
+ 800026e0: 00073503 ld a0,0(a4)
+ 800026e4: 00160613 addi a2,a2,1
+ 800026e8: 00f6e5b3 or a1,a3,a5
+ 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164>
+ 800026f0: fffff697 auipc a3,0xfffff
+ 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost>
+ 800026f8: 00073683 ld a3,0(a4)
+ 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154>
+ 80002700: 00064683 lbu a3,0(a2)
+ 80002704: fffff517 auipc a0,0xfffff
+ 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost>
+ 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144>
+ 80002710: fa5ff06f j 800026b4 <handle_trap+0x118>
+ 80002714: 05052983 lw s3,80(a0)
+ 80002718: 00001437 lui s0,0x1
+ 8000271c: 00006d17 auipc s10,0x6
+ 80002720: cd4d0d13 addi s10,s10,-812 # 800083f0 <user_mapping>
+ 80002724: 00002b97 auipc s7,0x2
+ 80002728: 8dcb8b93 addi s7,s7,-1828 # 80004000 <pt>
+ 8000272c: 00040b37 lui s6,0x40
+ 80002730: ffe00ab7 lui s5,0xffe00
+ 80002734: 00006a17 auipc s4,0x6
+ 80002738: 0aca0a13 addi s4,s4,172 # 800087e0 <freelist_tail>
+ 8000273c: 0003f937 lui s2,0x3f
+ 80002740: 01c0006f j 8000275c <handle_trap+0x1c0>
+ 80002744: 00f73423 sd a5,8(a4)
+ 80002748: 00006717 auipc a4,0x6
+ 8000274c: 08f73c23 sd a5,152(a4) # 800087e0 <freelist_tail>
+ 80002750: 000017b7 lui a5,0x1
+ 80002754: 00f40433 add s0,s0,a5
+ 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308>
+ 8000275c: 00c45793 srli a5,s0,0xc
+ 80002760: 00479493 slli s1,a5,0x4
+ 80002764: 009d0733 add a4,s10,s1
+ 80002768: 00073703 ld a4,0(a4)
+ 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4>
+ 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00>
+ 80002774: 00379793 slli a5,a5,0x3
+ 80002778: 00fb87b3 add a5,s7,a5
+ 8000277c: 0007bc03 ld s8,0(a5)
+ 80002780: 040c7793 andi a5,s8,64
+ 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0>
+ 80002788: 100b2cf3 csrrs s9,sstatus,s6
+ 8000278c: 01540db3 add s11,s0,s5
+ 80002790: 00001637 lui a2,0x1
+ 80002794: 000d8593 mv a1,s11
+ 80002798: 00040513 mv a0,s0
+ 8000279c: 975ff0ef jal ra,80002110 <memcmp>
+ 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220>
+ 800027a4: 080c7c13 andi s8,s8,128
+ 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298>
+ 800027ac: 00001637 lui a2,0x1
+ 800027b0: 000d8593 mv a1,s11
+ 800027b4: 00040513 mv a0,s0
+ 800027b8: 849ff0ef jal ra,80002000 <memcpy>
+ 800027bc: 009d07b3 add a5,s10,s1
+ 800027c0: 100c9073 csrw sstatus,s9
+ 800027c4: 000a3703 ld a4,0(s4)
+ 800027c8: 0007b023 sd zero,0(a5)
+ 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8>
+ 800027d0: 00006717 auipc a4,0x6
+ 800027d4: 00f73823 sd a5,16(a4) # 800087e0 <freelist_tail>
+ 800027d8: 00006717 auipc a4,0x6
+ 800027dc: 00f73823 sd a5,16(a4) # 800087e8 <freelist_head>
+ 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4>
+ 800027e4: 10100793 li a5,257
+ 800027e8: 04100613 li a2,65
+ 800027ec: 00000697 auipc a3,0x0
+ 800027f0: 5d468693 addi a3,a3,1492 # 80002dc0 <pass+0x1c0>
+ 800027f4: fffff717 auipc a4,0xfffff
+ 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost>
+ 800027fc: 03079793 slli a5,a5,0x30
+ 80002800: 00073503 ld a0,0(a4)
+ 80002804: 00168693 addi a3,a3,1
+ 80002808: 00f665b3 or a1,a2,a5
+ 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284>
+ 80002810: fffff617 auipc a2,0xfffff
+ 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost>
+ 80002818: 00073603 ld a2,0(a4)
+ 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274>
+ 80002820: 0006c603 lbu a2,0(a3)
+ 80002824: ffffe517 auipc a0,0xffffe
+ 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost>
+ 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264>
+ 80002830: e85ff06f j 800026b4 <handle_trap+0x118>
+ 80002834: 10100793 li a5,257
+ 80002838: 04100613 li a2,65
+ 8000283c: 00000697 auipc a3,0x0
+ 80002840: 4f468693 addi a3,a3,1268 # 80002d30 <pass+0x130>
+ 80002844: ffffe717 auipc a4,0xffffe
+ 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost>
+ 8000284c: 03079793 slli a5,a5,0x30
+ 80002850: 00168693 addi a3,a3,1
+ 80002854: 00f665b3 or a1,a2,a5
+ 80002858: 00073603 ld a2,0(a4)
+ 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310>
+ 80002860: ffffe617 auipc a2,0xffffe
+ 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost>
+ 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc>
+ 8000286c: 10100793 li a5,257
+ 80002870: 04100613 li a2,65
+ 80002874: 00000697 auipc a3,0x0
+ 80002878: 48468693 addi a3,a3,1156 # 80002cf8 <pass+0xf8>
+ 8000287c: ffffe717 auipc a4,0xffffe
+ 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost>
+ 80002884: 03079793 slli a5,a5,0x30
+ 80002888: 00168693 addi a3,a3,1
+ 8000288c: 00f665b3 or a1,a2,a5
+ 80002890: 00073603 ld a2,0(a4)
+ 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324>
+ 80002898: ffffe617 auipc a2,0xffffe
+ 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost>
+ 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4>
+ 800028a4: 00098513 mv a0,s3
+ 800028a8: 989ff0ef jal ra,80002230 <terminate>
+ 800028ac: 0006c603 lbu a2,0(a3)
+ 800028b0: ffffe517 auipc a0,0xffffe
+ 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost>
+ 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4>
+ 800028bc: df9ff06f j 800026b4 <handle_trap+0x118>
+ 800028c0: 0006c603 lbu a2,0(a3)
+ 800028c4: ffffe517 auipc a0,0xffffe
+ 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost>
+ 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec>
+ 800028d0: de5ff06f j 800026b4 <handle_trap+0x118>
+
+00000000800028d4 <vm_boot>:
+ 800028d4: f14027f3 csrr a5,mhartid
+ 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198>
+ 800028dc: 00002697 auipc a3,0x2
+ 800028e0: 72468693 addi a3,a3,1828 # 80005000 <pt+0x1000>
+ 800028e4: 00003717 auipc a4,0x3
+ 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <pt+0x2000>
+ 800028ec: 00c6d693 srli a3,a3,0xc
+ 800028f0: 00c75713 srli a4,a4,0xc
+ 800028f4: 00004797 auipc a5,0x4
+ 800028f8: 70c78793 addi a5,a5,1804 # 80007000 <pt+0x3000>
+ 800028fc: 00a69693 slli a3,a3,0xa
+ 80002900: 00a71713 slli a4,a4,0xa
+ 80002904: 0016e693 ori a3,a3,1
+ 80002908: 00176713 ori a4,a4,1
+ 8000290c: 00c7d793 srli a5,a5,0xc
+ 80002910: 00001897 auipc a7,0x1
+ 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <pt>
+ 80002918: 00a79793 slli a5,a5,0xa
+ 8000291c: 00002697 auipc a3,0x2
+ 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <pt+0xff8>
+ 80002924: 20000737 lui a4,0x20000
+ 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31>
+ 8000292c: fff00593 li a1,-1
+ 80002930: 0017e793 ori a5,a5,1
+ 80002934: 00001617 auipc a2,0x1
+ 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <pt>
+ 8000293c: ed010113 addi sp,sp,-304
+ 80002940: 03f59813 slli a6,a1,0x3f
+ 80002944: 00004697 auipc a3,0x4
+ 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <pt+0x2ff8>
+ 8000294c: 00002717 auipc a4,0x2
+ 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <pt+0x1000>
+ 80002954: 00c65793 srli a5,a2,0xc
+ 80002958: 12113423 sd ra,296(sp)
+ 8000295c: 12813023 sd s0,288(sp)
+ 80002960: 0107e7b3 or a5,a5,a6
+ 80002964: 18079073 csrw satp,a5
+ 80002968: 01f00793 li a5,31
+ 8000296c: 00000297 auipc t0,0x0
+ 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac>
+ 80002974: 305292f3 csrrw t0,mtvec,t0
+ 80002978: 3b059073 csrw pmpaddr0,a1
+ 8000297c: 3a079073 csrw pmpcfg0,a5
+ 80002980: bff00813 li a6,-1025
+ 80002984: 01581813 slli a6,a6,0x15
+ 80002988: ffffd797 auipc a5,0xffffd
+ 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry>
+ 80002990: 010787b3 add a5,a5,a6
+ 80002994: 10579073 csrw stvec,a5
+ 80002998: 340027f3 csrr a5,mscratch
+ 8000299c: 010787b3 add a5,a5,a6
+ 800029a0: 14079073 csrw sscratch,a5
+ 800029a4: 0000b7b7 lui a5,0xb
+ 800029a8: 1007879b addiw a5,a5,256
+ 800029ac: 30279073 csrw medeleg,a5
+ 800029b0: 0001e7b7 lui a5,0x1e
+ 800029b4: 30079073 csrw mstatus,a5
+ 800029b8: 30405073 csrwi mie,0
+ 800029bc: 00005697 auipc a3,0x5
+ 800029c0: 64468693 addi a3,a3,1604 # 80008000 <freelist_nodes>
+ 800029c4: 010687b3 add a5,a3,a6
+ 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20>
+ 800029cc: 00006617 auipc a2,0x6
+ 800029d0: e0f63e23 sd a5,-484(a2) # 800087e8 <freelist_head>
+ 800029d4: 00006797 auipc a5,0x6
+ 800029d8: e0e7b623 sd a4,-500(a5) # 800087e0 <freelist_tail>
+ 800029dc: 00006317 auipc t1,0x6
+ 800029e0: a1430313 addi t1,t1,-1516 # 800083f0 <user_mapping>
+ 800029e4: 02c00793 li a5,44
+ 800029e8: 000808b7 lui a7,0x80
+ 800029ec: 01080813 addi a6,a6,16
+ 800029f0: 03f7871b addiw a4,a5,63
+ 800029f4: 02071713 slli a4,a4,0x20
+ 800029f8: 0017d61b srliw a2,a5,0x1
+ 800029fc: 02075713 srli a4,a4,0x20
+ 80002a00: 00c7c7b3 xor a5,a5,a2
+ 80002a04: 01170733 add a4,a4,a7
+ 80002a08: 010685b3 add a1,a3,a6
+ 80002a0c: 00c71713 slli a4,a4,0xc
+ 80002a10: 0057979b slliw a5,a5,0x5
+ 80002a14: 00e6b023 sd a4,0(a3)
+ 80002a18: 00b6b423 sd a1,8(a3)
+ 80002a1c: 0207f793 andi a5,a5,32
+ 80002a20: 01068693 addi a3,a3,16
+ 80002a24: 00c7e7b3 or a5,a5,a2
+ 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c>
+ 80002a2c: 00050413 mv s0,a0
+ 80002a30: 12000613 li a2,288
+ 80002a34: 00000593 li a1,0
+ 80002a38: 00010513 mv a0,sp
+ 80002a3c: 00006797 auipc a5,0x6
+ 80002a40: 9a07b623 sd zero,-1620(a5) # 800083e8 <freelist_nodes+0x3e8>
+ 80002a44: e18ff0ef jal ra,8000205c <memset>
+ 80002a48: 800007b7 lui a5,0x80000
+ 80002a4c: 00f40433 add s0,s0,a5
+ 80002a50: 00010513 mv a0,sp
+ 80002a54: 10813423 sd s0,264(sp)
+ 80002a58: de4fd0ef jal ra,8000003c <pop_tf>
+ 80002a5c: 12813083 ld ra,296(sp)
+ 80002a60: 12013403 ld s0,288(sp)
+ 80002a64: 13010113 addi sp,sp,304
+ 80002a68: 00008067 ret
+ 80002a6c: 046787b7 lui a5,0x4678
+ 80002a70: 000805b7 lui a1,0x80
+ 80002a74: 34878793 addi a5,a5,840 # 4678348 <_start-0x7b987cb8>
+ 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004>
+ 80002a7c: 00100613 li a2,1
+ 80002a80: 00b7f733 and a4,a5,a1
+ 80002a84: 01f61613 slli a2,a2,0x1f
+ 80002a88: 0017f693 andi a3,a5,1
+ 80002a8c: 02079793 slli a5,a5,0x20
+ 80002a90: 0207d793 srli a5,a5,0x20
+ 80002a94: 00c70733 add a4,a4,a2
+ 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8>
+ 80002a9c: 0007202f amoadd.w zero,zero,(a4)
+ 80002aa0: 0017d793 srli a5,a5,0x1
+ 80002aa4: 00b7f733 and a4,a5,a1
+ 80002aa8: 0017f693 andi a3,a5,1
+ 80002aac: 02079793 slli a5,a5,0x20
+ 80002ab0: 0207d793 srli a5,a5,0x20
+ 80002ab4: 00c70733 add a4,a4,a2
+ 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8>
+ 80002abc: 00072003 lw zero,0(a4)
+ 80002ac0: 0017d793 srli a5,a5,0x1
+ 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0>
+
+0000000080002ac8 <userstart>:
+ 80002ac8: 00301073 fssr zero
+
+0000000080002acc <test_2>:
+ 80002acc: 00200193 li gp,2
+ 80002ad0: 00000517 auipc a0,0x0
+ 80002ad4: 53050513 addi a0,a0,1328 # 80003000 <test_2_data>
+ 80002ad8: 00052683 lw a3,0(a0)
+ 80002adc: 00200513 li a0,2
+ 80002ae0: d0057053 fcvt.s.w ft0,a0
+ 80002ae4: 00101073 fsflags zero
+ 80002ae8: e0000553 fmv.x.w a0,ft0
+ 80002aec: 10d51263 bne a0,a3,80002bf0 <fail>
+
+0000000080002af0 <test_3>:
+ 80002af0: 00300193 li gp,3
+ 80002af4: 00000517 auipc a0,0x0
+ 80002af8: 51050513 addi a0,a0,1296 # 80003004 <test_3_data>
+ 80002afc: 00052683 lw a3,0(a0)
+ 80002b00: ffe00513 li a0,-2
+ 80002b04: d0057053 fcvt.s.w ft0,a0
+ 80002b08: 00101073 fsflags zero
+ 80002b0c: e0000553 fmv.x.w a0,ft0
+ 80002b10: 0ed51063 bne a0,a3,80002bf0 <fail>
+
+0000000080002b14 <test_4>:
+ 80002b14: 00400193 li gp,4
+ 80002b18: 00000517 auipc a0,0x0
+ 80002b1c: 4f050513 addi a0,a0,1264 # 80003008 <test_4_data>
+ 80002b20: 00052683 lw a3,0(a0)
+ 80002b24: 00200513 li a0,2
+ 80002b28: d0157053 fcvt.s.wu ft0,a0
+ 80002b2c: 00101073 fsflags zero
+ 80002b30: e0000553 fmv.x.w a0,ft0
+ 80002b34: 0ad51e63 bne a0,a3,80002bf0 <fail>
+
+0000000080002b38 <test_5>:
+ 80002b38: 00500193 li gp,5
+ 80002b3c: 00000517 auipc a0,0x0
+ 80002b40: 4d050513 addi a0,a0,1232 # 8000300c <test_5_data>
+ 80002b44: 00052683 lw a3,0(a0)
+ 80002b48: ffe00513 li a0,-2
+ 80002b4c: d0157053 fcvt.s.wu ft0,a0
+ 80002b50: 00101073 fsflags zero
+ 80002b54: e0000553 fmv.x.w a0,ft0
+ 80002b58: 08d51c63 bne a0,a3,80002bf0 <fail>
+
+0000000080002b5c <test_6>:
+ 80002b5c: 00600193 li gp,6
+ 80002b60: 00000517 auipc a0,0x0
+ 80002b64: 4b050513 addi a0,a0,1200 # 80003010 <test_6_data>
+ 80002b68: 00052683 lw a3,0(a0)
+ 80002b6c: 00200513 li a0,2
+ 80002b70: d0257053 fcvt.s.l ft0,a0
+ 80002b74: 00101073 fsflags zero
+ 80002b78: e0000553 fmv.x.w a0,ft0
+ 80002b7c: 06d51a63 bne a0,a3,80002bf0 <fail>
+
+0000000080002b80 <test_7>:
+ 80002b80: 00700193 li gp,7
+ 80002b84: 00000517 auipc a0,0x0
+ 80002b88: 49050513 addi a0,a0,1168 # 80003014 <test_7_data>
+ 80002b8c: 00052683 lw a3,0(a0)
+ 80002b90: ffe00513 li a0,-2
+ 80002b94: d0257053 fcvt.s.l ft0,a0
+ 80002b98: 00101073 fsflags zero
+ 80002b9c: e0000553 fmv.x.w a0,ft0
+ 80002ba0: 04d51863 bne a0,a3,80002bf0 <fail>
+
+0000000080002ba4 <test_8>:
+ 80002ba4: 00800193 li gp,8
+ 80002ba8: 00000517 auipc a0,0x0
+ 80002bac: 47050513 addi a0,a0,1136 # 80003018 <test_8_data>
+ 80002bb0: 00052683 lw a3,0(a0)
+ 80002bb4: 00200513 li a0,2
+ 80002bb8: d0357053 fcvt.s.lu ft0,a0
+ 80002bbc: 00101073 fsflags zero
+ 80002bc0: e0000553 fmv.x.w a0,ft0
+ 80002bc4: 02d51663 bne a0,a3,80002bf0 <fail>
+
+0000000080002bc8 <test_9>:
+ 80002bc8: 00900193 li gp,9
+ 80002bcc: 00000517 auipc a0,0x0
+ 80002bd0: 45050513 addi a0,a0,1104 # 8000301c <test_9_data>
+ 80002bd4: 00052683 lw a3,0(a0)
+ 80002bd8: ffe00513 li a0,-2
+ 80002bdc: d0357053 fcvt.s.lu ft0,a0
+ 80002be0: 00101073 fsflags zero
+ 80002be4: e0000553 fmv.x.w a0,ft0
+ 80002be8: 00d51463 bne a0,a3,80002bf0 <fail>
+ 80002bec: 00301a63 bne zero,gp,80002c00 <pass>
+
+0000000080002bf0 <fail>:
+ 80002bf0: 00119513 slli a0,gp,0x1
+ 80002bf4: 00050063 beqz a0,80002bf4 <fail+0x4>
+ 80002bf8: 00156513 ori a0,a0,1
+ 80002bfc: 00000073 ecall
+
+0000000080002c00 <pass>:
+ 80002c00: 00100513 li a0,1
+ 80002c04: 00000073 ecall
+ 80002c08: c0001073 unimp
+
+Disassembly of section .data:
+
+0000000080003000 <test_2_data>:
+ 80003000: 0000 unimp
+ 80003002: 4000 lw s0,0(s0)
+
+0000000080003004 <test_3_data>:
+ 80003004: 0000 unimp
+ 80003006: c000 sw s0,0(s0)
+
+0000000080003008 <test_4_data>:
+ 80003008: 0000 unimp
+ 8000300a: 4000 lw s0,0(s0)
+
+000000008000300c <test_5_data>:
+ 8000300c: 0000 unimp
+ 8000300e: 4f80 lw s0,24(a5)
+
+0000000080003010 <test_6_data>:
+ 80003010: 0000 unimp
+ 80003012: 4000 lw s0,0(s0)
+
+0000000080003014 <test_7_data>:
+ 80003014: 0000 unimp
+ 80003016: c000 sw s0,0(s0)
+
+0000000080003018 <test_8_data>:
+ 80003018: 0000 unimp
+ 8000301a: 4000 lw s0,0(s0)
+
+000000008000301c <test_9_data>:
+ 8000301c: 0000 unimp
+ 8000301e: 5f80 lw s0,56(a5)
diff --git a/test/riscv-tests/rv64uf-v-fcvt.elf b/test/riscv-tests/rv64uf-v-fcvt.elf
new file mode 100644
index 0000000..f5a8193
--- /dev/null
+++ b/test/riscv-tests/rv64uf-v-fcvt.elf
Binary files differ
diff --git a/test/riscv-tests/rv64uf-v-fcvt_w.dump b/test/riscv-tests/rv64uf-v-fcvt_w.dump
new file mode 100644
index 0000000..7c95fce
--- /dev/null
+++ b/test/riscv-tests/rv64uf-v-fcvt_w.dump
@@ -0,0 +1,1722 @@
+
+rv64uf-v-fcvt_w: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 00c0006f j 8000000c <handle_reset>
+
+0000000080000004 <nmi_vector>:
+ 80000004: 2580206f j 8000225c <wtf>
+
+0000000080000008 <trap_vector>:
+ 80000008: 2540206f j 8000225c <wtf>
+
+000000008000000c <handle_reset>:
+ 8000000c: 00000297 auipc t0,0x0
+ 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+ 80000014: 30529073 csrw mtvec,t0
+ 80000018: 0000a117 auipc sp,0xa
+ 8000001c: 6b810113 addi sp,sp,1720 # 8000a6d0 <_end+0xee0>
+ 80000020: f14022f3 csrr t0,mhartid
+ 80000024: 00c29293 slli t0,t0,0xc
+ 80000028: 00510133 add sp,sp,t0
+ 8000002c: 34011073 csrw mscratch,sp
+ 80000030: 00003517 auipc a0,0x3
+ 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart>
+ 80000038: 09d0206f j 800028d4 <vm_boot>
+
+000000008000003c <pop_tf>:
+ 8000003c: 10853283 ld t0,264(a0)
+ 80000040: 14129073 csrw sepc,t0
+ 80000044: 00853083 ld ra,8(a0)
+ 80000048: 01053103 ld sp,16(a0)
+ 8000004c: 01853183 ld gp,24(a0)
+ 80000050: 02053203 ld tp,32(a0)
+ 80000054: 02853283 ld t0,40(a0)
+ 80000058: 03053303 ld t1,48(a0)
+ 8000005c: 03853383 ld t2,56(a0)
+ 80000060: 04053403 ld s0,64(a0)
+ 80000064: 04853483 ld s1,72(a0)
+ 80000068: 05853583 ld a1,88(a0)
+ 8000006c: 06053603 ld a2,96(a0)
+ 80000070: 06853683 ld a3,104(a0)
+ 80000074: 07053703 ld a4,112(a0)
+ 80000078: 07853783 ld a5,120(a0)
+ 8000007c: 08053803 ld a6,128(a0)
+ 80000080: 08853883 ld a7,136(a0)
+ 80000084: 09053903 ld s2,144(a0)
+ 80000088: 09853983 ld s3,152(a0)
+ 8000008c: 0a053a03 ld s4,160(a0)
+ 80000090: 0a853a83 ld s5,168(a0)
+ 80000094: 0b053b03 ld s6,176(a0)
+ 80000098: 0b853b83 ld s7,184(a0)
+ 8000009c: 0c053c03 ld s8,192(a0)
+ 800000a0: 0c853c83 ld s9,200(a0)
+ 800000a4: 0d053d03 ld s10,208(a0)
+ 800000a8: 0d853d83 ld s11,216(a0)
+ 800000ac: 0e053e03 ld t3,224(a0)
+ 800000b0: 0e853e83 ld t4,232(a0)
+ 800000b4: 0f053f03 ld t5,240(a0)
+ 800000b8: 0f853f83 ld t6,248(a0)
+ 800000bc: 05053503 ld a0,80(a0)
+ 800000c0: 10200073 sret
+
+00000000800000c4 <trap_entry>:
+ 800000c4: 14011173 csrrw sp,sscratch,sp
+ 800000c8: 00113423 sd ra,8(sp)
+ 800000cc: 00313c23 sd gp,24(sp)
+ 800000d0: 02413023 sd tp,32(sp)
+ 800000d4: 02513423 sd t0,40(sp)
+ 800000d8: 02613823 sd t1,48(sp)
+ 800000dc: 02713c23 sd t2,56(sp)
+ 800000e0: 04813023 sd s0,64(sp)
+ 800000e4: 04913423 sd s1,72(sp)
+ 800000e8: 04a13823 sd a0,80(sp)
+ 800000ec: 04b13c23 sd a1,88(sp)
+ 800000f0: 06c13023 sd a2,96(sp)
+ 800000f4: 06d13423 sd a3,104(sp)
+ 800000f8: 06e13823 sd a4,112(sp)
+ 800000fc: 06f13c23 sd a5,120(sp)
+ 80000100: 09013023 sd a6,128(sp)
+ 80000104: 09113423 sd a7,136(sp)
+ 80000108: 09213823 sd s2,144(sp)
+ 8000010c: 09313c23 sd s3,152(sp)
+ 80000110: 0b413023 sd s4,160(sp)
+ 80000114: 0b513423 sd s5,168(sp)
+ 80000118: 0b613823 sd s6,176(sp)
+ 8000011c: 0b713c23 sd s7,184(sp)
+ 80000120: 0d813023 sd s8,192(sp)
+ 80000124: 0d913423 sd s9,200(sp)
+ 80000128: 0da13823 sd s10,208(sp)
+ 8000012c: 0db13c23 sd s11,216(sp)
+ 80000130: 0fc13023 sd t3,224(sp)
+ 80000134: 0fd13423 sd t4,232(sp)
+ 80000138: 0fe13823 sd t5,240(sp)
+ 8000013c: 0ff13c23 sd t6,248(sp)
+ 80000140: 140112f3 csrrw t0,sscratch,sp
+ 80000144: 00513823 sd t0,16(sp)
+ 80000148: 100022f3 csrr t0,sstatus
+ 8000014c: 10513023 sd t0,256(sp)
+ 80000150: 141022f3 csrr t0,sepc
+ 80000154: 10513423 sd t0,264(sp)
+ 80000158: 143022f3 csrr t0,stval
+ 8000015c: 10513823 sd t0,272(sp)
+ 80000160: 142022f3 csrr t0,scause
+ 80000164: 10513c23 sd t0,280(sp)
+ 80000168: 00010513 mv a0,sp
+ 8000016c: 4300206f j 8000259c <handle_trap>
+
+Disassembly of section .text:
+
+0000000080002000 <memcpy>:
+ 80002000: 00c5e7b3 or a5,a1,a2
+ 80002004: 00f567b3 or a5,a0,a5
+ 80002008: 0077f793 andi a5,a5,7
+ 8000200c: 00c506b3 add a3,a0,a2
+ 80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+ 80002014: 00c58633 add a2,a1,a2
+ 80002018: 00050793 mv a5,a0
+ 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+ 80002020: 00158593 addi a1,a1,1
+ 80002024: fff5c703 lbu a4,-1(a1)
+ 80002028: 00178793 addi a5,a5,1
+ 8000202c: fee78fa3 sb a4,-1(a5)
+ 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+ 80002034: 00008067 ret
+ 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+ 8000203c: 00050793 mv a5,a0
+ 80002040: 00858593 addi a1,a1,8
+ 80002044: ff85b703 ld a4,-8(a1)
+ 80002048: 00878793 addi a5,a5,8
+ 8000204c: fee7bc23 sd a4,-8(a5)
+ 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+ 80002054: 00008067 ret
+ 80002058: 00008067 ret
+
+000000008000205c <memset>:
+ 8000205c: 00c567b3 or a5,a0,a2
+ 80002060: 0077f793 andi a5,a5,7
+ 80002064: 00c50633 add a2,a0,a2
+ 80002068: 0ff5f593 andi a1,a1,255
+ 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c>
+ 80002070: 00050793 mv a5,a0
+ 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c>
+ 80002078: 00178793 addi a5,a5,1
+ 8000207c: feb78fa3 sb a1,-1(a5)
+ 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+ 80002084: 00008067 ret
+ 80002088: 00859793 slli a5,a1,0x8
+ 8000208c: 00b7e5b3 or a1,a5,a1
+ 80002090: 01059793 slli a5,a1,0x10
+ 80002094: 00b7e7b3 or a5,a5,a1
+ 80002098: 02079593 slli a1,a5,0x20
+ 8000209c: 00f5e5b3 or a1,a1,a5
+ 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28>
+ 800020a4: 00050793 mv a5,a0
+ 800020a8: 00878793 addi a5,a5,8
+ 800020ac: feb7bc23 sd a1,-8(a5)
+ 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c>
+ 800020b4: 00008067 ret
+ 800020b8: 00008067 ret
+
+00000000800020bc <strlen>:
+ 800020bc: 00054783 lbu a5,0(a0)
+ 800020c0: 00050713 mv a4,a0
+ 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20>
+ 800020c8: 00150513 addi a0,a0,1
+ 800020cc: 00054783 lbu a5,0(a0)
+ 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc>
+ 800020d4: 40e50533 sub a0,a0,a4
+ 800020d8: 00008067 ret
+ 800020dc: 00000513 li a0,0
+ 800020e0: 00008067 ret
+
+00000000800020e4 <strcmp>:
+ 800020e4: 00150513 addi a0,a0,1
+ 800020e8: fff54783 lbu a5,-1(a0)
+ 800020ec: 00158593 addi a1,a1,1
+ 800020f0: fff5c703 lbu a4,-1(a1)
+ 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24>
+ 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp>
+ 800020fc: 0007851b sext.w a0,a5
+ 80002100: 40e5053b subw a0,a0,a4
+ 80002104: 00008067 ret
+ 80002108: 00000513 li a0,0
+ 8000210c: ff5ff06f j 80002100 <strcmp+0x1c>
+
+0000000080002110 <memcmp>:
+ 80002110: 00b567b3 or a5,a0,a1
+ 80002114: 0077f793 andi a5,a5,7
+ 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c>
+ 8000211c: ff867693 andi a3,a2,-8
+ 80002120: 00d506b3 add a3,a0,a3
+ 80002124: 00050813 mv a6,a0
+ 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c>
+ 8000212c: 00053703 ld a4,0(a0)
+ 80002130: 0005b783 ld a5,0(a1)
+ 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38>
+ 80002138: 0240006f j 8000215c <memcmp+0x4c>
+ 8000213c: 00053703 ld a4,0(a0)
+ 80002140: 0005b783 ld a5,0(a1)
+ 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44>
+ 80002148: 00850513 addi a0,a0,8
+ 8000214c: 00858593 addi a1,a1,8
+ 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c>
+ 80002154: 41050833 sub a6,a0,a6
+ 80002158: 41060633 sub a2,a2,a6
+ 8000215c: 00c58633 add a2,a1,a2
+ 80002160: 0140006f j 80002174 <memcmp+0x64>
+ 80002164: 00158593 addi a1,a1,1
+ 80002168: fff54783 lbu a5,-1(a0)
+ 8000216c: fff5c703 lbu a4,-1(a1)
+ 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74>
+ 80002174: 00150513 addi a0,a0,1
+ 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54>
+ 8000217c: 00000513 li a0,0
+ 80002180: 00008067 ret
+ 80002184: 40e7853b subw a0,a5,a4
+ 80002188: 00008067 ret
+
+000000008000218c <strcpy>:
+ 8000218c: 00050793 mv a5,a0
+ 80002190: 00158593 addi a1,a1,1
+ 80002194: fff5c703 lbu a4,-1(a1)
+ 80002198: 00178793 addi a5,a5,1
+ 8000219c: fee78fa3 sb a4,-1(a5)
+ 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4>
+ 800021a4: 00008067 ret
+
+00000000800021a8 <atol>:
+ 800021a8: 00054783 lbu a5,0(a0)
+ 800021ac: 02000713 li a4,32
+ 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18>
+ 800021b4: 00150513 addi a0,a0,1
+ 800021b8: 00054783 lbu a5,0(a0)
+ 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc>
+ 800021c0: fd57871b addiw a4,a5,-43
+ 800021c4: 0fd77713 andi a4,a4,253
+ 800021c8: 04070263 beqz a4,8000220c <atol+0x64>
+ 800021cc: 00054683 lbu a3,0(a0)
+ 800021d0: 00050793 mv a5,a0
+ 800021d4: 00000613 li a2,0
+ 800021d8: 04068863 beqz a3,80002228 <atol+0x80>
+ 800021dc: 00000513 li a0,0
+ 800021e0: 00178793 addi a5,a5,1
+ 800021e4: fd06859b addiw a1,a3,-48
+ 800021e8: 00251713 slli a4,a0,0x2
+ 800021ec: 0007c683 lbu a3,0(a5)
+ 800021f0: 00a70533 add a0,a4,a0
+ 800021f4: 00151513 slli a0,a0,0x1
+ 800021f8: 00a58533 add a0,a1,a0
+ 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38>
+ 80002200: 00060463 beqz a2,80002208 <atol+0x60>
+ 80002204: 40a00533 neg a0,a0
+ 80002208: 00008067 ret
+ 8000220c: 00154683 lbu a3,1(a0)
+ 80002210: fd378793 addi a5,a5,-45
+ 80002214: 0017b613 seqz a2,a5
+ 80002218: 00150793 addi a5,a0,1
+ 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34>
+ 80002220: 00000513 li a0,0
+ 80002224: fddff06f j 80002200 <atol+0x58>
+ 80002228: 00000513 li a0,0
+ 8000222c: 00008067 ret
+
+0000000080002230 <terminate>:
+ 80002230: fffff797 auipc a5,0xfffff
+ 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost>
+ 80002238: 0007b703 ld a4,0(a5)
+ 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20>
+ 80002240: fffff717 auipc a4,0xfffff
+ 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost>
+ 80002248: 0007b703 ld a4,0(a5)
+ 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10>
+ 80002250: fffff797 auipc a5,0xfffff
+ 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost>
+ 80002258: 0000006f j 80002258 <terminate+0x28>
+
+000000008000225c <wtf>:
+ 8000225c: ff010113 addi sp,sp,-16
+ 80002260: 34900513 li a0,841
+ 80002264: 00113423 sd ra,8(sp)
+ 80002268: fc9ff0ef jal ra,80002230 <terminate>
+
+000000008000226c <printhex>:
+ 8000226c: fe010113 addi sp,sp,-32
+ 80002270: 01710713 addi a4,sp,23
+ 80002274: 00710813 addi a6,sp,7
+ 80002278: 00900593 li a1,9
+ 8000227c: 00f57793 andi a5,a0,15
+ 80002280: 03000613 li a2,48
+ 80002284: 0ff7f693 andi a3,a5,255
+ 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24>
+ 8000228c: 05700613 li a2,87
+ 80002290: 00c687bb addw a5,a3,a2
+ 80002294: 00f70023 sb a5,0(a4)
+ 80002298: fff70713 addi a4,a4,-1
+ 8000229c: 00455513 srli a0,a0,0x4
+ 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10>
+ 800022a4: 00814783 lbu a5,8(sp)
+ 800022a8: 00010c23 sb zero,24(sp)
+ 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88>
+ 800022b0: 10100513 li a0,257
+ 800022b4: 00810693 addi a3,sp,8
+ 800022b8: fffff717 auipc a4,0xfffff
+ 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost>
+ 800022c0: 03051513 slli a0,a0,0x30
+ 800022c4: 00073583 ld a1,0(a4)
+ 800022c8: 00168693 addi a3,a3,1
+ 800022cc: 00a7e633 or a2,a5,a0
+ 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78>
+ 800022d4: fffff797 auipc a5,0xfffff
+ 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost>
+ 800022dc: 00073783 ld a5,0(a4)
+ 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68>
+ 800022e4: 0006c783 lbu a5,0(a3)
+ 800022e8: fffff597 auipc a1,0xfffff
+ 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost>
+ 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58>
+ 800022f4: 02010113 addi sp,sp,32
+ 800022f8: 00008067 ret
+
+00000000800022fc <handle_fault>:
+ 800022fc: fffff8b7 lui a7,0xfffff
+ 80002300: 01150733 add a4,a0,a7
+ 80002304: 0003e7b7 lui a5,0x3e
+ 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154>
+ 8000230c: 00c55693 srli a3,a0,0xc
+ 80002310: 60068813 addi a6,a3,1536
+ 80002314: 00003617 auipc a2,0x3
+ 80002318: cec60613 addi a2,a2,-788 # 80005000 <pt>
+ 8000231c: 00381793 slli a5,a6,0x3
+ 80002320: 00f607b3 add a5,a2,a5
+ 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000>
+ 80002328: 01157533 and a0,a0,a7
+ 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110>
+ 80002330: 00007797 auipc a5,0x7
+ 80002334: 4b878793 addi a5,a5,1208 # 800097e8 <freelist_head>
+ 80002338: 0007b583 ld a1,0(a5)
+ 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0>
+ 80002340: 0085b783 ld a5,8(a1)
+ 80002344: 00007717 auipc a4,0x7
+ 80002348: 49c70713 addi a4,a4,1180 # 800097e0 <freelist_tail>
+ 8000234c: 00073703 ld a4,0(a4)
+ 80002350: 00007897 auipc a7,0x7
+ 80002354: 48f8bc23 sd a5,1176(a7) # 800097e8 <freelist_head>
+ 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148>
+ 8000235c: 0005b783 ld a5,0(a1)
+ 80002360: 00381893 slli a7,a6,0x3
+ 80002364: 011608b3 add a7,a2,a7
+ 80002368: 00c7d793 srli a5,a5,0xc
+ 8000236c: 00a79793 slli a5,a5,0xa
+ 80002370: 0df7e313 ori t1,a5,223
+ 80002374: 01f7e713 ori a4,a5,31
+ 80002378: 0068b023 sd t1,0(a7)
+ 8000237c: 12050073 sfence.vma a0
+ 80002380: 00007797 auipc a5,0x7
+ 80002384: 07078793 addi a5,a5,112 # 800093f0 <user_mapping>
+ 80002388: 00469693 slli a3,a3,0x4
+ 8000238c: 00d786b3 add a3,a5,a3
+ 80002390: 0006b783 ld a5,0(a3)
+ 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200>
+ 80002398: 0005b783 ld a5,0(a1)
+ 8000239c: 00f6b023 sd a5,0(a3)
+ 800023a0: 0085b783 ld a5,8(a1)
+ 800023a4: 00f6b423 sd a5,8(a3)
+ 800023a8: 000407b7 lui a5,0x40
+ 800023ac: 1007a8f3 csrrs a7,sstatus,a5
+ 800023b0: ffe007b7 lui a5,0xffe00
+ 800023b4: 00f507b3 add a5,a0,a5
+ 800023b8: 000015b7 lui a1,0x1
+ 800023bc: 00050693 mv a3,a0
+ 800023c0: 00b785b3 add a1,a5,a1
+ 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf6810>
+ 800023c8: 0087be83 ld t4,8(a5)
+ 800023cc: 0107be03 ld t3,16(a5)
+ 800023d0: 0187b303 ld t1,24(a5)
+ 800023d4: 01e6b023 sd t5,0(a3)
+ 800023d8: 01d6b423 sd t4,8(a3)
+ 800023dc: 01c6b823 sd t3,16(a3)
+ 800023e0: 0066bc23 sd t1,24(a3)
+ 800023e4: 02078793 addi a5,a5,32
+ 800023e8: 02068693 addi a3,a3,32
+ 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8>
+ 800023f0: 10089073 csrw sstatus,a7
+ 800023f4: 00381813 slli a6,a6,0x3
+ 800023f8: 01060633 add a2,a2,a6
+ 800023fc: 00e63023 sd a4,0(a2)
+ 80002400: 12050073 sfence.vma a0
+ 80002404: 0000100f fence.i
+ 80002408: 00008067 ret
+ 8000240c: 04077693 andi a3,a4,64
+ 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128>
+ 80002414: 04076713 ori a4,a4,64
+ 80002418: 00e7b023 sd a4,0(a5)
+ 8000241c: 12050073 sfence.vma a0
+ 80002420: 00008067 ret
+ 80002424: 08077693 andi a3,a4,128
+ 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250>
+ 8000242c: 00f00693 li a3,15
+ 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250>
+ 80002434: 08076713 ori a4,a4,128
+ 80002438: 00e7b023 sd a4,0(a5)
+ 8000243c: 12050073 sfence.vma a0
+ 80002440: 00008067 ret
+ 80002444: 00007797 auipc a5,0x7
+ 80002448: 3807be23 sd zero,924(a5) # 800097e0 <freelist_tail>
+ 8000244c: f11ff06f j 8000235c <handle_fault+0x60>
+ 80002450: 10100613 li a2,257
+ 80002454: 04100713 li a4,65
+ 80002458: 00001697 auipc a3,0x1
+ 8000245c: df068693 addi a3,a3,-528 # 80003248 <pass+0x10>
+ 80002460: fffff797 auipc a5,0xfffff
+ 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost>
+ 80002468: 03061613 slli a2,a2,0x30
+ 8000246c: 0007b503 ld a0,0(a5)
+ 80002470: 00168693 addi a3,a3,1
+ 80002474: 00c765b3 or a1,a4,a2
+ 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190>
+ 8000247c: fffff717 auipc a4,0xfffff
+ 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost>
+ 80002484: 0007b703 ld a4,0(a5)
+ 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180>
+ 8000248c: 0006c703 lbu a4,0(a3)
+ 80002490: fffff517 auipc a0,0xfffff
+ 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost>
+ 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170>
+ 8000249c: ff010113 addi sp,sp,-16
+ 800024a0: 00300513 li a0,3
+ 800024a4: 00113423 sd ra,8(sp)
+ 800024a8: d89ff0ef jal ra,80002230 <terminate>
+ 800024ac: 10100693 li a3,257
+ 800024b0: 04100713 li a4,65
+ 800024b4: 00001617 auipc a2,0x1
+ 800024b8: e2460613 addi a2,a2,-476 # 800032d8 <pass+0xa0>
+ 800024bc: fffff797 auipc a5,0xfffff
+ 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost>
+ 800024c4: 03069693 slli a3,a3,0x30
+ 800024c8: 0007b503 ld a0,0(a5)
+ 800024cc: 00160613 addi a2,a2,1
+ 800024d0: 00d765b3 or a1,a4,a3
+ 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec>
+ 800024d8: fffff717 auipc a4,0xfffff
+ 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost>
+ 800024e0: 0007b703 ld a4,0(a5)
+ 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc>
+ 800024e8: 00064703 lbu a4,0(a2)
+ 800024ec: fffff517 auipc a0,0xfffff
+ 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost>
+ 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc>
+ 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0>
+ 800024fc: 10100693 li a3,257
+ 80002500: 04100713 li a4,65
+ 80002504: 00001617 auipc a2,0x1
+ 80002508: dec60613 addi a2,a2,-532 # 800032f0 <pass+0xb8>
+ 8000250c: fffff797 auipc a5,0xfffff
+ 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost>
+ 80002514: 03069693 slli a3,a3,0x30
+ 80002518: 0007b503 ld a0,0(a5)
+ 8000251c: 00160613 addi a2,a2,1
+ 80002520: 00d765b3 or a1,a4,a3
+ 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c>
+ 80002528: fffff717 auipc a4,0xfffff
+ 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost>
+ 80002530: 0007b703 ld a4,0(a5)
+ 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c>
+ 80002538: 00064703 lbu a4,0(a2)
+ 8000253c: fffff517 auipc a0,0xfffff
+ 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost>
+ 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c>
+ 80002548: f55ff06f j 8000249c <handle_fault+0x1a0>
+ 8000254c: 10100613 li a2,257
+ 80002550: 04100713 li a4,65
+ 80002554: 00001697 auipc a3,0x1
+ 80002558: d3c68693 addi a3,a3,-708 # 80003290 <pass+0x58>
+ 8000255c: fffff797 auipc a5,0xfffff
+ 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost>
+ 80002564: 03061613 slli a2,a2,0x30
+ 80002568: 0007b503 ld a0,0(a5)
+ 8000256c: 00168693 addi a3,a3,1
+ 80002570: 00c765b3 or a1,a4,a2
+ 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c>
+ 80002578: fffff717 auipc a4,0xfffff
+ 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost>
+ 80002580: 0007b703 ld a4,0(a5)
+ 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c>
+ 80002588: 0006c703 lbu a4,0(a3)
+ 8000258c: fffff517 auipc a0,0xfffff
+ 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost>
+ 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c>
+ 80002598: f05ff06f j 8000249c <handle_fault+0x1a0>
+
+000000008000259c <handle_trap>:
+ 8000259c: 11853583 ld a1,280(a0)
+ 800025a0: f9010113 addi sp,sp,-112
+ 800025a4: 06813023 sd s0,96(sp)
+ 800025a8: 06113423 sd ra,104(sp)
+ 800025ac: 04913c23 sd s1,88(sp)
+ 800025b0: 05213823 sd s2,80(sp)
+ 800025b4: 05313423 sd s3,72(sp)
+ 800025b8: 05413023 sd s4,64(sp)
+ 800025bc: 03513c23 sd s5,56(sp)
+ 800025c0: 03613823 sd s6,48(sp)
+ 800025c4: 03713423 sd s7,40(sp)
+ 800025c8: 03813023 sd s8,32(sp)
+ 800025cc: 01913c23 sd s9,24(sp)
+ 800025d0: 01a13823 sd s10,16(sp)
+ 800025d4: 01b13423 sd s11,8(sp)
+ 800025d8: 00800793 li a5,8
+ 800025dc: 00050413 mv s0,a0
+ 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178>
+ 800025e4: 00200793 li a5,2
+ 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac>
+ 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c>
+ 800025f0: 00100713 li a4,1
+ 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64>
+ 800025f8: 00f00793 li a5,15
+ 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248>
+ 80002600: 11043503 ld a0,272(s0)
+ 80002604: cf9ff0ef jal ra,800022fc <handle_fault>
+ 80002608: 00040513 mv a0,s0
+ 8000260c: 06013403 ld s0,96(sp)
+ 80002610: 06813083 ld ra,104(sp)
+ 80002614: 05813483 ld s1,88(sp)
+ 80002618: 05013903 ld s2,80(sp)
+ 8000261c: 04813983 ld s3,72(sp)
+ 80002620: 04013a03 ld s4,64(sp)
+ 80002624: 03813a83 ld s5,56(sp)
+ 80002628: 03013b03 ld s6,48(sp)
+ 8000262c: 02813b83 ld s7,40(sp)
+ 80002630: 02013c03 ld s8,32(sp)
+ 80002634: 01813c83 ld s9,24(sp)
+ 80002638: 01013d03 ld s10,16(sp)
+ 8000263c: 00813d83 ld s11,8(sp)
+ 80002640: 07010113 addi sp,sp,112
+ 80002644: 9f9fd06f j 8000003c <pop_tf>
+ 80002648: 10853703 ld a4,264(a0)
+ 8000264c: 00377793 andi a5,a4,3
+ 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128>
+ 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0>
+ 80002658: 00301073 fssr zero
+ 8000265c: 00072703 lw a4,0(a4)
+ 80002660: 0007a783 lw a5,0(a5)
+ 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120>
+ 80002668: 10100513 li a0,257
+ 8000266c: 04100793 li a5,65
+ 80002670: 00001697 auipc a3,0x1
+ 80002674: d5868693 addi a3,a3,-680 # 800033c8 <pass+0x190>
+ 80002678: fffff717 auipc a4,0xfffff
+ 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost>
+ 80002680: 03051513 slli a0,a0,0x30
+ 80002684: 00073583 ld a1,0(a4)
+ 80002688: 00168693 addi a3,a3,1
+ 8000268c: 00a7e633 or a2,a5,a0
+ 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108>
+ 80002694: fffff797 auipc a5,0xfffff
+ 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost>
+ 8000269c: 00073783 ld a5,0(a4)
+ 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8>
+ 800026a4: 0006c783 lbu a5,0(a3)
+ 800026a8: fffff597 auipc a1,0xfffff
+ 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost>
+ 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8>
+ 800026b4: 00300513 li a0,3
+ 800026b8: b79ff0ef jal ra,80002230 <terminate>
+ 800026bc: 00100513 li a0,1
+ 800026c0: b71ff0ef jal ra,80002230 <terminate>
+ 800026c4: 10100793 li a5,257
+ 800026c8: 00001617 auipc a2,0x1
+ 800026cc: cd860613 addi a2,a2,-808 # 800033a0 <pass+0x168>
+ 800026d0: 04100693 li a3,65
+ 800026d4: fffff717 auipc a4,0xfffff
+ 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost>
+ 800026dc: 03079793 slli a5,a5,0x30
+ 800026e0: 00073503 ld a0,0(a4)
+ 800026e4: 00160613 addi a2,a2,1
+ 800026e8: 00f6e5b3 or a1,a3,a5
+ 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164>
+ 800026f0: fffff697 auipc a3,0xfffff
+ 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost>
+ 800026f8: 00073683 ld a3,0(a4)
+ 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154>
+ 80002700: 00064683 lbu a3,0(a2)
+ 80002704: fffff517 auipc a0,0xfffff
+ 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost>
+ 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144>
+ 80002710: fa5ff06f j 800026b4 <handle_trap+0x118>
+ 80002714: 05052983 lw s3,80(a0)
+ 80002718: 00001437 lui s0,0x1
+ 8000271c: 00007d17 auipc s10,0x7
+ 80002720: cd4d0d13 addi s10,s10,-812 # 800093f0 <user_mapping>
+ 80002724: 00003b97 auipc s7,0x3
+ 80002728: 8dcb8b93 addi s7,s7,-1828 # 80005000 <pt>
+ 8000272c: 00040b37 lui s6,0x40
+ 80002730: ffe00ab7 lui s5,0xffe00
+ 80002734: 00007a17 auipc s4,0x7
+ 80002738: 0aca0a13 addi s4,s4,172 # 800097e0 <freelist_tail>
+ 8000273c: 0003f937 lui s2,0x3f
+ 80002740: 01c0006f j 8000275c <handle_trap+0x1c0>
+ 80002744: 00f73423 sd a5,8(a4)
+ 80002748: 00007717 auipc a4,0x7
+ 8000274c: 08f73c23 sd a5,152(a4) # 800097e0 <freelist_tail>
+ 80002750: 000017b7 lui a5,0x1
+ 80002754: 00f40433 add s0,s0,a5
+ 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308>
+ 8000275c: 00c45793 srli a5,s0,0xc
+ 80002760: 00479493 slli s1,a5,0x4
+ 80002764: 009d0733 add a4,s10,s1
+ 80002768: 00073703 ld a4,0(a4)
+ 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4>
+ 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00>
+ 80002774: 00379793 slli a5,a5,0x3
+ 80002778: 00fb87b3 add a5,s7,a5
+ 8000277c: 0007bc03 ld s8,0(a5)
+ 80002780: 040c7793 andi a5,s8,64
+ 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0>
+ 80002788: 100b2cf3 csrrs s9,sstatus,s6
+ 8000278c: 01540db3 add s11,s0,s5
+ 80002790: 00001637 lui a2,0x1
+ 80002794: 000d8593 mv a1,s11
+ 80002798: 00040513 mv a0,s0
+ 8000279c: 975ff0ef jal ra,80002110 <memcmp>
+ 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220>
+ 800027a4: 080c7c13 andi s8,s8,128
+ 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298>
+ 800027ac: 00001637 lui a2,0x1
+ 800027b0: 000d8593 mv a1,s11
+ 800027b4: 00040513 mv a0,s0
+ 800027b8: 849ff0ef jal ra,80002000 <memcpy>
+ 800027bc: 009d07b3 add a5,s10,s1
+ 800027c0: 100c9073 csrw sstatus,s9
+ 800027c4: 000a3703 ld a4,0(s4)
+ 800027c8: 0007b023 sd zero,0(a5)
+ 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8>
+ 800027d0: 00007717 auipc a4,0x7
+ 800027d4: 00f73823 sd a5,16(a4) # 800097e0 <freelist_tail>
+ 800027d8: 00007717 auipc a4,0x7
+ 800027dc: 00f73823 sd a5,16(a4) # 800097e8 <freelist_head>
+ 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4>
+ 800027e4: 10100793 li a5,257
+ 800027e8: 04100613 li a2,65
+ 800027ec: 00001697 auipc a3,0x1
+ 800027f0: c0c68693 addi a3,a3,-1012 # 800033f8 <pass+0x1c0>
+ 800027f4: fffff717 auipc a4,0xfffff
+ 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost>
+ 800027fc: 03079793 slli a5,a5,0x30
+ 80002800: 00073503 ld a0,0(a4)
+ 80002804: 00168693 addi a3,a3,1
+ 80002808: 00f665b3 or a1,a2,a5
+ 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284>
+ 80002810: fffff617 auipc a2,0xfffff
+ 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost>
+ 80002818: 00073603 ld a2,0(a4)
+ 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274>
+ 80002820: 0006c603 lbu a2,0(a3)
+ 80002824: ffffe517 auipc a0,0xffffe
+ 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost>
+ 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264>
+ 80002830: e85ff06f j 800026b4 <handle_trap+0x118>
+ 80002834: 10100793 li a5,257
+ 80002838: 04100613 li a2,65
+ 8000283c: 00001697 auipc a3,0x1
+ 80002840: b2c68693 addi a3,a3,-1236 # 80003368 <pass+0x130>
+ 80002844: ffffe717 auipc a4,0xffffe
+ 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost>
+ 8000284c: 03079793 slli a5,a5,0x30
+ 80002850: 00168693 addi a3,a3,1
+ 80002854: 00f665b3 or a1,a2,a5
+ 80002858: 00073603 ld a2,0(a4)
+ 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310>
+ 80002860: ffffe617 auipc a2,0xffffe
+ 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost>
+ 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc>
+ 8000286c: 10100793 li a5,257
+ 80002870: 04100613 li a2,65
+ 80002874: 00001697 auipc a3,0x1
+ 80002878: abc68693 addi a3,a3,-1348 # 80003330 <pass+0xf8>
+ 8000287c: ffffe717 auipc a4,0xffffe
+ 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost>
+ 80002884: 03079793 slli a5,a5,0x30
+ 80002888: 00168693 addi a3,a3,1
+ 8000288c: 00f665b3 or a1,a2,a5
+ 80002890: 00073603 ld a2,0(a4)
+ 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324>
+ 80002898: ffffe617 auipc a2,0xffffe
+ 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost>
+ 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4>
+ 800028a4: 00098513 mv a0,s3
+ 800028a8: 989ff0ef jal ra,80002230 <terminate>
+ 800028ac: 0006c603 lbu a2,0(a3)
+ 800028b0: ffffe517 auipc a0,0xffffe
+ 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost>
+ 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4>
+ 800028bc: df9ff06f j 800026b4 <handle_trap+0x118>
+ 800028c0: 0006c603 lbu a2,0(a3)
+ 800028c4: ffffe517 auipc a0,0xffffe
+ 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost>
+ 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec>
+ 800028d0: de5ff06f j 800026b4 <handle_trap+0x118>
+
+00000000800028d4 <vm_boot>:
+ 800028d4: f14027f3 csrr a5,mhartid
+ 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198>
+ 800028dc: 00003697 auipc a3,0x3
+ 800028e0: 72468693 addi a3,a3,1828 # 80006000 <pt+0x1000>
+ 800028e4: 00004717 auipc a4,0x4
+ 800028e8: 71c70713 addi a4,a4,1820 # 80007000 <pt+0x2000>
+ 800028ec: 00c6d693 srli a3,a3,0xc
+ 800028f0: 00c75713 srli a4,a4,0xc
+ 800028f4: 00005797 auipc a5,0x5
+ 800028f8: 70c78793 addi a5,a5,1804 # 80008000 <pt+0x3000>
+ 800028fc: 00a69693 slli a3,a3,0xa
+ 80002900: 00a71713 slli a4,a4,0xa
+ 80002904: 0016e693 ori a3,a3,1
+ 80002908: 00176713 ori a4,a4,1
+ 8000290c: 00c7d793 srli a5,a5,0xc
+ 80002910: 00002897 auipc a7,0x2
+ 80002914: 6ed8b823 sd a3,1776(a7) # 80005000 <pt>
+ 80002918: 00a79793 slli a5,a5,0xa
+ 8000291c: 00003697 auipc a3,0x3
+ 80002920: 6ce6be23 sd a4,1756(a3) # 80005ff8 <pt+0xff8>
+ 80002924: 20000737 lui a4,0x20000
+ 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31>
+ 8000292c: fff00593 li a1,-1
+ 80002930: 0017e793 ori a5,a5,1
+ 80002934: 00002617 auipc a2,0x2
+ 80002938: 6cc60613 addi a2,a2,1740 # 80005000 <pt>
+ 8000293c: ed010113 addi sp,sp,-304
+ 80002940: 03f59813 slli a6,a1,0x3f
+ 80002944: 00005697 auipc a3,0x5
+ 80002948: 6ae6ba23 sd a4,1716(a3) # 80007ff8 <pt+0x2ff8>
+ 8000294c: 00003717 auipc a4,0x3
+ 80002950: 6af73a23 sd a5,1716(a4) # 80006000 <pt+0x1000>
+ 80002954: 00c65793 srli a5,a2,0xc
+ 80002958: 12113423 sd ra,296(sp)
+ 8000295c: 12813023 sd s0,288(sp)
+ 80002960: 0107e7b3 or a5,a5,a6
+ 80002964: 18079073 csrw satp,a5
+ 80002968: 01f00793 li a5,31
+ 8000296c: 00000297 auipc t0,0x0
+ 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac>
+ 80002974: 305292f3 csrrw t0,mtvec,t0
+ 80002978: 3b059073 csrw pmpaddr0,a1
+ 8000297c: 3a079073 csrw pmpcfg0,a5
+ 80002980: bff00813 li a6,-1025
+ 80002984: 01581813 slli a6,a6,0x15
+ 80002988: ffffd797 auipc a5,0xffffd
+ 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry>
+ 80002990: 010787b3 add a5,a5,a6
+ 80002994: 10579073 csrw stvec,a5
+ 80002998: 340027f3 csrr a5,mscratch
+ 8000299c: 010787b3 add a5,a5,a6
+ 800029a0: 14079073 csrw sscratch,a5
+ 800029a4: 0000b7b7 lui a5,0xb
+ 800029a8: 1007879b addiw a5,a5,256
+ 800029ac: 30279073 csrw medeleg,a5
+ 800029b0: 0001e7b7 lui a5,0x1e
+ 800029b4: 30079073 csrw mstatus,a5
+ 800029b8: 30405073 csrwi mie,0
+ 800029bc: 00006697 auipc a3,0x6
+ 800029c0: 64468693 addi a3,a3,1604 # 80009000 <freelist_nodes>
+ 800029c4: 010687b3 add a5,a3,a6
+ 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20>
+ 800029cc: 00007617 auipc a2,0x7
+ 800029d0: e0f63e23 sd a5,-484(a2) # 800097e8 <freelist_head>
+ 800029d4: 00007797 auipc a5,0x7
+ 800029d8: e0e7b623 sd a4,-500(a5) # 800097e0 <freelist_tail>
+ 800029dc: 00007317 auipc t1,0x7
+ 800029e0: a1430313 addi t1,t1,-1516 # 800093f0 <user_mapping>
+ 800029e4: 03e00793 li a5,62
+ 800029e8: 000808b7 lui a7,0x80
+ 800029ec: 01080813 addi a6,a6,16
+ 800029f0: 03f7871b addiw a4,a5,63
+ 800029f4: 02071713 slli a4,a4,0x20
+ 800029f8: 0017d61b srliw a2,a5,0x1
+ 800029fc: 02075713 srli a4,a4,0x20
+ 80002a00: 00c7c7b3 xor a5,a5,a2
+ 80002a04: 01170733 add a4,a4,a7
+ 80002a08: 010685b3 add a1,a3,a6
+ 80002a0c: 00c71713 slli a4,a4,0xc
+ 80002a10: 0057979b slliw a5,a5,0x5
+ 80002a14: 00e6b023 sd a4,0(a3)
+ 80002a18: 00b6b423 sd a1,8(a3)
+ 80002a1c: 0207f793 andi a5,a5,32
+ 80002a20: 01068693 addi a3,a3,16
+ 80002a24: 00c7e7b3 or a5,a5,a2
+ 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c>
+ 80002a2c: 00050413 mv s0,a0
+ 80002a30: 12000613 li a2,288
+ 80002a34: 00000593 li a1,0
+ 80002a38: 00010513 mv a0,sp
+ 80002a3c: 00007797 auipc a5,0x7
+ 80002a40: 9a07b623 sd zero,-1620(a5) # 800093e8 <freelist_nodes+0x3e8>
+ 80002a44: e18ff0ef jal ra,8000205c <memset>
+ 80002a48: 800007b7 lui a5,0x80000
+ 80002a4c: 00f40433 add s0,s0,a5
+ 80002a50: 00010513 mv a0,sp
+ 80002a54: 10813423 sd s0,264(sp)
+ 80002a58: de4fd0ef jal ra,8000003c <pop_tf>
+ 80002a5c: 12813083 ld ra,296(sp)
+ 80002a60: 12013403 ld s0,288(sp)
+ 80002a64: 13010113 addi sp,sp,304
+ 80002a68: 00008067 ret
+ 80002a6c: 048057b7 lui a5,0x4805
+ 80002a70: 000805b7 lui a1,0x80
+ 80002a74: f9678793 addi a5,a5,-106 # 4804f96 <_start-0x7b7fb06a>
+ 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004>
+ 80002a7c: 00100613 li a2,1
+ 80002a80: 00b7f733 and a4,a5,a1
+ 80002a84: 01f61613 slli a2,a2,0x1f
+ 80002a88: 0017f693 andi a3,a5,1
+ 80002a8c: 02079793 slli a5,a5,0x20
+ 80002a90: 0207d793 srli a5,a5,0x20
+ 80002a94: 00c70733 add a4,a4,a2
+ 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8>
+ 80002a9c: 0007202f amoadd.w zero,zero,(a4)
+ 80002aa0: 0017d793 srli a5,a5,0x1
+ 80002aa4: 00b7f733 and a4,a5,a1
+ 80002aa8: 0017f693 andi a3,a5,1
+ 80002aac: 02079793 slli a5,a5,0x20
+ 80002ab0: 0207d793 srli a5,a5,0x20
+ 80002ab4: 00c70733 add a4,a4,a2
+ 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8>
+ 80002abc: 00072003 lw zero,0(a4)
+ 80002ac0: 0017d793 srli a5,a5,0x1
+ 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0>
+
+0000000080002ac8 <userstart>:
+ 80002ac8: 00301073 fssr zero
+
+0000000080002acc <test_2>:
+ 80002acc: 00200193 li gp,2
+ 80002ad0: 00001517 auipc a0,0x1
+ 80002ad4: 53050513 addi a0,a0,1328 # 80004000 <test_2_data>
+ 80002ad8: 00052007 flw ft0,0(a0)
+ 80002adc: 00452087 flw ft1,4(a0)
+ 80002ae0: 00852107 flw ft2,8(a0)
+ 80002ae4: 00c52683 lw a3,12(a0)
+ 80002ae8: c0001553 fcvt.w.s a0,ft0,rtz
+ 80002aec: 001015f3 fsflags a1,zero
+ 80002af0: 00100613 li a2,1
+ 80002af4: 72d51a63 bne a0,a3,80003228 <fail>
+ 80002af8: 72c59863 bne a1,a2,80003228 <fail>
+
+0000000080002afc <test_3>:
+ 80002afc: 00300193 li gp,3
+ 80002b00: 00001517 auipc a0,0x1
+ 80002b04: 51050513 addi a0,a0,1296 # 80004010 <test_3_data>
+ 80002b08: 00052007 flw ft0,0(a0)
+ 80002b0c: 00452087 flw ft1,4(a0)
+ 80002b10: 00852107 flw ft2,8(a0)
+ 80002b14: 00c52683 lw a3,12(a0)
+ 80002b18: c0001553 fcvt.w.s a0,ft0,rtz
+ 80002b1c: 001015f3 fsflags a1,zero
+ 80002b20: 00000613 li a2,0
+ 80002b24: 70d51263 bne a0,a3,80003228 <fail>
+ 80002b28: 70c59063 bne a1,a2,80003228 <fail>
+
+0000000080002b2c <test_4>:
+ 80002b2c: 00400193 li gp,4
+ 80002b30: 00001517 auipc a0,0x1
+ 80002b34: 4f050513 addi a0,a0,1264 # 80004020 <test_4_data>
+ 80002b38: 00052007 flw ft0,0(a0)
+ 80002b3c: 00452087 flw ft1,4(a0)
+ 80002b40: 00852107 flw ft2,8(a0)
+ 80002b44: 00c52683 lw a3,12(a0)
+ 80002b48: c0001553 fcvt.w.s a0,ft0,rtz
+ 80002b4c: 001015f3 fsflags a1,zero
+ 80002b50: 00100613 li a2,1
+ 80002b54: 6cd51a63 bne a0,a3,80003228 <fail>
+ 80002b58: 6cc59863 bne a1,a2,80003228 <fail>
+
+0000000080002b5c <test_5>:
+ 80002b5c: 00500193 li gp,5
+ 80002b60: 00001517 auipc a0,0x1
+ 80002b64: 4d050513 addi a0,a0,1232 # 80004030 <test_5_data>
+ 80002b68: 00052007 flw ft0,0(a0)
+ 80002b6c: 00452087 flw ft1,4(a0)
+ 80002b70: 00852107 flw ft2,8(a0)
+ 80002b74: 00c52683 lw a3,12(a0)
+ 80002b78: c0001553 fcvt.w.s a0,ft0,rtz
+ 80002b7c: 001015f3 fsflags a1,zero
+ 80002b80: 00100613 li a2,1
+ 80002b84: 6ad51263 bne a0,a3,80003228 <fail>
+ 80002b88: 6ac59063 bne a1,a2,80003228 <fail>
+
+0000000080002b8c <test_6>:
+ 80002b8c: 00600193 li gp,6
+ 80002b90: 00001517 auipc a0,0x1
+ 80002b94: 4b050513 addi a0,a0,1200 # 80004040 <test_6_data>
+ 80002b98: 00052007 flw ft0,0(a0)
+ 80002b9c: 00452087 flw ft1,4(a0)
+ 80002ba0: 00852107 flw ft2,8(a0)
+ 80002ba4: 00c52683 lw a3,12(a0)
+ 80002ba8: c0001553 fcvt.w.s a0,ft0,rtz
+ 80002bac: 001015f3 fsflags a1,zero
+ 80002bb0: 00000613 li a2,0
+ 80002bb4: 66d51a63 bne a0,a3,80003228 <fail>
+ 80002bb8: 66c59863 bne a1,a2,80003228 <fail>
+
+0000000080002bbc <test_7>:
+ 80002bbc: 00700193 li gp,7
+ 80002bc0: 00001517 auipc a0,0x1
+ 80002bc4: 49050513 addi a0,a0,1168 # 80004050 <test_7_data>
+ 80002bc8: 00052007 flw ft0,0(a0)
+ 80002bcc: 00452087 flw ft1,4(a0)
+ 80002bd0: 00852107 flw ft2,8(a0)
+ 80002bd4: 00c52683 lw a3,12(a0)
+ 80002bd8: c0001553 fcvt.w.s a0,ft0,rtz
+ 80002bdc: 001015f3 fsflags a1,zero
+ 80002be0: 00100613 li a2,1
+ 80002be4: 64d51263 bne a0,a3,80003228 <fail>
+ 80002be8: 64c59063 bne a1,a2,80003228 <fail>
+
+0000000080002bec <test_8>:
+ 80002bec: 00800193 li gp,8
+ 80002bf0: 00001517 auipc a0,0x1
+ 80002bf4: 47050513 addi a0,a0,1136 # 80004060 <test_8_data>
+ 80002bf8: 00052007 flw ft0,0(a0)
+ 80002bfc: 00452087 flw ft1,4(a0)
+ 80002c00: 00852107 flw ft2,8(a0)
+ 80002c04: 00c52683 lw a3,12(a0)
+ 80002c08: c0001553 fcvt.w.s a0,ft0,rtz
+ 80002c0c: 001015f3 fsflags a1,zero
+ 80002c10: 01000613 li a2,16
+ 80002c14: 60d51a63 bne a0,a3,80003228 <fail>
+ 80002c18: 60c59863 bne a1,a2,80003228 <fail>
+
+0000000080002c1c <test_9>:
+ 80002c1c: 00900193 li gp,9
+ 80002c20: 00001517 auipc a0,0x1
+ 80002c24: 45050513 addi a0,a0,1104 # 80004070 <test_9_data>
+ 80002c28: 00052007 flw ft0,0(a0)
+ 80002c2c: 00452087 flw ft1,4(a0)
+ 80002c30: 00852107 flw ft2,8(a0)
+ 80002c34: 00c52683 lw a3,12(a0)
+ 80002c38: c0001553 fcvt.w.s a0,ft0,rtz
+ 80002c3c: 001015f3 fsflags a1,zero
+ 80002c40: 01000613 li a2,16
+ 80002c44: 5ed51263 bne a0,a3,80003228 <fail>
+ 80002c48: 5ec59063 bne a1,a2,80003228 <fail>
+
+0000000080002c4c <test_12>:
+ 80002c4c: 00c00193 li gp,12
+ 80002c50: 00001517 auipc a0,0x1
+ 80002c54: 43050513 addi a0,a0,1072 # 80004080 <test_12_data>
+ 80002c58: 00052007 flw ft0,0(a0)
+ 80002c5c: 00452087 flw ft1,4(a0)
+ 80002c60: 00852107 flw ft2,8(a0)
+ 80002c64: 00c52683 lw a3,12(a0)
+ 80002c68: c0101553 fcvt.wu.s a0,ft0,rtz
+ 80002c6c: 001015f3 fsflags a1,zero
+ 80002c70: 01000613 li a2,16
+ 80002c74: 5ad51a63 bne a0,a3,80003228 <fail>
+ 80002c78: 5ac59863 bne a1,a2,80003228 <fail>
+
+0000000080002c7c <test_13>:
+ 80002c7c: 00d00193 li gp,13
+ 80002c80: 00001517 auipc a0,0x1
+ 80002c84: 41050513 addi a0,a0,1040 # 80004090 <test_13_data>
+ 80002c88: 00052007 flw ft0,0(a0)
+ 80002c8c: 00452087 flw ft1,4(a0)
+ 80002c90: 00852107 flw ft2,8(a0)
+ 80002c94: 00c52683 lw a3,12(a0)
+ 80002c98: c0101553 fcvt.wu.s a0,ft0,rtz
+ 80002c9c: 001015f3 fsflags a1,zero
+ 80002ca0: 01000613 li a2,16
+ 80002ca4: 58d51263 bne a0,a3,80003228 <fail>
+ 80002ca8: 58c59063 bne a1,a2,80003228 <fail>
+
+0000000080002cac <test_14>:
+ 80002cac: 00e00193 li gp,14
+ 80002cb0: 00001517 auipc a0,0x1
+ 80002cb4: 3f050513 addi a0,a0,1008 # 800040a0 <test_14_data>
+ 80002cb8: 00052007 flw ft0,0(a0)
+ 80002cbc: 00452087 flw ft1,4(a0)
+ 80002cc0: 00852107 flw ft2,8(a0)
+ 80002cc4: 00c52683 lw a3,12(a0)
+ 80002cc8: c0101553 fcvt.wu.s a0,ft0,rtz
+ 80002ccc: 001015f3 fsflags a1,zero
+ 80002cd0: 00100613 li a2,1
+ 80002cd4: 54d51a63 bne a0,a3,80003228 <fail>
+ 80002cd8: 54c59863 bne a1,a2,80003228 <fail>
+
+0000000080002cdc <test_15>:
+ 80002cdc: 00f00193 li gp,15
+ 80002ce0: 00001517 auipc a0,0x1
+ 80002ce4: 3d050513 addi a0,a0,976 # 800040b0 <test_15_data>
+ 80002ce8: 00052007 flw ft0,0(a0)
+ 80002cec: 00452087 flw ft1,4(a0)
+ 80002cf0: 00852107 flw ft2,8(a0)
+ 80002cf4: 00c52683 lw a3,12(a0)
+ 80002cf8: c0101553 fcvt.wu.s a0,ft0,rtz
+ 80002cfc: 001015f3 fsflags a1,zero
+ 80002d00: 00100613 li a2,1
+ 80002d04: 52d51263 bne a0,a3,80003228 <fail>
+ 80002d08: 52c59063 bne a1,a2,80003228 <fail>
+
+0000000080002d0c <test_16>:
+ 80002d0c: 01000193 li gp,16
+ 80002d10: 00001517 auipc a0,0x1
+ 80002d14: 3b050513 addi a0,a0,944 # 800040c0 <test_16_data>
+ 80002d18: 00052007 flw ft0,0(a0)
+ 80002d1c: 00452087 flw ft1,4(a0)
+ 80002d20: 00852107 flw ft2,8(a0)
+ 80002d24: 00c52683 lw a3,12(a0)
+ 80002d28: c0101553 fcvt.wu.s a0,ft0,rtz
+ 80002d2c: 001015f3 fsflags a1,zero
+ 80002d30: 00000613 li a2,0
+ 80002d34: 4ed51a63 bne a0,a3,80003228 <fail>
+ 80002d38: 4ec59863 bne a1,a2,80003228 <fail>
+
+0000000080002d3c <test_17>:
+ 80002d3c: 01100193 li gp,17
+ 80002d40: 00001517 auipc a0,0x1
+ 80002d44: 39050513 addi a0,a0,912 # 800040d0 <test_17_data>
+ 80002d48: 00052007 flw ft0,0(a0)
+ 80002d4c: 00452087 flw ft1,4(a0)
+ 80002d50: 00852107 flw ft2,8(a0)
+ 80002d54: 00c52683 lw a3,12(a0)
+ 80002d58: c0101553 fcvt.wu.s a0,ft0,rtz
+ 80002d5c: 001015f3 fsflags a1,zero
+ 80002d60: 00100613 li a2,1
+ 80002d64: 4cd51263 bne a0,a3,80003228 <fail>
+ 80002d68: 4cc59063 bne a1,a2,80003228 <fail>
+
+0000000080002d6c <test_18>:
+ 80002d6c: 01200193 li gp,18
+ 80002d70: 00001517 auipc a0,0x1
+ 80002d74: 37050513 addi a0,a0,880 # 800040e0 <test_18_data>
+ 80002d78: 00052007 flw ft0,0(a0)
+ 80002d7c: 00452087 flw ft1,4(a0)
+ 80002d80: 00852107 flw ft2,8(a0)
+ 80002d84: 00c52683 lw a3,12(a0)
+ 80002d88: c0101553 fcvt.wu.s a0,ft0,rtz
+ 80002d8c: 001015f3 fsflags a1,zero
+ 80002d90: 01000613 li a2,16
+ 80002d94: 48d51a63 bne a0,a3,80003228 <fail>
+ 80002d98: 48c59863 bne a1,a2,80003228 <fail>
+
+0000000080002d9c <test_19>:
+ 80002d9c: 01300193 li gp,19
+ 80002da0: 00001517 auipc a0,0x1
+ 80002da4: 35050513 addi a0,a0,848 # 800040f0 <test_19_data>
+ 80002da8: 00052007 flw ft0,0(a0)
+ 80002dac: 00452087 flw ft1,4(a0)
+ 80002db0: 00852107 flw ft2,8(a0)
+ 80002db4: 00c52683 lw a3,12(a0)
+ 80002db8: c0101553 fcvt.wu.s a0,ft0,rtz
+ 80002dbc: 001015f3 fsflags a1,zero
+ 80002dc0: 00000613 li a2,0
+ 80002dc4: 46d51263 bne a0,a3,80003228 <fail>
+ 80002dc8: 46c59063 bne a1,a2,80003228 <fail>
+
+0000000080002dcc <test_22>:
+ 80002dcc: 01600193 li gp,22
+ 80002dd0: 00001517 auipc a0,0x1
+ 80002dd4: 33050513 addi a0,a0,816 # 80004100 <test_22_data>
+ 80002dd8: 00052007 flw ft0,0(a0)
+ 80002ddc: 00452087 flw ft1,4(a0)
+ 80002de0: 00852107 flw ft2,8(a0)
+ 80002de4: 00c52683 lw a3,12(a0)
+ 80002de8: c0201553 fcvt.l.s a0,ft0,rtz
+ 80002dec: 001015f3 fsflags a1,zero
+ 80002df0: 00100613 li a2,1
+ 80002df4: 42d51a63 bne a0,a3,80003228 <fail>
+ 80002df8: 42c59863 bne a1,a2,80003228 <fail>
+
+0000000080002dfc <test_23>:
+ 80002dfc: 01700193 li gp,23
+ 80002e00: 00001517 auipc a0,0x1
+ 80002e04: 31050513 addi a0,a0,784 # 80004110 <test_23_data>
+ 80002e08: 00052007 flw ft0,0(a0)
+ 80002e0c: 00452087 flw ft1,4(a0)
+ 80002e10: 00852107 flw ft2,8(a0)
+ 80002e14: 00c52683 lw a3,12(a0)
+ 80002e18: c0201553 fcvt.l.s a0,ft0,rtz
+ 80002e1c: 001015f3 fsflags a1,zero
+ 80002e20: 00000613 li a2,0
+ 80002e24: 40d51263 bne a0,a3,80003228 <fail>
+ 80002e28: 40c59063 bne a1,a2,80003228 <fail>
+
+0000000080002e2c <test_24>:
+ 80002e2c: 01800193 li gp,24
+ 80002e30: 00001517 auipc a0,0x1
+ 80002e34: 2f050513 addi a0,a0,752 # 80004120 <test_24_data>
+ 80002e38: 00052007 flw ft0,0(a0)
+ 80002e3c: 00452087 flw ft1,4(a0)
+ 80002e40: 00852107 flw ft2,8(a0)
+ 80002e44: 00c52683 lw a3,12(a0)
+ 80002e48: c0201553 fcvt.l.s a0,ft0,rtz
+ 80002e4c: 001015f3 fsflags a1,zero
+ 80002e50: 00100613 li a2,1
+ 80002e54: 3cd51a63 bne a0,a3,80003228 <fail>
+ 80002e58: 3cc59863 bne a1,a2,80003228 <fail>
+
+0000000080002e5c <test_25>:
+ 80002e5c: 01900193 li gp,25
+ 80002e60: 00001517 auipc a0,0x1
+ 80002e64: 2d050513 addi a0,a0,720 # 80004130 <test_25_data>
+ 80002e68: 00052007 flw ft0,0(a0)
+ 80002e6c: 00452087 flw ft1,4(a0)
+ 80002e70: 00852107 flw ft2,8(a0)
+ 80002e74: 00c52683 lw a3,12(a0)
+ 80002e78: c0201553 fcvt.l.s a0,ft0,rtz
+ 80002e7c: 001015f3 fsflags a1,zero
+ 80002e80: 00100613 li a2,1
+ 80002e84: 3ad51263 bne a0,a3,80003228 <fail>
+ 80002e88: 3ac59063 bne a1,a2,80003228 <fail>
+
+0000000080002e8c <test_26>:
+ 80002e8c: 01a00193 li gp,26
+ 80002e90: 00001517 auipc a0,0x1
+ 80002e94: 2b050513 addi a0,a0,688 # 80004140 <test_26_data>
+ 80002e98: 00052007 flw ft0,0(a0)
+ 80002e9c: 00452087 flw ft1,4(a0)
+ 80002ea0: 00852107 flw ft2,8(a0)
+ 80002ea4: 00c52683 lw a3,12(a0)
+ 80002ea8: c0201553 fcvt.l.s a0,ft0,rtz
+ 80002eac: 001015f3 fsflags a1,zero
+ 80002eb0: 00000613 li a2,0
+ 80002eb4: 36d51a63 bne a0,a3,80003228 <fail>
+ 80002eb8: 36c59863 bne a1,a2,80003228 <fail>
+
+0000000080002ebc <test_27>:
+ 80002ebc: 01b00193 li gp,27
+ 80002ec0: 00001517 auipc a0,0x1
+ 80002ec4: 29050513 addi a0,a0,656 # 80004150 <test_27_data>
+ 80002ec8: 00052007 flw ft0,0(a0)
+ 80002ecc: 00452087 flw ft1,4(a0)
+ 80002ed0: 00852107 flw ft2,8(a0)
+ 80002ed4: 00c52683 lw a3,12(a0)
+ 80002ed8: c0201553 fcvt.l.s a0,ft0,rtz
+ 80002edc: 001015f3 fsflags a1,zero
+ 80002ee0: 00100613 li a2,1
+ 80002ee4: 34d51263 bne a0,a3,80003228 <fail>
+ 80002ee8: 34c59063 bne a1,a2,80003228 <fail>
+
+0000000080002eec <test_32>:
+ 80002eec: 02000193 li gp,32
+ 80002ef0: 00001517 auipc a0,0x1
+ 80002ef4: 27050513 addi a0,a0,624 # 80004160 <test_32_data>
+ 80002ef8: 00052007 flw ft0,0(a0)
+ 80002efc: 00452087 flw ft1,4(a0)
+ 80002f00: 00852107 flw ft2,8(a0)
+ 80002f04: 00c52683 lw a3,12(a0)
+ 80002f08: c0301553 fcvt.lu.s a0,ft0,rtz
+ 80002f0c: 001015f3 fsflags a1,zero
+ 80002f10: 01000613 li a2,16
+ 80002f14: 30d51a63 bne a0,a3,80003228 <fail>
+ 80002f18: 30c59863 bne a1,a2,80003228 <fail>
+
+0000000080002f1c <test_33>:
+ 80002f1c: 02100193 li gp,33
+ 80002f20: 00001517 auipc a0,0x1
+ 80002f24: 25050513 addi a0,a0,592 # 80004170 <test_33_data>
+ 80002f28: 00052007 flw ft0,0(a0)
+ 80002f2c: 00452087 flw ft1,4(a0)
+ 80002f30: 00852107 flw ft2,8(a0)
+ 80002f34: 00c52683 lw a3,12(a0)
+ 80002f38: c0301553 fcvt.lu.s a0,ft0,rtz
+ 80002f3c: 001015f3 fsflags a1,zero
+ 80002f40: 01000613 li a2,16
+ 80002f44: 2ed51263 bne a0,a3,80003228 <fail>
+ 80002f48: 2ec59063 bne a1,a2,80003228 <fail>
+
+0000000080002f4c <test_34>:
+ 80002f4c: 02200193 li gp,34
+ 80002f50: 00001517 auipc a0,0x1
+ 80002f54: 23050513 addi a0,a0,560 # 80004180 <test_34_data>
+ 80002f58: 00052007 flw ft0,0(a0)
+ 80002f5c: 00452087 flw ft1,4(a0)
+ 80002f60: 00852107 flw ft2,8(a0)
+ 80002f64: 00c52683 lw a3,12(a0)
+ 80002f68: c0301553 fcvt.lu.s a0,ft0,rtz
+ 80002f6c: 001015f3 fsflags a1,zero
+ 80002f70: 00100613 li a2,1
+ 80002f74: 2ad51a63 bne a0,a3,80003228 <fail>
+ 80002f78: 2ac59863 bne a1,a2,80003228 <fail>
+
+0000000080002f7c <test_35>:
+ 80002f7c: 02300193 li gp,35
+ 80002f80: 00001517 auipc a0,0x1
+ 80002f84: 21050513 addi a0,a0,528 # 80004190 <test_35_data>
+ 80002f88: 00052007 flw ft0,0(a0)
+ 80002f8c: 00452087 flw ft1,4(a0)
+ 80002f90: 00852107 flw ft2,8(a0)
+ 80002f94: 00c52683 lw a3,12(a0)
+ 80002f98: c0301553 fcvt.lu.s a0,ft0,rtz
+ 80002f9c: 001015f3 fsflags a1,zero
+ 80002fa0: 00100613 li a2,1
+ 80002fa4: 28d51263 bne a0,a3,80003228 <fail>
+ 80002fa8: 28c59063 bne a1,a2,80003228 <fail>
+
+0000000080002fac <test_36>:
+ 80002fac: 02400193 li gp,36
+ 80002fb0: 00001517 auipc a0,0x1
+ 80002fb4: 1f050513 addi a0,a0,496 # 800041a0 <test_36_data>
+ 80002fb8: 00052007 flw ft0,0(a0)
+ 80002fbc: 00452087 flw ft1,4(a0)
+ 80002fc0: 00852107 flw ft2,8(a0)
+ 80002fc4: 00c52683 lw a3,12(a0)
+ 80002fc8: c0301553 fcvt.lu.s a0,ft0,rtz
+ 80002fcc: 001015f3 fsflags a1,zero
+ 80002fd0: 00000613 li a2,0
+ 80002fd4: 24d51a63 bne a0,a3,80003228 <fail>
+ 80002fd8: 24c59863 bne a1,a2,80003228 <fail>
+
+0000000080002fdc <test_37>:
+ 80002fdc: 02500193 li gp,37
+ 80002fe0: 00001517 auipc a0,0x1
+ 80002fe4: 1d050513 addi a0,a0,464 # 800041b0 <test_37_data>
+ 80002fe8: 00052007 flw ft0,0(a0)
+ 80002fec: 00452087 flw ft1,4(a0)
+ 80002ff0: 00852107 flw ft2,8(a0)
+ 80002ff4: 00c52683 lw a3,12(a0)
+ 80002ff8: c0301553 fcvt.lu.s a0,ft0,rtz
+ 80002ffc: 001015f3 fsflags a1,zero
+ 80003000: 00100613 li a2,1
+ 80003004: 22d51263 bne a0,a3,80003228 <fail>
+ 80003008: 22c59063 bne a1,a2,80003228 <fail>
+
+000000008000300c <test_38>:
+ 8000300c: 02600193 li gp,38
+ 80003010: 00001517 auipc a0,0x1
+ 80003014: 1b050513 addi a0,a0,432 # 800041c0 <test_38_data>
+ 80003018: 00052007 flw ft0,0(a0)
+ 8000301c: 00452087 flw ft1,4(a0)
+ 80003020: 00852107 flw ft2,8(a0)
+ 80003024: 00c52683 lw a3,12(a0)
+ 80003028: c0301553 fcvt.lu.s a0,ft0,rtz
+ 8000302c: 001015f3 fsflags a1,zero
+ 80003030: 01000613 li a2,16
+ 80003034: 1ed51a63 bne a0,a3,80003228 <fail>
+ 80003038: 1ec59863 bne a1,a2,80003228 <fail>
+
+000000008000303c <test_42>:
+ 8000303c: 00001097 auipc ra,0x1
+ 80003040: 19408093 addi ra,ra,404 # 800041d0 <begin_signature>
+ 80003044: 0000a087 flw ft1,0(ra)
+ 80003048: c000f0d3 fcvt.w.s ra,ft1
+ 8000304c: 80000eb7 lui t4,0x80000
+ 80003050: fffe8e9b addiw t4,t4,-1
+ 80003054: 02a00193 li gp,42
+ 80003058: 1dd09863 bne ra,t4,80003228 <fail>
+
+000000008000305c <test_44>:
+ 8000305c: 00001097 auipc ra,0x1
+ 80003060: 17408093 addi ra,ra,372 # 800041d0 <begin_signature>
+ 80003064: 0080a087 flw ft1,8(ra)
+ 80003068: c000f0d3 fcvt.w.s ra,ft1
+ 8000306c: 80000eb7 lui t4,0x80000
+ 80003070: 02c00193 li gp,44
+ 80003074: 1bd09a63 bne ra,t4,80003228 <fail>
+
+0000000080003078 <test_43>:
+ 80003078: 00001097 auipc ra,0x1
+ 8000307c: 15808093 addi ra,ra,344 # 800041d0 <begin_signature>
+ 80003080: 0000a087 flw ft1,0(ra)
+ 80003084: c020f0d3 fcvt.l.s ra,ft1
+ 80003088: fff00e9b addiw t4,zero,-1
+ 8000308c: 03fe9e93 slli t4,t4,0x3f
+ 80003090: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffff680f>
+ 80003094: 02b00193 li gp,43
+ 80003098: 19d09863 bne ra,t4,80003228 <fail>
+
+000000008000309c <test_45>:
+ 8000309c: 00001097 auipc ra,0x1
+ 800030a0: 13408093 addi ra,ra,308 # 800041d0 <begin_signature>
+ 800030a4: 0080a087 flw ft1,8(ra)
+ 800030a8: c020f0d3 fcvt.l.s ra,ft1
+ 800030ac: fff00e9b addiw t4,zero,-1
+ 800030b0: 03fe9e93 slli t4,t4,0x3f
+ 800030b4: 02d00193 li gp,45
+ 800030b8: 17d09863 bne ra,t4,80003228 <fail>
+
+00000000800030bc <test_52>:
+ 800030bc: 00001097 auipc ra,0x1
+ 800030c0: 11408093 addi ra,ra,276 # 800041d0 <begin_signature>
+ 800030c4: 0040a087 flw ft1,4(ra)
+ 800030c8: c000f0d3 fcvt.w.s ra,ft1
+ 800030cc: 80000eb7 lui t4,0x80000
+ 800030d0: fffe8e9b addiw t4,t4,-1
+ 800030d4: 03400193 li gp,52
+ 800030d8: 15d09863 bne ra,t4,80003228 <fail>
+
+00000000800030dc <test_54>:
+ 800030dc: 00001097 auipc ra,0x1
+ 800030e0: 0f408093 addi ra,ra,244 # 800041d0 <begin_signature>
+ 800030e4: 00c0a087 flw ft1,12(ra)
+ 800030e8: c000f0d3 fcvt.w.s ra,ft1
+ 800030ec: 80000eb7 lui t4,0x80000
+ 800030f0: fffe8e9b addiw t4,t4,-1
+ 800030f4: 03600193 li gp,54
+ 800030f8: 13d09863 bne ra,t4,80003228 <fail>
+
+00000000800030fc <test_53>:
+ 800030fc: 00001097 auipc ra,0x1
+ 80003100: 0d408093 addi ra,ra,212 # 800041d0 <begin_signature>
+ 80003104: 0040a087 flw ft1,4(ra)
+ 80003108: c020f0d3 fcvt.l.s ra,ft1
+ 8000310c: fff00e9b addiw t4,zero,-1
+ 80003110: 03fe9e93 slli t4,t4,0x3f
+ 80003114: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffff680f>
+ 80003118: 03500193 li gp,53
+ 8000311c: 11d09663 bne ra,t4,80003228 <fail>
+
+0000000080003120 <test_55>:
+ 80003120: 00001097 auipc ra,0x1
+ 80003124: 0b008093 addi ra,ra,176 # 800041d0 <begin_signature>
+ 80003128: 00c0a087 flw ft1,12(ra)
+ 8000312c: c020f0d3 fcvt.l.s ra,ft1
+ 80003130: fff00e9b addiw t4,zero,-1
+ 80003134: 03fe9e93 slli t4,t4,0x3f
+ 80003138: fffe8e93 addi t4,t4,-1
+ 8000313c: 03700193 li gp,55
+ 80003140: 0fd09463 bne ra,t4,80003228 <fail>
+
+0000000080003144 <test_62>:
+ 80003144: 00001097 auipc ra,0x1
+ 80003148: 08c08093 addi ra,ra,140 # 800041d0 <begin_signature>
+ 8000314c: 0000a087 flw ft1,0(ra)
+ 80003150: c010f0d3 fcvt.wu.s ra,ft1
+ 80003154: fff00e93 li t4,-1
+ 80003158: 03e00193 li gp,62
+ 8000315c: 0dd09663 bne ra,t4,80003228 <fail>
+
+0000000080003160 <test_63>:
+ 80003160: 00001097 auipc ra,0x1
+ 80003164: 07008093 addi ra,ra,112 # 800041d0 <begin_signature>
+ 80003168: 0040a087 flw ft1,4(ra)
+ 8000316c: c010f0d3 fcvt.wu.s ra,ft1
+ 80003170: fff00e93 li t4,-1
+ 80003174: 03f00193 li gp,63
+ 80003178: 0bd09863 bne ra,t4,80003228 <fail>
+
+000000008000317c <test_64>:
+ 8000317c: 00001097 auipc ra,0x1
+ 80003180: 05408093 addi ra,ra,84 # 800041d0 <begin_signature>
+ 80003184: 0080a087 flw ft1,8(ra)
+ 80003188: c010f0d3 fcvt.wu.s ra,ft1
+ 8000318c: 00000e93 li t4,0
+ 80003190: 04000193 li gp,64
+ 80003194: 09d09a63 bne ra,t4,80003228 <fail>
+
+0000000080003198 <test_65>:
+ 80003198: 00001097 auipc ra,0x1
+ 8000319c: 03808093 addi ra,ra,56 # 800041d0 <begin_signature>
+ 800031a0: 00c0a087 flw ft1,12(ra)
+ 800031a4: c010f0d3 fcvt.wu.s ra,ft1
+ 800031a8: fff00e93 li t4,-1
+ 800031ac: 04100193 li gp,65
+ 800031b0: 07d09c63 bne ra,t4,80003228 <fail>
+
+00000000800031b4 <test_66>:
+ 800031b4: 00001097 auipc ra,0x1
+ 800031b8: 01c08093 addi ra,ra,28 # 800041d0 <begin_signature>
+ 800031bc: 0000a087 flw ft1,0(ra)
+ 800031c0: c030f0d3 fcvt.lu.s ra,ft1
+ 800031c4: fff00e93 li t4,-1
+ 800031c8: 04200193 li gp,66
+ 800031cc: 05d09e63 bne ra,t4,80003228 <fail>
+
+00000000800031d0 <test_67>:
+ 800031d0: 00001097 auipc ra,0x1
+ 800031d4: 00008093 mv ra,ra
+ 800031d8: 0040a087 flw ft1,4(ra) # 800041d4 <begin_signature+0x4>
+ 800031dc: c030f0d3 fcvt.lu.s ra,ft1
+ 800031e0: fff00e93 li t4,-1
+ 800031e4: 04300193 li gp,67
+ 800031e8: 05d09063 bne ra,t4,80003228 <fail>
+
+00000000800031ec <test_68>:
+ 800031ec: 00001097 auipc ra,0x1
+ 800031f0: fe408093 addi ra,ra,-28 # 800041d0 <begin_signature>
+ 800031f4: 0080a087 flw ft1,8(ra)
+ 800031f8: c030f0d3 fcvt.lu.s ra,ft1
+ 800031fc: 00000e93 li t4,0
+ 80003200: 04400193 li gp,68
+ 80003204: 03d09263 bne ra,t4,80003228 <fail>
+
+0000000080003208 <test_69>:
+ 80003208: 00001097 auipc ra,0x1
+ 8000320c: fc808093 addi ra,ra,-56 # 800041d0 <begin_signature>
+ 80003210: 00c0a087 flw ft1,12(ra)
+ 80003214: c030f0d3 fcvt.lu.s ra,ft1
+ 80003218: fff00e93 li t4,-1
+ 8000321c: 04500193 li gp,69
+ 80003220: 01d09463 bne ra,t4,80003228 <fail>
+ 80003224: 00301a63 bne zero,gp,80003238 <pass>
+
+0000000080003228 <fail>:
+ 80003228: 00119513 slli a0,gp,0x1
+ 8000322c: 00050063 beqz a0,8000322c <fail+0x4>
+ 80003230: 00156513 ori a0,a0,1
+ 80003234: 00000073 ecall
+
+0000000080003238 <pass>:
+ 80003238: 00100513 li a0,1
+ 8000323c: 00000073 ecall
+ 80003240: c0001073 unimp
+
+Disassembly of section .data:
+
+0000000080004000 <test_2_data>:
+ 80004000: cccd beqz s1,800040ba <test_15_data+0xa>
+ 80004002: bf8c fsd fa1,56(a5)
+ 80004004: 0000 unimp
+ 80004006: 0000 unimp
+ 80004008: 0000 unimp
+ 8000400a: 0000 unimp
+ 8000400c: ffff 0xffff
+ 8000400e: ffff 0xffff
+
+0000000080004010 <test_3_data>:
+ 80004010: 0000 unimp
+ 80004012: bf80 fsd fs0,56(a5)
+ 80004014: 0000 unimp
+ 80004016: 0000 unimp
+ 80004018: 0000 unimp
+ 8000401a: 0000 unimp
+ 8000401c: ffff 0xffff
+ 8000401e: ffff 0xffff
+
+0000000080004020 <test_4_data>:
+ 80004020: 6666 ld a2,88(sp)
+ 80004022: bf66 fsd fs9,440(sp)
+ 80004024: 0000 unimp
+ 80004026: 0000 unimp
+ 80004028: 0000 unimp
+ 8000402a: 0000 unimp
+ 8000402c: 0000 unimp
+ 8000402e: 0000 unimp
+
+0000000080004030 <test_5_data>:
+ 80004030: 6666 ld a2,88(sp)
+ 80004032: 3f66 fld ft10,120(sp)
+ 80004034: 0000 unimp
+ 80004036: 0000 unimp
+ 80004038: 0000 unimp
+ 8000403a: 0000 unimp
+ 8000403c: 0000 unimp
+ 8000403e: 0000 unimp
+
+0000000080004040 <test_6_data>:
+ 80004040: 0000 unimp
+ 80004042: 3f80 fld fs0,56(a5)
+ 80004044: 0000 unimp
+ 80004046: 0000 unimp
+ 80004048: 0000 unimp
+ 8000404a: 0000 unimp
+ 8000404c: 0001 nop
+ 8000404e: 0000 unimp
+
+0000000080004050 <test_7_data>:
+ 80004050: cccd beqz s1,8000410a <test_22_data+0xa>
+ 80004052: 3f8c fld fa1,56(a5)
+ 80004054: 0000 unimp
+ 80004056: 0000 unimp
+ 80004058: 0000 unimp
+ 8000405a: 0000 unimp
+ 8000405c: 0001 nop
+ 8000405e: 0000 unimp
+
+0000000080004060 <test_8_data>:
+ 80004060: d05e sw s7,32(sp)
+ 80004062: cf32 sw a2,156(sp)
+ 80004064: 0000 unimp
+ 80004066: 0000 unimp
+ 80004068: 0000 unimp
+ 8000406a: 0000 unimp
+ 8000406c: 0000 unimp
+ 8000406e: 8000 0x8000
+
+0000000080004070 <test_9_data>:
+ 80004070: d05e sw s7,32(sp)
+ 80004072: 4f32 lw t5,12(sp)
+ 80004074: 0000 unimp
+ 80004076: 0000 unimp
+ 80004078: 0000 unimp
+ 8000407a: 0000 unimp
+ 8000407c: ffff 0xffff
+ 8000407e: 7fff 0x7fff
+
+0000000080004080 <test_12_data>:
+ 80004080: 0000 unimp
+ 80004082: c040 sw s0,4(s0)
+ 80004084: 0000 unimp
+ 80004086: 0000 unimp
+ 80004088: 0000 unimp
+ 8000408a: 0000 unimp
+ 8000408c: 0000 unimp
+ 8000408e: 0000 unimp
+
+0000000080004090 <test_13_data>:
+ 80004090: 0000 unimp
+ 80004092: bf80 fsd fs0,56(a5)
+ 80004094: 0000 unimp
+ 80004096: 0000 unimp
+ 80004098: 0000 unimp
+ 8000409a: 0000 unimp
+ 8000409c: 0000 unimp
+ 8000409e: 0000 unimp
+
+00000000800040a0 <test_14_data>:
+ 800040a0: 6666 ld a2,88(sp)
+ 800040a2: bf66 fsd fs9,440(sp)
+ 800040a4: 0000 unimp
+ 800040a6: 0000 unimp
+ 800040a8: 0000 unimp
+ 800040aa: 0000 unimp
+ 800040ac: 0000 unimp
+ 800040ae: 0000 unimp
+
+00000000800040b0 <test_15_data>:
+ 800040b0: 6666 ld a2,88(sp)
+ 800040b2: 3f66 fld ft10,120(sp)
+ 800040b4: 0000 unimp
+ 800040b6: 0000 unimp
+ 800040b8: 0000 unimp
+ 800040ba: 0000 unimp
+ 800040bc: 0000 unimp
+ 800040be: 0000 unimp
+
+00000000800040c0 <test_16_data>:
+ 800040c0: 0000 unimp
+ 800040c2: 3f80 fld fs0,56(a5)
+ 800040c4: 0000 unimp
+ 800040c6: 0000 unimp
+ 800040c8: 0000 unimp
+ 800040ca: 0000 unimp
+ 800040cc: 0001 nop
+ 800040ce: 0000 unimp
+
+00000000800040d0 <test_17_data>:
+ 800040d0: cccd beqz s1,8000418a <test_34_data+0xa>
+ 800040d2: 3f8c fld fa1,56(a5)
+ 800040d4: 0000 unimp
+ 800040d6: 0000 unimp
+ 800040d8: 0000 unimp
+ 800040da: 0000 unimp
+ 800040dc: 0001 nop
+ 800040de: 0000 unimp
+
+00000000800040e0 <test_18_data>:
+ 800040e0: d05e sw s7,32(sp)
+ 800040e2: cf32 sw a2,156(sp)
+ 800040e4: 0000 unimp
+ 800040e6: 0000 unimp
+ 800040e8: 0000 unimp
+ 800040ea: 0000 unimp
+ 800040ec: 0000 unimp
+ 800040ee: 0000 unimp
+
+00000000800040f0 <test_19_data>:
+ 800040f0: d05e sw s7,32(sp)
+ 800040f2: 4f32 lw t5,12(sp)
+ 800040f4: 0000 unimp
+ 800040f6: 0000 unimp
+ 800040f8: 0000 unimp
+ 800040fa: 0000 unimp
+ 800040fc: 5e00 lw s0,56(a2)
+ 800040fe: b2d0 fsd fa2,160(a3)
+
+0000000080004100 <test_22_data>:
+ 80004100: cccd beqz s1,800041ba <test_37_data+0xa>
+ 80004102: bf8c fsd fa1,56(a5)
+ 80004104: 0000 unimp
+ 80004106: 0000 unimp
+ 80004108: 0000 unimp
+ 8000410a: 0000 unimp
+ 8000410c: ffff 0xffff
+ 8000410e: ffff 0xffff
+
+0000000080004110 <test_23_data>:
+ 80004110: 0000 unimp
+ 80004112: bf80 fsd fs0,56(a5)
+ 80004114: 0000 unimp
+ 80004116: 0000 unimp
+ 80004118: 0000 unimp
+ 8000411a: 0000 unimp
+ 8000411c: ffff 0xffff
+ 8000411e: ffff 0xffff
+
+0000000080004120 <test_24_data>:
+ 80004120: 6666 ld a2,88(sp)
+ 80004122: bf66 fsd fs9,440(sp)
+ 80004124: 0000 unimp
+ 80004126: 0000 unimp
+ 80004128: 0000 unimp
+ 8000412a: 0000 unimp
+ 8000412c: 0000 unimp
+ 8000412e: 0000 unimp
+
+0000000080004130 <test_25_data>:
+ 80004130: 6666 ld a2,88(sp)
+ 80004132: 3f66 fld ft10,120(sp)
+ 80004134: 0000 unimp
+ 80004136: 0000 unimp
+ 80004138: 0000 unimp
+ 8000413a: 0000 unimp
+ 8000413c: 0000 unimp
+ 8000413e: 0000 unimp
+
+0000000080004140 <test_26_data>:
+ 80004140: 0000 unimp
+ 80004142: 3f80 fld fs0,56(a5)
+ 80004144: 0000 unimp
+ 80004146: 0000 unimp
+ 80004148: 0000 unimp
+ 8000414a: 0000 unimp
+ 8000414c: 0001 nop
+ 8000414e: 0000 unimp
+
+0000000080004150 <test_27_data>:
+ 80004150: cccd beqz s1,8000420a <tdat_d+0x2a>
+ 80004152: 3f8c fld fa1,56(a5)
+ 80004154: 0000 unimp
+ 80004156: 0000 unimp
+ 80004158: 0000 unimp
+ 8000415a: 0000 unimp
+ 8000415c: 0001 nop
+ 8000415e: 0000 unimp
+
+0000000080004160 <test_32_data>:
+ 80004160: 0000 unimp
+ 80004162: c040 sw s0,4(s0)
+ 80004164: 0000 unimp
+ 80004166: 0000 unimp
+ 80004168: 0000 unimp
+ 8000416a: 0000 unimp
+ 8000416c: 0000 unimp
+ 8000416e: 0000 unimp
+
+0000000080004170 <test_33_data>:
+ 80004170: 0000 unimp
+ 80004172: bf80 fsd fs0,56(a5)
+ 80004174: 0000 unimp
+ 80004176: 0000 unimp
+ 80004178: 0000 unimp
+ 8000417a: 0000 unimp
+ 8000417c: 0000 unimp
+ 8000417e: 0000 unimp
+
+0000000080004180 <test_34_data>:
+ 80004180: 6666 ld a2,88(sp)
+ 80004182: bf66 fsd fs9,440(sp)
+ 80004184: 0000 unimp
+ 80004186: 0000 unimp
+ 80004188: 0000 unimp
+ 8000418a: 0000 unimp
+ 8000418c: 0000 unimp
+ 8000418e: 0000 unimp
+
+0000000080004190 <test_35_data>:
+ 80004190: 6666 ld a2,88(sp)
+ 80004192: 3f66 fld ft10,120(sp)
+ 80004194: 0000 unimp
+ 80004196: 0000 unimp
+ 80004198: 0000 unimp
+ 8000419a: 0000 unimp
+ 8000419c: 0000 unimp
+ 8000419e: 0000 unimp
+
+00000000800041a0 <test_36_data>:
+ 800041a0: 0000 unimp
+ 800041a2: 3f80 fld fs0,56(a5)
+ 800041a4: 0000 unimp
+ 800041a6: 0000 unimp
+ 800041a8: 0000 unimp
+ 800041aa: 0000 unimp
+ 800041ac: 0001 nop
+ 800041ae: 0000 unimp
+
+00000000800041b0 <test_37_data>:
+ 800041b0: cccd beqz s1,8000426a <tdat_d+0x8a>
+ 800041b2: 3f8c fld fa1,56(a5)
+ 800041b4: 0000 unimp
+ 800041b6: 0000 unimp
+ 800041b8: 0000 unimp
+ 800041ba: 0000 unimp
+ 800041bc: 0001 nop
+ 800041be: 0000 unimp
+
+00000000800041c0 <test_38_data>:
+ 800041c0: d05e sw s7,32(sp)
+ 800041c2: cf32 sw a2,156(sp)
+ 800041c4: 0000 unimp
+ 800041c6: 0000 unimp
+ 800041c8: 0000 unimp
+ 800041ca: 0000 unimp
+ 800041cc: 0000 unimp
+ 800041ce: 0000 unimp
+
+00000000800041d0 <begin_signature>:
+ 800041d0: ffff 0xffff
+ 800041d2: ffff 0xffff
+ 800041d4: ffff 0xffff
+ 800041d6: 7fff 0x7fff
+ 800041d8: 0000 unimp
+ 800041da: ff80 sd s0,56(a5)
+ 800041dc: 0000 unimp
+ 800041de: 7f80 ld s0,56(a5)
+
+00000000800041e0 <tdat_d>:
+ 800041e0: ffff 0xffff
+ 800041e2: ffff 0xffff
+ 800041e4: ffff 0xffff
+ 800041e6: ffff 0xffff
+ 800041e8: ffff 0xffff
+ 800041ea: ffff 0xffff
+ 800041ec: ffff 0xffff
+ 800041ee: 7fff 0x7fff
+ 800041f0: 0000 unimp
+ 800041f2: 0000 unimp
+ 800041f4: 0000 unimp
+ 800041f6: fff0 sd a2,248(a5)
+ 800041f8: 0000 unimp
+ 800041fa: 0000 unimp
+ 800041fc: 0000 unimp
+ 800041fe: 7ff0 ld a2,248(a5)
diff --git a/test/riscv-tests/rv64uf-v-fcvt_w.elf b/test/riscv-tests/rv64uf-v-fcvt_w.elf
new file mode 100644
index 0000000..194ac5c
--- /dev/null
+++ b/test/riscv-tests/rv64uf-v-fcvt_w.elf
Binary files differ
diff --git a/test/riscv-tests/rv64uf-v-fdiv.dump b/test/riscv-tests/rv64uf-v-fdiv.dump
new file mode 100644
index 0000000..0678b02
--- /dev/null
+++ b/test/riscv-tests/rv64uf-v-fdiv.dump
@@ -0,0 +1,1021 @@
+
+rv64uf-v-fdiv: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 00c0006f j 8000000c <handle_reset>
+
+0000000080000004 <nmi_vector>:
+ 80000004: 2580206f j 8000225c <wtf>
+
+0000000080000008 <trap_vector>:
+ 80000008: 2540206f j 8000225c <wtf>
+
+000000008000000c <handle_reset>:
+ 8000000c: 00000297 auipc t0,0x0
+ 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+ 80000014: 30529073 csrw mtvec,t0
+ 80000018: 00009117 auipc sp,0x9
+ 8000001c: 6b810113 addi sp,sp,1720 # 800096d0 <_end+0xee0>
+ 80000020: f14022f3 csrr t0,mhartid
+ 80000024: 00c29293 slli t0,t0,0xc
+ 80000028: 00510133 add sp,sp,t0
+ 8000002c: 34011073 csrw mscratch,sp
+ 80000030: 00003517 auipc a0,0x3
+ 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart>
+ 80000038: 09d0206f j 800028d4 <vm_boot>
+
+000000008000003c <pop_tf>:
+ 8000003c: 10853283 ld t0,264(a0)
+ 80000040: 14129073 csrw sepc,t0
+ 80000044: 00853083 ld ra,8(a0)
+ 80000048: 01053103 ld sp,16(a0)
+ 8000004c: 01853183 ld gp,24(a0)
+ 80000050: 02053203 ld tp,32(a0)
+ 80000054: 02853283 ld t0,40(a0)
+ 80000058: 03053303 ld t1,48(a0)
+ 8000005c: 03853383 ld t2,56(a0)
+ 80000060: 04053403 ld s0,64(a0)
+ 80000064: 04853483 ld s1,72(a0)
+ 80000068: 05853583 ld a1,88(a0)
+ 8000006c: 06053603 ld a2,96(a0)
+ 80000070: 06853683 ld a3,104(a0)
+ 80000074: 07053703 ld a4,112(a0)
+ 80000078: 07853783 ld a5,120(a0)
+ 8000007c: 08053803 ld a6,128(a0)
+ 80000080: 08853883 ld a7,136(a0)
+ 80000084: 09053903 ld s2,144(a0)
+ 80000088: 09853983 ld s3,152(a0)
+ 8000008c: 0a053a03 ld s4,160(a0)
+ 80000090: 0a853a83 ld s5,168(a0)
+ 80000094: 0b053b03 ld s6,176(a0)
+ 80000098: 0b853b83 ld s7,184(a0)
+ 8000009c: 0c053c03 ld s8,192(a0)
+ 800000a0: 0c853c83 ld s9,200(a0)
+ 800000a4: 0d053d03 ld s10,208(a0)
+ 800000a8: 0d853d83 ld s11,216(a0)
+ 800000ac: 0e053e03 ld t3,224(a0)
+ 800000b0: 0e853e83 ld t4,232(a0)
+ 800000b4: 0f053f03 ld t5,240(a0)
+ 800000b8: 0f853f83 ld t6,248(a0)
+ 800000bc: 05053503 ld a0,80(a0)
+ 800000c0: 10200073 sret
+
+00000000800000c4 <trap_entry>:
+ 800000c4: 14011173 csrrw sp,sscratch,sp
+ 800000c8: 00113423 sd ra,8(sp)
+ 800000cc: 00313c23 sd gp,24(sp)
+ 800000d0: 02413023 sd tp,32(sp)
+ 800000d4: 02513423 sd t0,40(sp)
+ 800000d8: 02613823 sd t1,48(sp)
+ 800000dc: 02713c23 sd t2,56(sp)
+ 800000e0: 04813023 sd s0,64(sp)
+ 800000e4: 04913423 sd s1,72(sp)
+ 800000e8: 04a13823 sd a0,80(sp)
+ 800000ec: 04b13c23 sd a1,88(sp)
+ 800000f0: 06c13023 sd a2,96(sp)
+ 800000f4: 06d13423 sd a3,104(sp)
+ 800000f8: 06e13823 sd a4,112(sp)
+ 800000fc: 06f13c23 sd a5,120(sp)
+ 80000100: 09013023 sd a6,128(sp)
+ 80000104: 09113423 sd a7,136(sp)
+ 80000108: 09213823 sd s2,144(sp)
+ 8000010c: 09313c23 sd s3,152(sp)
+ 80000110: 0b413023 sd s4,160(sp)
+ 80000114: 0b513423 sd s5,168(sp)
+ 80000118: 0b613823 sd s6,176(sp)
+ 8000011c: 0b713c23 sd s7,184(sp)
+ 80000120: 0d813023 sd s8,192(sp)
+ 80000124: 0d913423 sd s9,200(sp)
+ 80000128: 0da13823 sd s10,208(sp)
+ 8000012c: 0db13c23 sd s11,216(sp)
+ 80000130: 0fc13023 sd t3,224(sp)
+ 80000134: 0fd13423 sd t4,232(sp)
+ 80000138: 0fe13823 sd t5,240(sp)
+ 8000013c: 0ff13c23 sd t6,248(sp)
+ 80000140: 140112f3 csrrw t0,sscratch,sp
+ 80000144: 00513823 sd t0,16(sp)
+ 80000148: 100022f3 csrr t0,sstatus
+ 8000014c: 10513023 sd t0,256(sp)
+ 80000150: 141022f3 csrr t0,sepc
+ 80000154: 10513423 sd t0,264(sp)
+ 80000158: 143022f3 csrr t0,stval
+ 8000015c: 10513823 sd t0,272(sp)
+ 80000160: 142022f3 csrr t0,scause
+ 80000164: 10513c23 sd t0,280(sp)
+ 80000168: 00010513 mv a0,sp
+ 8000016c: 4300206f j 8000259c <handle_trap>
+
+Disassembly of section .text:
+
+0000000080002000 <memcpy>:
+ 80002000: 00c5e7b3 or a5,a1,a2
+ 80002004: 00f567b3 or a5,a0,a5
+ 80002008: 0077f793 andi a5,a5,7
+ 8000200c: 00c506b3 add a3,a0,a2
+ 80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+ 80002014: 00c58633 add a2,a1,a2
+ 80002018: 00050793 mv a5,a0
+ 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+ 80002020: 00158593 addi a1,a1,1
+ 80002024: fff5c703 lbu a4,-1(a1)
+ 80002028: 00178793 addi a5,a5,1
+ 8000202c: fee78fa3 sb a4,-1(a5)
+ 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+ 80002034: 00008067 ret
+ 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+ 8000203c: 00050793 mv a5,a0
+ 80002040: 00858593 addi a1,a1,8
+ 80002044: ff85b703 ld a4,-8(a1)
+ 80002048: 00878793 addi a5,a5,8
+ 8000204c: fee7bc23 sd a4,-8(a5)
+ 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+ 80002054: 00008067 ret
+ 80002058: 00008067 ret
+
+000000008000205c <memset>:
+ 8000205c: 00c567b3 or a5,a0,a2
+ 80002060: 0077f793 andi a5,a5,7
+ 80002064: 00c50633 add a2,a0,a2
+ 80002068: 0ff5f593 andi a1,a1,255
+ 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c>
+ 80002070: 00050793 mv a5,a0
+ 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c>
+ 80002078: 00178793 addi a5,a5,1
+ 8000207c: feb78fa3 sb a1,-1(a5)
+ 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+ 80002084: 00008067 ret
+ 80002088: 00859793 slli a5,a1,0x8
+ 8000208c: 00b7e5b3 or a1,a5,a1
+ 80002090: 01059793 slli a5,a1,0x10
+ 80002094: 00b7e7b3 or a5,a5,a1
+ 80002098: 02079593 slli a1,a5,0x20
+ 8000209c: 00f5e5b3 or a1,a1,a5
+ 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28>
+ 800020a4: 00050793 mv a5,a0
+ 800020a8: 00878793 addi a5,a5,8
+ 800020ac: feb7bc23 sd a1,-8(a5)
+ 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c>
+ 800020b4: 00008067 ret
+ 800020b8: 00008067 ret
+
+00000000800020bc <strlen>:
+ 800020bc: 00054783 lbu a5,0(a0)
+ 800020c0: 00050713 mv a4,a0
+ 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20>
+ 800020c8: 00150513 addi a0,a0,1
+ 800020cc: 00054783 lbu a5,0(a0)
+ 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc>
+ 800020d4: 40e50533 sub a0,a0,a4
+ 800020d8: 00008067 ret
+ 800020dc: 00000513 li a0,0
+ 800020e0: 00008067 ret
+
+00000000800020e4 <strcmp>:
+ 800020e4: 00150513 addi a0,a0,1
+ 800020e8: fff54783 lbu a5,-1(a0)
+ 800020ec: 00158593 addi a1,a1,1
+ 800020f0: fff5c703 lbu a4,-1(a1)
+ 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24>
+ 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp>
+ 800020fc: 0007851b sext.w a0,a5
+ 80002100: 40e5053b subw a0,a0,a4
+ 80002104: 00008067 ret
+ 80002108: 00000513 li a0,0
+ 8000210c: ff5ff06f j 80002100 <strcmp+0x1c>
+
+0000000080002110 <memcmp>:
+ 80002110: 00b567b3 or a5,a0,a1
+ 80002114: 0077f793 andi a5,a5,7
+ 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c>
+ 8000211c: ff867693 andi a3,a2,-8
+ 80002120: 00d506b3 add a3,a0,a3
+ 80002124: 00050813 mv a6,a0
+ 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c>
+ 8000212c: 00053703 ld a4,0(a0)
+ 80002130: 0005b783 ld a5,0(a1)
+ 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38>
+ 80002138: 0240006f j 8000215c <memcmp+0x4c>
+ 8000213c: 00053703 ld a4,0(a0)
+ 80002140: 0005b783 ld a5,0(a1)
+ 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44>
+ 80002148: 00850513 addi a0,a0,8
+ 8000214c: 00858593 addi a1,a1,8
+ 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c>
+ 80002154: 41050833 sub a6,a0,a6
+ 80002158: 41060633 sub a2,a2,a6
+ 8000215c: 00c58633 add a2,a1,a2
+ 80002160: 0140006f j 80002174 <memcmp+0x64>
+ 80002164: 00158593 addi a1,a1,1
+ 80002168: fff54783 lbu a5,-1(a0)
+ 8000216c: fff5c703 lbu a4,-1(a1)
+ 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74>
+ 80002174: 00150513 addi a0,a0,1
+ 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54>
+ 8000217c: 00000513 li a0,0
+ 80002180: 00008067 ret
+ 80002184: 40e7853b subw a0,a5,a4
+ 80002188: 00008067 ret
+
+000000008000218c <strcpy>:
+ 8000218c: 00050793 mv a5,a0
+ 80002190: 00158593 addi a1,a1,1
+ 80002194: fff5c703 lbu a4,-1(a1)
+ 80002198: 00178793 addi a5,a5,1
+ 8000219c: fee78fa3 sb a4,-1(a5)
+ 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4>
+ 800021a4: 00008067 ret
+
+00000000800021a8 <atol>:
+ 800021a8: 00054783 lbu a5,0(a0)
+ 800021ac: 02000713 li a4,32
+ 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18>
+ 800021b4: 00150513 addi a0,a0,1
+ 800021b8: 00054783 lbu a5,0(a0)
+ 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc>
+ 800021c0: fd57871b addiw a4,a5,-43
+ 800021c4: 0fd77713 andi a4,a4,253
+ 800021c8: 04070263 beqz a4,8000220c <atol+0x64>
+ 800021cc: 00054683 lbu a3,0(a0)
+ 800021d0: 00050793 mv a5,a0
+ 800021d4: 00000613 li a2,0
+ 800021d8: 04068863 beqz a3,80002228 <atol+0x80>
+ 800021dc: 00000513 li a0,0
+ 800021e0: 00178793 addi a5,a5,1
+ 800021e4: fd06859b addiw a1,a3,-48
+ 800021e8: 00251713 slli a4,a0,0x2
+ 800021ec: 0007c683 lbu a3,0(a5)
+ 800021f0: 00a70533 add a0,a4,a0
+ 800021f4: 00151513 slli a0,a0,0x1
+ 800021f8: 00a58533 add a0,a1,a0
+ 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38>
+ 80002200: 00060463 beqz a2,80002208 <atol+0x60>
+ 80002204: 40a00533 neg a0,a0
+ 80002208: 00008067 ret
+ 8000220c: 00154683 lbu a3,1(a0)
+ 80002210: fd378793 addi a5,a5,-45
+ 80002214: 0017b613 seqz a2,a5
+ 80002218: 00150793 addi a5,a0,1
+ 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34>
+ 80002220: 00000513 li a0,0
+ 80002224: fddff06f j 80002200 <atol+0x58>
+ 80002228: 00000513 li a0,0
+ 8000222c: 00008067 ret
+
+0000000080002230 <terminate>:
+ 80002230: fffff797 auipc a5,0xfffff
+ 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost>
+ 80002238: 0007b703 ld a4,0(a5)
+ 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20>
+ 80002240: fffff717 auipc a4,0xfffff
+ 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost>
+ 80002248: 0007b703 ld a4,0(a5)
+ 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10>
+ 80002250: fffff797 auipc a5,0xfffff
+ 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost>
+ 80002258: 0000006f j 80002258 <terminate+0x28>
+
+000000008000225c <wtf>:
+ 8000225c: ff010113 addi sp,sp,-16
+ 80002260: 34900513 li a0,841
+ 80002264: 00113423 sd ra,8(sp)
+ 80002268: fc9ff0ef jal ra,80002230 <terminate>
+
+000000008000226c <printhex>:
+ 8000226c: fe010113 addi sp,sp,-32
+ 80002270: 01710713 addi a4,sp,23
+ 80002274: 00710813 addi a6,sp,7
+ 80002278: 00900593 li a1,9
+ 8000227c: 00f57793 andi a5,a0,15
+ 80002280: 03000613 li a2,48
+ 80002284: 0ff7f693 andi a3,a5,255
+ 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24>
+ 8000228c: 05700613 li a2,87
+ 80002290: 00c687bb addw a5,a3,a2
+ 80002294: 00f70023 sb a5,0(a4)
+ 80002298: fff70713 addi a4,a4,-1
+ 8000229c: 00455513 srli a0,a0,0x4
+ 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10>
+ 800022a4: 00814783 lbu a5,8(sp)
+ 800022a8: 00010c23 sb zero,24(sp)
+ 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88>
+ 800022b0: 10100513 li a0,257
+ 800022b4: 00810693 addi a3,sp,8
+ 800022b8: fffff717 auipc a4,0xfffff
+ 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost>
+ 800022c0: 03051513 slli a0,a0,0x30
+ 800022c4: 00073583 ld a1,0(a4)
+ 800022c8: 00168693 addi a3,a3,1
+ 800022cc: 00a7e633 or a2,a5,a0
+ 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78>
+ 800022d4: fffff797 auipc a5,0xfffff
+ 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost>
+ 800022dc: 00073783 ld a5,0(a4)
+ 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68>
+ 800022e4: 0006c783 lbu a5,0(a3)
+ 800022e8: fffff597 auipc a1,0xfffff
+ 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost>
+ 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58>
+ 800022f4: 02010113 addi sp,sp,32
+ 800022f8: 00008067 ret
+
+00000000800022fc <handle_fault>:
+ 800022fc: fffff8b7 lui a7,0xfffff
+ 80002300: 01150733 add a4,a0,a7
+ 80002304: 0003e7b7 lui a5,0x3e
+ 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154>
+ 8000230c: 00c55693 srli a3,a0,0xc
+ 80002310: 60068813 addi a6,a3,1536
+ 80002314: 00002617 auipc a2,0x2
+ 80002318: cec60613 addi a2,a2,-788 # 80004000 <pt>
+ 8000231c: 00381793 slli a5,a6,0x3
+ 80002320: 00f607b3 add a5,a2,a5
+ 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000>
+ 80002328: 01157533 and a0,a0,a7
+ 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110>
+ 80002330: 00006797 auipc a5,0x6
+ 80002334: 4b878793 addi a5,a5,1208 # 800087e8 <freelist_head>
+ 80002338: 0007b583 ld a1,0(a5)
+ 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0>
+ 80002340: 0085b783 ld a5,8(a1)
+ 80002344: 00006717 auipc a4,0x6
+ 80002348: 49c70713 addi a4,a4,1180 # 800087e0 <freelist_tail>
+ 8000234c: 00073703 ld a4,0(a4)
+ 80002350: 00006897 auipc a7,0x6
+ 80002354: 48f8bc23 sd a5,1176(a7) # 800087e8 <freelist_head>
+ 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148>
+ 8000235c: 0005b783 ld a5,0(a1)
+ 80002360: 00381893 slli a7,a6,0x3
+ 80002364: 011608b3 add a7,a2,a7
+ 80002368: 00c7d793 srli a5,a5,0xc
+ 8000236c: 00a79793 slli a5,a5,0xa
+ 80002370: 0df7e313 ori t1,a5,223
+ 80002374: 01f7e713 ori a4,a5,31
+ 80002378: 0068b023 sd t1,0(a7)
+ 8000237c: 12050073 sfence.vma a0
+ 80002380: 00006797 auipc a5,0x6
+ 80002384: 07078793 addi a5,a5,112 # 800083f0 <user_mapping>
+ 80002388: 00469693 slli a3,a3,0x4
+ 8000238c: 00d786b3 add a3,a5,a3
+ 80002390: 0006b783 ld a5,0(a3)
+ 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200>
+ 80002398: 0005b783 ld a5,0(a1)
+ 8000239c: 00f6b023 sd a5,0(a3)
+ 800023a0: 0085b783 ld a5,8(a1)
+ 800023a4: 00f6b423 sd a5,8(a3)
+ 800023a8: 000407b7 lui a5,0x40
+ 800023ac: 1007a8f3 csrrs a7,sstatus,a5
+ 800023b0: ffe007b7 lui a5,0xffe00
+ 800023b4: 00f507b3 add a5,a0,a5
+ 800023b8: 000015b7 lui a1,0x1
+ 800023bc: 00050693 mv a3,a0
+ 800023c0: 00b785b3 add a1,a5,a1
+ 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf7810>
+ 800023c8: 0087be83 ld t4,8(a5)
+ 800023cc: 0107be03 ld t3,16(a5)
+ 800023d0: 0187b303 ld t1,24(a5)
+ 800023d4: 01e6b023 sd t5,0(a3)
+ 800023d8: 01d6b423 sd t4,8(a3)
+ 800023dc: 01c6b823 sd t3,16(a3)
+ 800023e0: 0066bc23 sd t1,24(a3)
+ 800023e4: 02078793 addi a5,a5,32
+ 800023e8: 02068693 addi a3,a3,32
+ 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8>
+ 800023f0: 10089073 csrw sstatus,a7
+ 800023f4: 00381813 slli a6,a6,0x3
+ 800023f8: 01060633 add a2,a2,a6
+ 800023fc: 00e63023 sd a4,0(a2)
+ 80002400: 12050073 sfence.vma a0
+ 80002404: 0000100f fence.i
+ 80002408: 00008067 ret
+ 8000240c: 04077693 andi a3,a4,64
+ 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128>
+ 80002414: 04076713 ori a4,a4,64
+ 80002418: 00e7b023 sd a4,0(a5)
+ 8000241c: 12050073 sfence.vma a0
+ 80002420: 00008067 ret
+ 80002424: 08077693 andi a3,a4,128
+ 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250>
+ 8000242c: 00f00693 li a3,15
+ 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250>
+ 80002434: 08076713 ori a4,a4,128
+ 80002438: 00e7b023 sd a4,0(a5)
+ 8000243c: 12050073 sfence.vma a0
+ 80002440: 00008067 ret
+ 80002444: 00006797 auipc a5,0x6
+ 80002448: 3807be23 sd zero,924(a5) # 800087e0 <freelist_tail>
+ 8000244c: f11ff06f j 8000235c <handle_fault+0x60>
+ 80002450: 10100613 li a2,257
+ 80002454: 04100713 li a4,65
+ 80002458: 00001697 auipc a3,0x1
+ 8000245c: 80068693 addi a3,a3,-2048 # 80002c58 <pass+0xc>
+ 80002460: fffff797 auipc a5,0xfffff
+ 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost>
+ 80002468: 03061613 slli a2,a2,0x30
+ 8000246c: 0007b503 ld a0,0(a5)
+ 80002470: 00168693 addi a3,a3,1
+ 80002474: 00c765b3 or a1,a4,a2
+ 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190>
+ 8000247c: fffff717 auipc a4,0xfffff
+ 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost>
+ 80002484: 0007b703 ld a4,0(a5)
+ 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180>
+ 8000248c: 0006c703 lbu a4,0(a3)
+ 80002490: fffff517 auipc a0,0xfffff
+ 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost>
+ 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170>
+ 8000249c: ff010113 addi sp,sp,-16
+ 800024a0: 00300513 li a0,3
+ 800024a4: 00113423 sd ra,8(sp)
+ 800024a8: d89ff0ef jal ra,80002230 <terminate>
+ 800024ac: 10100693 li a3,257
+ 800024b0: 04100713 li a4,65
+ 800024b4: 00001617 auipc a2,0x1
+ 800024b8: 83460613 addi a2,a2,-1996 # 80002ce8 <pass+0x9c>
+ 800024bc: fffff797 auipc a5,0xfffff
+ 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost>
+ 800024c4: 03069693 slli a3,a3,0x30
+ 800024c8: 0007b503 ld a0,0(a5)
+ 800024cc: 00160613 addi a2,a2,1
+ 800024d0: 00d765b3 or a1,a4,a3
+ 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec>
+ 800024d8: fffff717 auipc a4,0xfffff
+ 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost>
+ 800024e0: 0007b703 ld a4,0(a5)
+ 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc>
+ 800024e8: 00064703 lbu a4,0(a2)
+ 800024ec: fffff517 auipc a0,0xfffff
+ 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost>
+ 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc>
+ 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0>
+ 800024fc: 10100693 li a3,257
+ 80002500: 04100713 li a4,65
+ 80002504: 00000617 auipc a2,0x0
+ 80002508: 7fc60613 addi a2,a2,2044 # 80002d00 <pass+0xb4>
+ 8000250c: fffff797 auipc a5,0xfffff
+ 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost>
+ 80002514: 03069693 slli a3,a3,0x30
+ 80002518: 0007b503 ld a0,0(a5)
+ 8000251c: 00160613 addi a2,a2,1
+ 80002520: 00d765b3 or a1,a4,a3
+ 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c>
+ 80002528: fffff717 auipc a4,0xfffff
+ 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost>
+ 80002530: 0007b703 ld a4,0(a5)
+ 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c>
+ 80002538: 00064703 lbu a4,0(a2)
+ 8000253c: fffff517 auipc a0,0xfffff
+ 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost>
+ 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c>
+ 80002548: f55ff06f j 8000249c <handle_fault+0x1a0>
+ 8000254c: 10100613 li a2,257
+ 80002550: 04100713 li a4,65
+ 80002554: 00000697 auipc a3,0x0
+ 80002558: 74c68693 addi a3,a3,1868 # 80002ca0 <pass+0x54>
+ 8000255c: fffff797 auipc a5,0xfffff
+ 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost>
+ 80002564: 03061613 slli a2,a2,0x30
+ 80002568: 0007b503 ld a0,0(a5)
+ 8000256c: 00168693 addi a3,a3,1
+ 80002570: 00c765b3 or a1,a4,a2
+ 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c>
+ 80002578: fffff717 auipc a4,0xfffff
+ 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost>
+ 80002580: 0007b703 ld a4,0(a5)
+ 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c>
+ 80002588: 0006c703 lbu a4,0(a3)
+ 8000258c: fffff517 auipc a0,0xfffff
+ 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost>
+ 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c>
+ 80002598: f05ff06f j 8000249c <handle_fault+0x1a0>
+
+000000008000259c <handle_trap>:
+ 8000259c: 11853583 ld a1,280(a0)
+ 800025a0: f9010113 addi sp,sp,-112
+ 800025a4: 06813023 sd s0,96(sp)
+ 800025a8: 06113423 sd ra,104(sp)
+ 800025ac: 04913c23 sd s1,88(sp)
+ 800025b0: 05213823 sd s2,80(sp)
+ 800025b4: 05313423 sd s3,72(sp)
+ 800025b8: 05413023 sd s4,64(sp)
+ 800025bc: 03513c23 sd s5,56(sp)
+ 800025c0: 03613823 sd s6,48(sp)
+ 800025c4: 03713423 sd s7,40(sp)
+ 800025c8: 03813023 sd s8,32(sp)
+ 800025cc: 01913c23 sd s9,24(sp)
+ 800025d0: 01a13823 sd s10,16(sp)
+ 800025d4: 01b13423 sd s11,8(sp)
+ 800025d8: 00800793 li a5,8
+ 800025dc: 00050413 mv s0,a0
+ 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178>
+ 800025e4: 00200793 li a5,2
+ 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac>
+ 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c>
+ 800025f0: 00100713 li a4,1
+ 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64>
+ 800025f8: 00f00793 li a5,15
+ 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248>
+ 80002600: 11043503 ld a0,272(s0)
+ 80002604: cf9ff0ef jal ra,800022fc <handle_fault>
+ 80002608: 00040513 mv a0,s0
+ 8000260c: 06013403 ld s0,96(sp)
+ 80002610: 06813083 ld ra,104(sp)
+ 80002614: 05813483 ld s1,88(sp)
+ 80002618: 05013903 ld s2,80(sp)
+ 8000261c: 04813983 ld s3,72(sp)
+ 80002620: 04013a03 ld s4,64(sp)
+ 80002624: 03813a83 ld s5,56(sp)
+ 80002628: 03013b03 ld s6,48(sp)
+ 8000262c: 02813b83 ld s7,40(sp)
+ 80002630: 02013c03 ld s8,32(sp)
+ 80002634: 01813c83 ld s9,24(sp)
+ 80002638: 01013d03 ld s10,16(sp)
+ 8000263c: 00813d83 ld s11,8(sp)
+ 80002640: 07010113 addi sp,sp,112
+ 80002644: 9f9fd06f j 8000003c <pop_tf>
+ 80002648: 10853703 ld a4,264(a0)
+ 8000264c: 00377793 andi a5,a4,3
+ 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128>
+ 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0>
+ 80002658: 00301073 fssr zero
+ 8000265c: 00072703 lw a4,0(a4)
+ 80002660: 0007a783 lw a5,0(a5)
+ 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120>
+ 80002668: 10100513 li a0,257
+ 8000266c: 04100793 li a5,65
+ 80002670: 00000697 auipc a3,0x0
+ 80002674: 76868693 addi a3,a3,1896 # 80002dd8 <pass+0x18c>
+ 80002678: fffff717 auipc a4,0xfffff
+ 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost>
+ 80002680: 03051513 slli a0,a0,0x30
+ 80002684: 00073583 ld a1,0(a4)
+ 80002688: 00168693 addi a3,a3,1
+ 8000268c: 00a7e633 or a2,a5,a0
+ 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108>
+ 80002694: fffff797 auipc a5,0xfffff
+ 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost>
+ 8000269c: 00073783 ld a5,0(a4)
+ 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8>
+ 800026a4: 0006c783 lbu a5,0(a3)
+ 800026a8: fffff597 auipc a1,0xfffff
+ 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost>
+ 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8>
+ 800026b4: 00300513 li a0,3
+ 800026b8: b79ff0ef jal ra,80002230 <terminate>
+ 800026bc: 00100513 li a0,1
+ 800026c0: b71ff0ef jal ra,80002230 <terminate>
+ 800026c4: 10100793 li a5,257
+ 800026c8: 00000617 auipc a2,0x0
+ 800026cc: 6e860613 addi a2,a2,1768 # 80002db0 <pass+0x164>
+ 800026d0: 04100693 li a3,65
+ 800026d4: fffff717 auipc a4,0xfffff
+ 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost>
+ 800026dc: 03079793 slli a5,a5,0x30
+ 800026e0: 00073503 ld a0,0(a4)
+ 800026e4: 00160613 addi a2,a2,1
+ 800026e8: 00f6e5b3 or a1,a3,a5
+ 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164>
+ 800026f0: fffff697 auipc a3,0xfffff
+ 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost>
+ 800026f8: 00073683 ld a3,0(a4)
+ 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154>
+ 80002700: 00064683 lbu a3,0(a2)
+ 80002704: fffff517 auipc a0,0xfffff
+ 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost>
+ 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144>
+ 80002710: fa5ff06f j 800026b4 <handle_trap+0x118>
+ 80002714: 05052983 lw s3,80(a0)
+ 80002718: 00001437 lui s0,0x1
+ 8000271c: 00006d17 auipc s10,0x6
+ 80002720: cd4d0d13 addi s10,s10,-812 # 800083f0 <user_mapping>
+ 80002724: 00002b97 auipc s7,0x2
+ 80002728: 8dcb8b93 addi s7,s7,-1828 # 80004000 <pt>
+ 8000272c: 00040b37 lui s6,0x40
+ 80002730: ffe00ab7 lui s5,0xffe00
+ 80002734: 00006a17 auipc s4,0x6
+ 80002738: 0aca0a13 addi s4,s4,172 # 800087e0 <freelist_tail>
+ 8000273c: 0003f937 lui s2,0x3f
+ 80002740: 01c0006f j 8000275c <handle_trap+0x1c0>
+ 80002744: 00f73423 sd a5,8(a4)
+ 80002748: 00006717 auipc a4,0x6
+ 8000274c: 08f73c23 sd a5,152(a4) # 800087e0 <freelist_tail>
+ 80002750: 000017b7 lui a5,0x1
+ 80002754: 00f40433 add s0,s0,a5
+ 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308>
+ 8000275c: 00c45793 srli a5,s0,0xc
+ 80002760: 00479493 slli s1,a5,0x4
+ 80002764: 009d0733 add a4,s10,s1
+ 80002768: 00073703 ld a4,0(a4)
+ 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4>
+ 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00>
+ 80002774: 00379793 slli a5,a5,0x3
+ 80002778: 00fb87b3 add a5,s7,a5
+ 8000277c: 0007bc03 ld s8,0(a5)
+ 80002780: 040c7793 andi a5,s8,64
+ 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0>
+ 80002788: 100b2cf3 csrrs s9,sstatus,s6
+ 8000278c: 01540db3 add s11,s0,s5
+ 80002790: 00001637 lui a2,0x1
+ 80002794: 000d8593 mv a1,s11
+ 80002798: 00040513 mv a0,s0
+ 8000279c: 975ff0ef jal ra,80002110 <memcmp>
+ 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220>
+ 800027a4: 080c7c13 andi s8,s8,128
+ 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298>
+ 800027ac: 00001637 lui a2,0x1
+ 800027b0: 000d8593 mv a1,s11
+ 800027b4: 00040513 mv a0,s0
+ 800027b8: 849ff0ef jal ra,80002000 <memcpy>
+ 800027bc: 009d07b3 add a5,s10,s1
+ 800027c0: 100c9073 csrw sstatus,s9
+ 800027c4: 000a3703 ld a4,0(s4)
+ 800027c8: 0007b023 sd zero,0(a5)
+ 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8>
+ 800027d0: 00006717 auipc a4,0x6
+ 800027d4: 00f73823 sd a5,16(a4) # 800087e0 <freelist_tail>
+ 800027d8: 00006717 auipc a4,0x6
+ 800027dc: 00f73823 sd a5,16(a4) # 800087e8 <freelist_head>
+ 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4>
+ 800027e4: 10100793 li a5,257
+ 800027e8: 04100613 li a2,65
+ 800027ec: 00000697 auipc a3,0x0
+ 800027f0: 61c68693 addi a3,a3,1564 # 80002e08 <pass+0x1bc>
+ 800027f4: fffff717 auipc a4,0xfffff
+ 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost>
+ 800027fc: 03079793 slli a5,a5,0x30
+ 80002800: 00073503 ld a0,0(a4)
+ 80002804: 00168693 addi a3,a3,1
+ 80002808: 00f665b3 or a1,a2,a5
+ 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284>
+ 80002810: fffff617 auipc a2,0xfffff
+ 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost>
+ 80002818: 00073603 ld a2,0(a4)
+ 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274>
+ 80002820: 0006c603 lbu a2,0(a3)
+ 80002824: ffffe517 auipc a0,0xffffe
+ 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost>
+ 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264>
+ 80002830: e85ff06f j 800026b4 <handle_trap+0x118>
+ 80002834: 10100793 li a5,257
+ 80002838: 04100613 li a2,65
+ 8000283c: 00000697 auipc a3,0x0
+ 80002840: 53c68693 addi a3,a3,1340 # 80002d78 <pass+0x12c>
+ 80002844: ffffe717 auipc a4,0xffffe
+ 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost>
+ 8000284c: 03079793 slli a5,a5,0x30
+ 80002850: 00168693 addi a3,a3,1
+ 80002854: 00f665b3 or a1,a2,a5
+ 80002858: 00073603 ld a2,0(a4)
+ 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310>
+ 80002860: ffffe617 auipc a2,0xffffe
+ 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost>
+ 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc>
+ 8000286c: 10100793 li a5,257
+ 80002870: 04100613 li a2,65
+ 80002874: 00000697 auipc a3,0x0
+ 80002878: 4cc68693 addi a3,a3,1228 # 80002d40 <pass+0xf4>
+ 8000287c: ffffe717 auipc a4,0xffffe
+ 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost>
+ 80002884: 03079793 slli a5,a5,0x30
+ 80002888: 00168693 addi a3,a3,1
+ 8000288c: 00f665b3 or a1,a2,a5
+ 80002890: 00073603 ld a2,0(a4)
+ 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324>
+ 80002898: ffffe617 auipc a2,0xffffe
+ 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost>
+ 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4>
+ 800028a4: 00098513 mv a0,s3
+ 800028a8: 989ff0ef jal ra,80002230 <terminate>
+ 800028ac: 0006c603 lbu a2,0(a3)
+ 800028b0: ffffe517 auipc a0,0xffffe
+ 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost>
+ 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4>
+ 800028bc: df9ff06f j 800026b4 <handle_trap+0x118>
+ 800028c0: 0006c603 lbu a2,0(a3)
+ 800028c4: ffffe517 auipc a0,0xffffe
+ 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost>
+ 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec>
+ 800028d0: de5ff06f j 800026b4 <handle_trap+0x118>
+
+00000000800028d4 <vm_boot>:
+ 800028d4: f14027f3 csrr a5,mhartid
+ 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198>
+ 800028dc: 00002697 auipc a3,0x2
+ 800028e0: 72468693 addi a3,a3,1828 # 80005000 <pt+0x1000>
+ 800028e4: 00003717 auipc a4,0x3
+ 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <pt+0x2000>
+ 800028ec: 00c6d693 srli a3,a3,0xc
+ 800028f0: 00c75713 srli a4,a4,0xc
+ 800028f4: 00004797 auipc a5,0x4
+ 800028f8: 70c78793 addi a5,a5,1804 # 80007000 <pt+0x3000>
+ 800028fc: 00a69693 slli a3,a3,0xa
+ 80002900: 00a71713 slli a4,a4,0xa
+ 80002904: 0016e693 ori a3,a3,1
+ 80002908: 00176713 ori a4,a4,1
+ 8000290c: 00c7d793 srli a5,a5,0xc
+ 80002910: 00001897 auipc a7,0x1
+ 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <pt>
+ 80002918: 00a79793 slli a5,a5,0xa
+ 8000291c: 00002697 auipc a3,0x2
+ 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <pt+0xff8>
+ 80002924: 20000737 lui a4,0x20000
+ 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31>
+ 8000292c: fff00593 li a1,-1
+ 80002930: 0017e793 ori a5,a5,1
+ 80002934: 00001617 auipc a2,0x1
+ 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <pt>
+ 8000293c: ed010113 addi sp,sp,-304
+ 80002940: 03f59813 slli a6,a1,0x3f
+ 80002944: 00004697 auipc a3,0x4
+ 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <pt+0x2ff8>
+ 8000294c: 00002717 auipc a4,0x2
+ 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <pt+0x1000>
+ 80002954: 00c65793 srli a5,a2,0xc
+ 80002958: 12113423 sd ra,296(sp)
+ 8000295c: 12813023 sd s0,288(sp)
+ 80002960: 0107e7b3 or a5,a5,a6
+ 80002964: 18079073 csrw satp,a5
+ 80002968: 01f00793 li a5,31
+ 8000296c: 00000297 auipc t0,0x0
+ 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac>
+ 80002974: 305292f3 csrrw t0,mtvec,t0
+ 80002978: 3b059073 csrw pmpaddr0,a1
+ 8000297c: 3a079073 csrw pmpcfg0,a5
+ 80002980: bff00813 li a6,-1025
+ 80002984: 01581813 slli a6,a6,0x15
+ 80002988: ffffd797 auipc a5,0xffffd
+ 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry>
+ 80002990: 010787b3 add a5,a5,a6
+ 80002994: 10579073 csrw stvec,a5
+ 80002998: 340027f3 csrr a5,mscratch
+ 8000299c: 010787b3 add a5,a5,a6
+ 800029a0: 14079073 csrw sscratch,a5
+ 800029a4: 0000b7b7 lui a5,0xb
+ 800029a8: 1007879b addiw a5,a5,256
+ 800029ac: 30279073 csrw medeleg,a5
+ 800029b0: 0001e7b7 lui a5,0x1e
+ 800029b4: 30079073 csrw mstatus,a5
+ 800029b8: 30405073 csrwi mie,0
+ 800029bc: 00005697 auipc a3,0x5
+ 800029c0: 64468693 addi a3,a3,1604 # 80008000 <freelist_nodes>
+ 800029c4: 010687b3 add a5,a3,a6
+ 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20>
+ 800029cc: 00006617 auipc a2,0x6
+ 800029d0: e0f63e23 sd a5,-484(a2) # 800087e8 <freelist_head>
+ 800029d4: 00006797 auipc a5,0x6
+ 800029d8: e0e7b623 sd a4,-500(a5) # 800087e0 <freelist_tail>
+ 800029dc: 00006317 auipc t1,0x6
+ 800029e0: a1430313 addi t1,t1,-1516 # 800083f0 <user_mapping>
+ 800029e4: 03100793 li a5,49
+ 800029e8: 000808b7 lui a7,0x80
+ 800029ec: 01080813 addi a6,a6,16
+ 800029f0: 03f7871b addiw a4,a5,63
+ 800029f4: 02071713 slli a4,a4,0x20
+ 800029f8: 0017d61b srliw a2,a5,0x1
+ 800029fc: 02075713 srli a4,a4,0x20
+ 80002a00: 00c7c7b3 xor a5,a5,a2
+ 80002a04: 01170733 add a4,a4,a7
+ 80002a08: 010685b3 add a1,a3,a6
+ 80002a0c: 00c71713 slli a4,a4,0xc
+ 80002a10: 0057979b slliw a5,a5,0x5
+ 80002a14: 00e6b023 sd a4,0(a3)
+ 80002a18: 00b6b423 sd a1,8(a3)
+ 80002a1c: 0207f793 andi a5,a5,32
+ 80002a20: 01068693 addi a3,a3,16
+ 80002a24: 00c7e7b3 or a5,a5,a2
+ 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c>
+ 80002a2c: 00050413 mv s0,a0
+ 80002a30: 12000613 li a2,288
+ 80002a34: 00000593 li a1,0
+ 80002a38: 00010513 mv a0,sp
+ 80002a3c: 00006797 auipc a5,0x6
+ 80002a40: 9a07b623 sd zero,-1620(a5) # 800083e8 <freelist_nodes+0x3e8>
+ 80002a44: e18ff0ef jal ra,8000205c <memset>
+ 80002a48: 800007b7 lui a5,0x80000
+ 80002a4c: 00f40433 add s0,s0,a5
+ 80002a50: 00010513 mv a0,sp
+ 80002a54: 10813423 sd s0,264(sp)
+ 80002a58: de4fd0ef jal ra,8000003c <pop_tf>
+ 80002a5c: 12813083 ld ra,296(sp)
+ 80002a60: 12013403 ld s0,288(sp)
+ 80002a64: 13010113 addi sp,sp,304
+ 80002a68: 00008067 ret
+ 80002a6c: 0fd527b7 lui a5,0xfd52
+ 80002a70: 000805b7 lui a1,0x80
+ 80002a74: 05878793 addi a5,a5,88 # fd52058 <_start-0x702adfa8>
+ 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004>
+ 80002a7c: 00100613 li a2,1
+ 80002a80: 00b7f733 and a4,a5,a1
+ 80002a84: 01f61613 slli a2,a2,0x1f
+ 80002a88: 0017f693 andi a3,a5,1
+ 80002a8c: 02079793 slli a5,a5,0x20
+ 80002a90: 0207d793 srli a5,a5,0x20
+ 80002a94: 00c70733 add a4,a4,a2
+ 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8>
+ 80002a9c: 0007202f amoadd.w zero,zero,(a4)
+ 80002aa0: 0017d793 srli a5,a5,0x1
+ 80002aa4: 00b7f733 and a4,a5,a1
+ 80002aa8: 0017f693 andi a3,a5,1
+ 80002aac: 02079793 slli a5,a5,0x20
+ 80002ab0: 0207d793 srli a5,a5,0x20
+ 80002ab4: 00c70733 add a4,a4,a2
+ 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8>
+ 80002abc: 00072003 lw zero,0(a4)
+ 80002ac0: 0017d793 srli a5,a5,0x1
+ 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0>
+
+0000000080002ac8 <userstart>:
+ 80002ac8: 00301073 fssr zero
+
+0000000080002acc <test_2>:
+ 80002acc: 00200193 li gp,2
+ 80002ad0: 00000517 auipc a0,0x0
+ 80002ad4: 53050513 addi a0,a0,1328 # 80003000 <test_2_data>
+ 80002ad8: 00052007 flw ft0,0(a0)
+ 80002adc: 00452087 flw ft1,4(a0)
+ 80002ae0: 00852107 flw ft2,8(a0)
+ 80002ae4: 00c52683 lw a3,12(a0)
+ 80002ae8: 181071d3 fdiv.s ft3,ft0,ft1
+ 80002aec: e0018553 fmv.x.w a0,ft3
+ 80002af0: 001015f3 fsflags a1,zero
+ 80002af4: 00100613 li a2,1
+ 80002af8: 14d51263 bne a0,a3,80002c3c <fail>
+ 80002afc: 14c59063 bne a1,a2,80002c3c <fail>
+
+0000000080002b00 <test_3>:
+ 80002b00: 00300193 li gp,3
+ 80002b04: 00000517 auipc a0,0x0
+ 80002b08: 50c50513 addi a0,a0,1292 # 80003010 <test_3_data>
+ 80002b0c: 00052007 flw ft0,0(a0)
+ 80002b10: 00452087 flw ft1,4(a0)
+ 80002b14: 00852107 flw ft2,8(a0)
+ 80002b18: 00c52683 lw a3,12(a0)
+ 80002b1c: 181071d3 fdiv.s ft3,ft0,ft1
+ 80002b20: e0018553 fmv.x.w a0,ft3
+ 80002b24: 001015f3 fsflags a1,zero
+ 80002b28: 00100613 li a2,1
+ 80002b2c: 10d51863 bne a0,a3,80002c3c <fail>
+ 80002b30: 10c59663 bne a1,a2,80002c3c <fail>
+
+0000000080002b34 <test_4>:
+ 80002b34: 00400193 li gp,4
+ 80002b38: 00000517 auipc a0,0x0
+ 80002b3c: 4e850513 addi a0,a0,1256 # 80003020 <test_4_data>
+ 80002b40: 00052007 flw ft0,0(a0)
+ 80002b44: 00452087 flw ft1,4(a0)
+ 80002b48: 00852107 flw ft2,8(a0)
+ 80002b4c: 00c52683 lw a3,12(a0)
+ 80002b50: 181071d3 fdiv.s ft3,ft0,ft1
+ 80002b54: e0018553 fmv.x.w a0,ft3
+ 80002b58: 001015f3 fsflags a1,zero
+ 80002b5c: 00000613 li a2,0
+ 80002b60: 0cd51e63 bne a0,a3,80002c3c <fail>
+ 80002b64: 0cc59c63 bne a1,a2,80002c3c <fail>
+
+0000000080002b68 <test_5>:
+ 80002b68: 00500193 li gp,5
+ 80002b6c: 00000517 auipc a0,0x0
+ 80002b70: 4c450513 addi a0,a0,1220 # 80003030 <test_5_data>
+ 80002b74: 00052007 flw ft0,0(a0)
+ 80002b78: 00452087 flw ft1,4(a0)
+ 80002b7c: 00852107 flw ft2,8(a0)
+ 80002b80: 00c52683 lw a3,12(a0)
+ 80002b84: 580071d3 fsqrt.s ft3,ft0
+ 80002b88: e0018553 fmv.x.w a0,ft3
+ 80002b8c: 001015f3 fsflags a1,zero
+ 80002b90: 00100613 li a2,1
+ 80002b94: 0ad51463 bne a0,a3,80002c3c <fail>
+ 80002b98: 0ac59263 bne a1,a2,80002c3c <fail>
+
+0000000080002b9c <test_6>:
+ 80002b9c: 00600193 li gp,6
+ 80002ba0: 00000517 auipc a0,0x0
+ 80002ba4: 4a050513 addi a0,a0,1184 # 80003040 <test_6_data>
+ 80002ba8: 00052007 flw ft0,0(a0)
+ 80002bac: 00452087 flw ft1,4(a0)
+ 80002bb0: 00852107 flw ft2,8(a0)
+ 80002bb4: 00c52683 lw a3,12(a0)
+ 80002bb8: 580071d3 fsqrt.s ft3,ft0
+ 80002bbc: e0018553 fmv.x.w a0,ft3
+ 80002bc0: 001015f3 fsflags a1,zero
+ 80002bc4: 00000613 li a2,0
+ 80002bc8: 06d51a63 bne a0,a3,80002c3c <fail>
+ 80002bcc: 06c59863 bne a1,a2,80002c3c <fail>
+
+0000000080002bd0 <test_7>:
+ 80002bd0: 00700193 li gp,7
+ 80002bd4: 00000517 auipc a0,0x0
+ 80002bd8: 47c50513 addi a0,a0,1148 # 80003050 <test_7_data>
+ 80002bdc: 00052007 flw ft0,0(a0)
+ 80002be0: 00452087 flw ft1,4(a0)
+ 80002be4: 00852107 flw ft2,8(a0)
+ 80002be8: 00c52683 lw a3,12(a0)
+ 80002bec: 580071d3 fsqrt.s ft3,ft0
+ 80002bf0: e0018553 fmv.x.w a0,ft3
+ 80002bf4: 001015f3 fsflags a1,zero
+ 80002bf8: 01000613 li a2,16
+ 80002bfc: 04d51063 bne a0,a3,80002c3c <fail>
+ 80002c00: 02c59e63 bne a1,a2,80002c3c <fail>
+
+0000000080002c04 <test_8>:
+ 80002c04: 00800193 li gp,8
+ 80002c08: 00000517 auipc a0,0x0
+ 80002c0c: 45c50513 addi a0,a0,1116 # 80003064 <test_8_data>
+ 80002c10: 00052007 flw ft0,0(a0)
+ 80002c14: 00452087 flw ft1,4(a0)
+ 80002c18: 00852107 flw ft2,8(a0)
+ 80002c1c: 00c52683 lw a3,12(a0)
+ 80002c20: 580071d3 fsqrt.s ft3,ft0
+ 80002c24: e0018553 fmv.x.w a0,ft3
+ 80002c28: 001015f3 fsflags a1,zero
+ 80002c2c: 00100613 li a2,1
+ 80002c30: 00d51663 bne a0,a3,80002c3c <fail>
+ 80002c34: 00c59463 bne a1,a2,80002c3c <fail>
+ 80002c38: 00301a63 bne zero,gp,80002c4c <pass>
+
+0000000080002c3c <fail>:
+ 80002c3c: 00119513 slli a0,gp,0x1
+ 80002c40: 00050063 beqz a0,80002c40 <fail+0x4>
+ 80002c44: 00156513 ori a0,a0,1
+ 80002c48: 00000073 ecall
+
+0000000080002c4c <pass>:
+ 80002c4c: 00100513 li a0,1
+ 80002c50: 00000073 ecall
+ 80002c54: c0001073 unimp
+
+Disassembly of section .data:
+
+0000000080003000 <test_2_data>:
+ 80003000: 40490fdb 0x40490fdb
+ 80003004: f854 sd a3,176(s0)
+ 80003006: 402d c.li zero,11
+ 80003008: 0000 unimp
+ 8000300a: 0000 unimp
+ 8000300c: eee0 sd s0,216(a3)
+ 8000300e: sltiu t6,zero,1024
+
+0000000080003010 <test_3_data>:
+ 80003010: 4000 lw s0,0(s0)
+ 80003012: c49a sw t1,72(sp)
+ 80003014: 449a6333 0x449a6333
+ 80003018: 0000 unimp
+ 8000301a: 0000 unimp
+ 8000301c: c5a2 sw s0,200(sp)
+ 8000301e: bf7f 0xbf7f
+
+0000000080003020 <test_4_data>:
+ 80003020: 40490fdb 0x40490fdb
+ 80003024: 0000 unimp
+ 80003026: 3f80 fld fs0,56(a5)
+ 80003028: 0000 unimp
+ 8000302a: 0000 unimp
+ 8000302c: 40490fdb 0x40490fdb
+
+0000000080003030 <test_5_data>:
+ 80003030: 40490fdb 0x40490fdb
+ 80003034: 0000 unimp
+ 80003036: 0000 unimp
+ 80003038: 0000 unimp
+ 8000303a: 0000 unimp
+ 8000303c: dfc5 beqz a5,80002ff4 <pass+0x3a8>
+ 8000303e: 3fe2 fld ft11,56(sp)
+
+0000000080003040 <test_6_data>:
+ 80003040: 4000 lw s0,0(s0)
+ 80003042: 461c lw a5,8(a2)
+ 80003044: 0000 unimp
+ 80003046: 0000 unimp
+ 80003048: 0000 unimp
+ 8000304a: 0000 unimp
+ 8000304c: 0000 unimp
+ 8000304e: 42c8 lw a0,4(a3)
+
+0000000080003050 <test_7_data>:
+ 80003050: 0000 unimp
+ 80003052: bf80 fsd fs0,56(a5)
+ 80003054: 0000 unimp
+ 80003056: 0000 unimp
+ 80003058: 0000 unimp
+ 8000305a: 0000 unimp
+ 8000305c: 0000 unimp
+ 8000305e: 7fc0 ld s0,184(a5)
+ 80003060: 0000 unimp
+ 80003062: 0000 unimp
+
+0000000080003064 <test_8_data>:
+ 80003064: 0000 unimp
+ 80003066: 0000432b 0x432b
+ 8000306a: 0000 unimp
+ 8000306c: 0000 unimp
+ 8000306e: 0000 unimp
+ 80003070: 3a26 fld fs4,104(sp)
+ 80003072: 4151 li sp,20
+ 80003074: 0000 unimp
+ 80003076: 0000 unimp
+ 80003078: 0000 unimp
+ 8000307a: 0000 unimp
+ 8000307c: 0000 unimp
+ 8000307e: 0000 unimp
diff --git a/test/riscv-tests/rv64uf-v-fdiv.elf b/test/riscv-tests/rv64uf-v-fdiv.elf
new file mode 100644
index 0000000..5e4c30d
--- /dev/null
+++ b/test/riscv-tests/rv64uf-v-fdiv.elf
Binary files differ
diff --git a/test/riscv-tests/rv64uf-v-fmadd.dump b/test/riscv-tests/rv64uf-v-fmadd.dump
new file mode 100644
index 0000000..f99b7b2
--- /dev/null
+++ b/test/riscv-tests/rv64uf-v-fmadd.dump
@@ -0,0 +1,1140 @@
+
+rv64uf-v-fmadd: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 00c0006f j 8000000c <handle_reset>
+
+0000000080000004 <nmi_vector>:
+ 80000004: 2580206f j 8000225c <wtf>
+
+0000000080000008 <trap_vector>:
+ 80000008: 2540206f j 8000225c <wtf>
+
+000000008000000c <handle_reset>:
+ 8000000c: 00000297 auipc t0,0x0
+ 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+ 80000014: 30529073 csrw mtvec,t0
+ 80000018: 00009117 auipc sp,0x9
+ 8000001c: 6b810113 addi sp,sp,1720 # 800096d0 <_end+0xee0>
+ 80000020: f14022f3 csrr t0,mhartid
+ 80000024: 00c29293 slli t0,t0,0xc
+ 80000028: 00510133 add sp,sp,t0
+ 8000002c: 34011073 csrw mscratch,sp
+ 80000030: 00003517 auipc a0,0x3
+ 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart>
+ 80000038: 09d0206f j 800028d4 <vm_boot>
+
+000000008000003c <pop_tf>:
+ 8000003c: 10853283 ld t0,264(a0)
+ 80000040: 14129073 csrw sepc,t0
+ 80000044: 00853083 ld ra,8(a0)
+ 80000048: 01053103 ld sp,16(a0)
+ 8000004c: 01853183 ld gp,24(a0)
+ 80000050: 02053203 ld tp,32(a0)
+ 80000054: 02853283 ld t0,40(a0)
+ 80000058: 03053303 ld t1,48(a0)
+ 8000005c: 03853383 ld t2,56(a0)
+ 80000060: 04053403 ld s0,64(a0)
+ 80000064: 04853483 ld s1,72(a0)
+ 80000068: 05853583 ld a1,88(a0)
+ 8000006c: 06053603 ld a2,96(a0)
+ 80000070: 06853683 ld a3,104(a0)
+ 80000074: 07053703 ld a4,112(a0)
+ 80000078: 07853783 ld a5,120(a0)
+ 8000007c: 08053803 ld a6,128(a0)
+ 80000080: 08853883 ld a7,136(a0)
+ 80000084: 09053903 ld s2,144(a0)
+ 80000088: 09853983 ld s3,152(a0)
+ 8000008c: 0a053a03 ld s4,160(a0)
+ 80000090: 0a853a83 ld s5,168(a0)
+ 80000094: 0b053b03 ld s6,176(a0)
+ 80000098: 0b853b83 ld s7,184(a0)
+ 8000009c: 0c053c03 ld s8,192(a0)
+ 800000a0: 0c853c83 ld s9,200(a0)
+ 800000a4: 0d053d03 ld s10,208(a0)
+ 800000a8: 0d853d83 ld s11,216(a0)
+ 800000ac: 0e053e03 ld t3,224(a0)
+ 800000b0: 0e853e83 ld t4,232(a0)
+ 800000b4: 0f053f03 ld t5,240(a0)
+ 800000b8: 0f853f83 ld t6,248(a0)
+ 800000bc: 05053503 ld a0,80(a0)
+ 800000c0: 10200073 sret
+
+00000000800000c4 <trap_entry>:
+ 800000c4: 14011173 csrrw sp,sscratch,sp
+ 800000c8: 00113423 sd ra,8(sp)
+ 800000cc: 00313c23 sd gp,24(sp)
+ 800000d0: 02413023 sd tp,32(sp)
+ 800000d4: 02513423 sd t0,40(sp)
+ 800000d8: 02613823 sd t1,48(sp)
+ 800000dc: 02713c23 sd t2,56(sp)
+ 800000e0: 04813023 sd s0,64(sp)
+ 800000e4: 04913423 sd s1,72(sp)
+ 800000e8: 04a13823 sd a0,80(sp)
+ 800000ec: 04b13c23 sd a1,88(sp)
+ 800000f0: 06c13023 sd a2,96(sp)
+ 800000f4: 06d13423 sd a3,104(sp)
+ 800000f8: 06e13823 sd a4,112(sp)
+ 800000fc: 06f13c23 sd a5,120(sp)
+ 80000100: 09013023 sd a6,128(sp)
+ 80000104: 09113423 sd a7,136(sp)
+ 80000108: 09213823 sd s2,144(sp)
+ 8000010c: 09313c23 sd s3,152(sp)
+ 80000110: 0b413023 sd s4,160(sp)
+ 80000114: 0b513423 sd s5,168(sp)
+ 80000118: 0b613823 sd s6,176(sp)
+ 8000011c: 0b713c23 sd s7,184(sp)
+ 80000120: 0d813023 sd s8,192(sp)
+ 80000124: 0d913423 sd s9,200(sp)
+ 80000128: 0da13823 sd s10,208(sp)
+ 8000012c: 0db13c23 sd s11,216(sp)
+ 80000130: 0fc13023 sd t3,224(sp)
+ 80000134: 0fd13423 sd t4,232(sp)
+ 80000138: 0fe13823 sd t5,240(sp)
+ 8000013c: 0ff13c23 sd t6,248(sp)
+ 80000140: 140112f3 csrrw t0,sscratch,sp
+ 80000144: 00513823 sd t0,16(sp)
+ 80000148: 100022f3 csrr t0,sstatus
+ 8000014c: 10513023 sd t0,256(sp)
+ 80000150: 141022f3 csrr t0,sepc
+ 80000154: 10513423 sd t0,264(sp)
+ 80000158: 143022f3 csrr t0,stval
+ 8000015c: 10513823 sd t0,272(sp)
+ 80000160: 142022f3 csrr t0,scause
+ 80000164: 10513c23 sd t0,280(sp)
+ 80000168: 00010513 mv a0,sp
+ 8000016c: 4300206f j 8000259c <handle_trap>
+
+Disassembly of section .text:
+
+0000000080002000 <memcpy>:
+ 80002000: 00c5e7b3 or a5,a1,a2
+ 80002004: 00f567b3 or a5,a0,a5
+ 80002008: 0077f793 andi a5,a5,7
+ 8000200c: 00c506b3 add a3,a0,a2
+ 80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+ 80002014: 00c58633 add a2,a1,a2
+ 80002018: 00050793 mv a5,a0
+ 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+ 80002020: 00158593 addi a1,a1,1
+ 80002024: fff5c703 lbu a4,-1(a1)
+ 80002028: 00178793 addi a5,a5,1
+ 8000202c: fee78fa3 sb a4,-1(a5)
+ 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+ 80002034: 00008067 ret
+ 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+ 8000203c: 00050793 mv a5,a0
+ 80002040: 00858593 addi a1,a1,8
+ 80002044: ff85b703 ld a4,-8(a1)
+ 80002048: 00878793 addi a5,a5,8
+ 8000204c: fee7bc23 sd a4,-8(a5)
+ 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+ 80002054: 00008067 ret
+ 80002058: 00008067 ret
+
+000000008000205c <memset>:
+ 8000205c: 00c567b3 or a5,a0,a2
+ 80002060: 0077f793 andi a5,a5,7
+ 80002064: 00c50633 add a2,a0,a2
+ 80002068: 0ff5f593 andi a1,a1,255
+ 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c>
+ 80002070: 00050793 mv a5,a0
+ 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c>
+ 80002078: 00178793 addi a5,a5,1
+ 8000207c: feb78fa3 sb a1,-1(a5)
+ 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+ 80002084: 00008067 ret
+ 80002088: 00859793 slli a5,a1,0x8
+ 8000208c: 00b7e5b3 or a1,a5,a1
+ 80002090: 01059793 slli a5,a1,0x10
+ 80002094: 00b7e7b3 or a5,a5,a1
+ 80002098: 02079593 slli a1,a5,0x20
+ 8000209c: 00f5e5b3 or a1,a1,a5
+ 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28>
+ 800020a4: 00050793 mv a5,a0
+ 800020a8: 00878793 addi a5,a5,8
+ 800020ac: feb7bc23 sd a1,-8(a5)
+ 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c>
+ 800020b4: 00008067 ret
+ 800020b8: 00008067 ret
+
+00000000800020bc <strlen>:
+ 800020bc: 00054783 lbu a5,0(a0)
+ 800020c0: 00050713 mv a4,a0
+ 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20>
+ 800020c8: 00150513 addi a0,a0,1
+ 800020cc: 00054783 lbu a5,0(a0)
+ 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc>
+ 800020d4: 40e50533 sub a0,a0,a4
+ 800020d8: 00008067 ret
+ 800020dc: 00000513 li a0,0
+ 800020e0: 00008067 ret
+
+00000000800020e4 <strcmp>:
+ 800020e4: 00150513 addi a0,a0,1
+ 800020e8: fff54783 lbu a5,-1(a0)
+ 800020ec: 00158593 addi a1,a1,1
+ 800020f0: fff5c703 lbu a4,-1(a1)
+ 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24>
+ 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp>
+ 800020fc: 0007851b sext.w a0,a5
+ 80002100: 40e5053b subw a0,a0,a4
+ 80002104: 00008067 ret
+ 80002108: 00000513 li a0,0
+ 8000210c: ff5ff06f j 80002100 <strcmp+0x1c>
+
+0000000080002110 <memcmp>:
+ 80002110: 00b567b3 or a5,a0,a1
+ 80002114: 0077f793 andi a5,a5,7
+ 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c>
+ 8000211c: ff867693 andi a3,a2,-8
+ 80002120: 00d506b3 add a3,a0,a3
+ 80002124: 00050813 mv a6,a0
+ 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c>
+ 8000212c: 00053703 ld a4,0(a0)
+ 80002130: 0005b783 ld a5,0(a1)
+ 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38>
+ 80002138: 0240006f j 8000215c <memcmp+0x4c>
+ 8000213c: 00053703 ld a4,0(a0)
+ 80002140: 0005b783 ld a5,0(a1)
+ 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44>
+ 80002148: 00850513 addi a0,a0,8
+ 8000214c: 00858593 addi a1,a1,8
+ 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c>
+ 80002154: 41050833 sub a6,a0,a6
+ 80002158: 41060633 sub a2,a2,a6
+ 8000215c: 00c58633 add a2,a1,a2
+ 80002160: 0140006f j 80002174 <memcmp+0x64>
+ 80002164: 00158593 addi a1,a1,1
+ 80002168: fff54783 lbu a5,-1(a0)
+ 8000216c: fff5c703 lbu a4,-1(a1)
+ 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74>
+ 80002174: 00150513 addi a0,a0,1
+ 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54>
+ 8000217c: 00000513 li a0,0
+ 80002180: 00008067 ret
+ 80002184: 40e7853b subw a0,a5,a4
+ 80002188: 00008067 ret
+
+000000008000218c <strcpy>:
+ 8000218c: 00050793 mv a5,a0
+ 80002190: 00158593 addi a1,a1,1
+ 80002194: fff5c703 lbu a4,-1(a1)
+ 80002198: 00178793 addi a5,a5,1
+ 8000219c: fee78fa3 sb a4,-1(a5)
+ 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4>
+ 800021a4: 00008067 ret
+
+00000000800021a8 <atol>:
+ 800021a8: 00054783 lbu a5,0(a0)
+ 800021ac: 02000713 li a4,32
+ 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18>
+ 800021b4: 00150513 addi a0,a0,1
+ 800021b8: 00054783 lbu a5,0(a0)
+ 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc>
+ 800021c0: fd57871b addiw a4,a5,-43
+ 800021c4: 0fd77713 andi a4,a4,253
+ 800021c8: 04070263 beqz a4,8000220c <atol+0x64>
+ 800021cc: 00054683 lbu a3,0(a0)
+ 800021d0: 00050793 mv a5,a0
+ 800021d4: 00000613 li a2,0
+ 800021d8: 04068863 beqz a3,80002228 <atol+0x80>
+ 800021dc: 00000513 li a0,0
+ 800021e0: 00178793 addi a5,a5,1
+ 800021e4: fd06859b addiw a1,a3,-48
+ 800021e8: 00251713 slli a4,a0,0x2
+ 800021ec: 0007c683 lbu a3,0(a5)
+ 800021f0: 00a70533 add a0,a4,a0
+ 800021f4: 00151513 slli a0,a0,0x1
+ 800021f8: 00a58533 add a0,a1,a0
+ 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38>
+ 80002200: 00060463 beqz a2,80002208 <atol+0x60>
+ 80002204: 40a00533 neg a0,a0
+ 80002208: 00008067 ret
+ 8000220c: 00154683 lbu a3,1(a0)
+ 80002210: fd378793 addi a5,a5,-45
+ 80002214: 0017b613 seqz a2,a5
+ 80002218: 00150793 addi a5,a0,1
+ 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34>
+ 80002220: 00000513 li a0,0
+ 80002224: fddff06f j 80002200 <atol+0x58>
+ 80002228: 00000513 li a0,0
+ 8000222c: 00008067 ret
+
+0000000080002230 <terminate>:
+ 80002230: fffff797 auipc a5,0xfffff
+ 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost>
+ 80002238: 0007b703 ld a4,0(a5)
+ 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20>
+ 80002240: fffff717 auipc a4,0xfffff
+ 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost>
+ 80002248: 0007b703 ld a4,0(a5)
+ 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10>
+ 80002250: fffff797 auipc a5,0xfffff
+ 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost>
+ 80002258: 0000006f j 80002258 <terminate+0x28>
+
+000000008000225c <wtf>:
+ 8000225c: ff010113 addi sp,sp,-16
+ 80002260: 34900513 li a0,841
+ 80002264: 00113423 sd ra,8(sp)
+ 80002268: fc9ff0ef jal ra,80002230 <terminate>
+
+000000008000226c <printhex>:
+ 8000226c: fe010113 addi sp,sp,-32
+ 80002270: 01710713 addi a4,sp,23
+ 80002274: 00710813 addi a6,sp,7
+ 80002278: 00900593 li a1,9
+ 8000227c: 00f57793 andi a5,a0,15
+ 80002280: 03000613 li a2,48
+ 80002284: 0ff7f693 andi a3,a5,255
+ 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24>
+ 8000228c: 05700613 li a2,87
+ 80002290: 00c687bb addw a5,a3,a2
+ 80002294: 00f70023 sb a5,0(a4)
+ 80002298: fff70713 addi a4,a4,-1
+ 8000229c: 00455513 srli a0,a0,0x4
+ 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10>
+ 800022a4: 00814783 lbu a5,8(sp)
+ 800022a8: 00010c23 sb zero,24(sp)
+ 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88>
+ 800022b0: 10100513 li a0,257
+ 800022b4: 00810693 addi a3,sp,8
+ 800022b8: fffff717 auipc a4,0xfffff
+ 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost>
+ 800022c0: 03051513 slli a0,a0,0x30
+ 800022c4: 00073583 ld a1,0(a4)
+ 800022c8: 00168693 addi a3,a3,1
+ 800022cc: 00a7e633 or a2,a5,a0
+ 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78>
+ 800022d4: fffff797 auipc a5,0xfffff
+ 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost>
+ 800022dc: 00073783 ld a5,0(a4)
+ 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68>
+ 800022e4: 0006c783 lbu a5,0(a3)
+ 800022e8: fffff597 auipc a1,0xfffff
+ 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost>
+ 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58>
+ 800022f4: 02010113 addi sp,sp,32
+ 800022f8: 00008067 ret
+
+00000000800022fc <handle_fault>:
+ 800022fc: fffff8b7 lui a7,0xfffff
+ 80002300: 01150733 add a4,a0,a7
+ 80002304: 0003e7b7 lui a5,0x3e
+ 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154>
+ 8000230c: 00c55693 srli a3,a0,0xc
+ 80002310: 60068813 addi a6,a3,1536
+ 80002314: 00002617 auipc a2,0x2
+ 80002318: cec60613 addi a2,a2,-788 # 80004000 <pt>
+ 8000231c: 00381793 slli a5,a6,0x3
+ 80002320: 00f607b3 add a5,a2,a5
+ 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000>
+ 80002328: 01157533 and a0,a0,a7
+ 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110>
+ 80002330: 00006797 auipc a5,0x6
+ 80002334: 4b878793 addi a5,a5,1208 # 800087e8 <freelist_head>
+ 80002338: 0007b583 ld a1,0(a5)
+ 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0>
+ 80002340: 0085b783 ld a5,8(a1)
+ 80002344: 00006717 auipc a4,0x6
+ 80002348: 49c70713 addi a4,a4,1180 # 800087e0 <freelist_tail>
+ 8000234c: 00073703 ld a4,0(a4)
+ 80002350: 00006897 auipc a7,0x6
+ 80002354: 48f8bc23 sd a5,1176(a7) # 800087e8 <freelist_head>
+ 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148>
+ 8000235c: 0005b783 ld a5,0(a1)
+ 80002360: 00381893 slli a7,a6,0x3
+ 80002364: 011608b3 add a7,a2,a7
+ 80002368: 00c7d793 srli a5,a5,0xc
+ 8000236c: 00a79793 slli a5,a5,0xa
+ 80002370: 0df7e313 ori t1,a5,223
+ 80002374: 01f7e713 ori a4,a5,31
+ 80002378: 0068b023 sd t1,0(a7)
+ 8000237c: 12050073 sfence.vma a0
+ 80002380: 00006797 auipc a5,0x6
+ 80002384: 07078793 addi a5,a5,112 # 800083f0 <user_mapping>
+ 80002388: 00469693 slli a3,a3,0x4
+ 8000238c: 00d786b3 add a3,a5,a3
+ 80002390: 0006b783 ld a5,0(a3)
+ 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200>
+ 80002398: 0005b783 ld a5,0(a1)
+ 8000239c: 00f6b023 sd a5,0(a3)
+ 800023a0: 0085b783 ld a5,8(a1)
+ 800023a4: 00f6b423 sd a5,8(a3)
+ 800023a8: 000407b7 lui a5,0x40
+ 800023ac: 1007a8f3 csrrs a7,sstatus,a5
+ 800023b0: ffe007b7 lui a5,0xffe00
+ 800023b4: 00f507b3 add a5,a0,a5
+ 800023b8: 000015b7 lui a1,0x1
+ 800023bc: 00050693 mv a3,a0
+ 800023c0: 00b785b3 add a1,a5,a1
+ 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf7810>
+ 800023c8: 0087be83 ld t4,8(a5)
+ 800023cc: 0107be03 ld t3,16(a5)
+ 800023d0: 0187b303 ld t1,24(a5)
+ 800023d4: 01e6b023 sd t5,0(a3)
+ 800023d8: 01d6b423 sd t4,8(a3)
+ 800023dc: 01c6b823 sd t3,16(a3)
+ 800023e0: 0066bc23 sd t1,24(a3)
+ 800023e4: 02078793 addi a5,a5,32
+ 800023e8: 02068693 addi a3,a3,32
+ 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8>
+ 800023f0: 10089073 csrw sstatus,a7
+ 800023f4: 00381813 slli a6,a6,0x3
+ 800023f8: 01060633 add a2,a2,a6
+ 800023fc: 00e63023 sd a4,0(a2)
+ 80002400: 12050073 sfence.vma a0
+ 80002404: 0000100f fence.i
+ 80002408: 00008067 ret
+ 8000240c: 04077693 andi a3,a4,64
+ 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128>
+ 80002414: 04076713 ori a4,a4,64
+ 80002418: 00e7b023 sd a4,0(a5)
+ 8000241c: 12050073 sfence.vma a0
+ 80002420: 00008067 ret
+ 80002424: 08077693 andi a3,a4,128
+ 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250>
+ 8000242c: 00f00693 li a3,15
+ 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250>
+ 80002434: 08076713 ori a4,a4,128
+ 80002438: 00e7b023 sd a4,0(a5)
+ 8000243c: 12050073 sfence.vma a0
+ 80002440: 00008067 ret
+ 80002444: 00006797 auipc a5,0x6
+ 80002448: 3807be23 sd zero,924(a5) # 800087e0 <freelist_tail>
+ 8000244c: f11ff06f j 8000235c <handle_fault+0x60>
+ 80002450: 10100613 li a2,257
+ 80002454: 04100713 li a4,65
+ 80002458: 00001697 auipc a3,0x1
+ 8000245c: 90868693 addi a3,a3,-1784 # 80002d60 <pass+0x10>
+ 80002460: fffff797 auipc a5,0xfffff
+ 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost>
+ 80002468: 03061613 slli a2,a2,0x30
+ 8000246c: 0007b503 ld a0,0(a5)
+ 80002470: 00168693 addi a3,a3,1
+ 80002474: 00c765b3 or a1,a4,a2
+ 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190>
+ 8000247c: fffff717 auipc a4,0xfffff
+ 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost>
+ 80002484: 0007b703 ld a4,0(a5)
+ 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180>
+ 8000248c: 0006c703 lbu a4,0(a3)
+ 80002490: fffff517 auipc a0,0xfffff
+ 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost>
+ 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170>
+ 8000249c: ff010113 addi sp,sp,-16
+ 800024a0: 00300513 li a0,3
+ 800024a4: 00113423 sd ra,8(sp)
+ 800024a8: d89ff0ef jal ra,80002230 <terminate>
+ 800024ac: 10100693 li a3,257
+ 800024b0: 04100713 li a4,65
+ 800024b4: 00001617 auipc a2,0x1
+ 800024b8: 93c60613 addi a2,a2,-1732 # 80002df0 <pass+0xa0>
+ 800024bc: fffff797 auipc a5,0xfffff
+ 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost>
+ 800024c4: 03069693 slli a3,a3,0x30
+ 800024c8: 0007b503 ld a0,0(a5)
+ 800024cc: 00160613 addi a2,a2,1
+ 800024d0: 00d765b3 or a1,a4,a3
+ 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec>
+ 800024d8: fffff717 auipc a4,0xfffff
+ 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost>
+ 800024e0: 0007b703 ld a4,0(a5)
+ 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc>
+ 800024e8: 00064703 lbu a4,0(a2)
+ 800024ec: fffff517 auipc a0,0xfffff
+ 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost>
+ 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc>
+ 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0>
+ 800024fc: 10100693 li a3,257
+ 80002500: 04100713 li a4,65
+ 80002504: 00001617 auipc a2,0x1
+ 80002508: 90460613 addi a2,a2,-1788 # 80002e08 <pass+0xb8>
+ 8000250c: fffff797 auipc a5,0xfffff
+ 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost>
+ 80002514: 03069693 slli a3,a3,0x30
+ 80002518: 0007b503 ld a0,0(a5)
+ 8000251c: 00160613 addi a2,a2,1
+ 80002520: 00d765b3 or a1,a4,a3
+ 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c>
+ 80002528: fffff717 auipc a4,0xfffff
+ 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost>
+ 80002530: 0007b703 ld a4,0(a5)
+ 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c>
+ 80002538: 00064703 lbu a4,0(a2)
+ 8000253c: fffff517 auipc a0,0xfffff
+ 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost>
+ 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c>
+ 80002548: f55ff06f j 8000249c <handle_fault+0x1a0>
+ 8000254c: 10100613 li a2,257
+ 80002550: 04100713 li a4,65
+ 80002554: 00001697 auipc a3,0x1
+ 80002558: 85468693 addi a3,a3,-1964 # 80002da8 <pass+0x58>
+ 8000255c: fffff797 auipc a5,0xfffff
+ 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost>
+ 80002564: 03061613 slli a2,a2,0x30
+ 80002568: 0007b503 ld a0,0(a5)
+ 8000256c: 00168693 addi a3,a3,1
+ 80002570: 00c765b3 or a1,a4,a2
+ 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c>
+ 80002578: fffff717 auipc a4,0xfffff
+ 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost>
+ 80002580: 0007b703 ld a4,0(a5)
+ 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c>
+ 80002588: 0006c703 lbu a4,0(a3)
+ 8000258c: fffff517 auipc a0,0xfffff
+ 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost>
+ 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c>
+ 80002598: f05ff06f j 8000249c <handle_fault+0x1a0>
+
+000000008000259c <handle_trap>:
+ 8000259c: 11853583 ld a1,280(a0)
+ 800025a0: f9010113 addi sp,sp,-112
+ 800025a4: 06813023 sd s0,96(sp)
+ 800025a8: 06113423 sd ra,104(sp)
+ 800025ac: 04913c23 sd s1,88(sp)
+ 800025b0: 05213823 sd s2,80(sp)
+ 800025b4: 05313423 sd s3,72(sp)
+ 800025b8: 05413023 sd s4,64(sp)
+ 800025bc: 03513c23 sd s5,56(sp)
+ 800025c0: 03613823 sd s6,48(sp)
+ 800025c4: 03713423 sd s7,40(sp)
+ 800025c8: 03813023 sd s8,32(sp)
+ 800025cc: 01913c23 sd s9,24(sp)
+ 800025d0: 01a13823 sd s10,16(sp)
+ 800025d4: 01b13423 sd s11,8(sp)
+ 800025d8: 00800793 li a5,8
+ 800025dc: 00050413 mv s0,a0
+ 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178>
+ 800025e4: 00200793 li a5,2
+ 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac>
+ 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c>
+ 800025f0: 00100713 li a4,1
+ 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64>
+ 800025f8: 00f00793 li a5,15
+ 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248>
+ 80002600: 11043503 ld a0,272(s0)
+ 80002604: cf9ff0ef jal ra,800022fc <handle_fault>
+ 80002608: 00040513 mv a0,s0
+ 8000260c: 06013403 ld s0,96(sp)
+ 80002610: 06813083 ld ra,104(sp)
+ 80002614: 05813483 ld s1,88(sp)
+ 80002618: 05013903 ld s2,80(sp)
+ 8000261c: 04813983 ld s3,72(sp)
+ 80002620: 04013a03 ld s4,64(sp)
+ 80002624: 03813a83 ld s5,56(sp)
+ 80002628: 03013b03 ld s6,48(sp)
+ 8000262c: 02813b83 ld s7,40(sp)
+ 80002630: 02013c03 ld s8,32(sp)
+ 80002634: 01813c83 ld s9,24(sp)
+ 80002638: 01013d03 ld s10,16(sp)
+ 8000263c: 00813d83 ld s11,8(sp)
+ 80002640: 07010113 addi sp,sp,112
+ 80002644: 9f9fd06f j 8000003c <pop_tf>
+ 80002648: 10853703 ld a4,264(a0)
+ 8000264c: 00377793 andi a5,a4,3
+ 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128>
+ 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0>
+ 80002658: 00301073 fssr zero
+ 8000265c: 00072703 lw a4,0(a4)
+ 80002660: 0007a783 lw a5,0(a5)
+ 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120>
+ 80002668: 10100513 li a0,257
+ 8000266c: 04100793 li a5,65
+ 80002670: 00001697 auipc a3,0x1
+ 80002674: 87068693 addi a3,a3,-1936 # 80002ee0 <pass+0x190>
+ 80002678: fffff717 auipc a4,0xfffff
+ 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost>
+ 80002680: 03051513 slli a0,a0,0x30
+ 80002684: 00073583 ld a1,0(a4)
+ 80002688: 00168693 addi a3,a3,1
+ 8000268c: 00a7e633 or a2,a5,a0
+ 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108>
+ 80002694: fffff797 auipc a5,0xfffff
+ 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost>
+ 8000269c: 00073783 ld a5,0(a4)
+ 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8>
+ 800026a4: 0006c783 lbu a5,0(a3)
+ 800026a8: fffff597 auipc a1,0xfffff
+ 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost>
+ 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8>
+ 800026b4: 00300513 li a0,3
+ 800026b8: b79ff0ef jal ra,80002230 <terminate>
+ 800026bc: 00100513 li a0,1
+ 800026c0: b71ff0ef jal ra,80002230 <terminate>
+ 800026c4: 10100793 li a5,257
+ 800026c8: 00000617 auipc a2,0x0
+ 800026cc: 7f060613 addi a2,a2,2032 # 80002eb8 <pass+0x168>
+ 800026d0: 04100693 li a3,65
+ 800026d4: fffff717 auipc a4,0xfffff
+ 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost>
+ 800026dc: 03079793 slli a5,a5,0x30
+ 800026e0: 00073503 ld a0,0(a4)
+ 800026e4: 00160613 addi a2,a2,1
+ 800026e8: 00f6e5b3 or a1,a3,a5
+ 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164>
+ 800026f0: fffff697 auipc a3,0xfffff
+ 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost>
+ 800026f8: 00073683 ld a3,0(a4)
+ 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154>
+ 80002700: 00064683 lbu a3,0(a2)
+ 80002704: fffff517 auipc a0,0xfffff
+ 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost>
+ 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144>
+ 80002710: fa5ff06f j 800026b4 <handle_trap+0x118>
+ 80002714: 05052983 lw s3,80(a0)
+ 80002718: 00001437 lui s0,0x1
+ 8000271c: 00006d17 auipc s10,0x6
+ 80002720: cd4d0d13 addi s10,s10,-812 # 800083f0 <user_mapping>
+ 80002724: 00002b97 auipc s7,0x2
+ 80002728: 8dcb8b93 addi s7,s7,-1828 # 80004000 <pt>
+ 8000272c: 00040b37 lui s6,0x40
+ 80002730: ffe00ab7 lui s5,0xffe00
+ 80002734: 00006a17 auipc s4,0x6
+ 80002738: 0aca0a13 addi s4,s4,172 # 800087e0 <freelist_tail>
+ 8000273c: 0003f937 lui s2,0x3f
+ 80002740: 01c0006f j 8000275c <handle_trap+0x1c0>
+ 80002744: 00f73423 sd a5,8(a4)
+ 80002748: 00006717 auipc a4,0x6
+ 8000274c: 08f73c23 sd a5,152(a4) # 800087e0 <freelist_tail>
+ 80002750: 000017b7 lui a5,0x1
+ 80002754: 00f40433 add s0,s0,a5
+ 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308>
+ 8000275c: 00c45793 srli a5,s0,0xc
+ 80002760: 00479493 slli s1,a5,0x4
+ 80002764: 009d0733 add a4,s10,s1
+ 80002768: 00073703 ld a4,0(a4)
+ 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4>
+ 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00>
+ 80002774: 00379793 slli a5,a5,0x3
+ 80002778: 00fb87b3 add a5,s7,a5
+ 8000277c: 0007bc03 ld s8,0(a5)
+ 80002780: 040c7793 andi a5,s8,64
+ 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0>
+ 80002788: 100b2cf3 csrrs s9,sstatus,s6
+ 8000278c: 01540db3 add s11,s0,s5
+ 80002790: 00001637 lui a2,0x1
+ 80002794: 000d8593 mv a1,s11
+ 80002798: 00040513 mv a0,s0
+ 8000279c: 975ff0ef jal ra,80002110 <memcmp>
+ 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220>
+ 800027a4: 080c7c13 andi s8,s8,128
+ 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298>
+ 800027ac: 00001637 lui a2,0x1
+ 800027b0: 000d8593 mv a1,s11
+ 800027b4: 00040513 mv a0,s0
+ 800027b8: 849ff0ef jal ra,80002000 <memcpy>
+ 800027bc: 009d07b3 add a5,s10,s1
+ 800027c0: 100c9073 csrw sstatus,s9
+ 800027c4: 000a3703 ld a4,0(s4)
+ 800027c8: 0007b023 sd zero,0(a5)
+ 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8>
+ 800027d0: 00006717 auipc a4,0x6
+ 800027d4: 00f73823 sd a5,16(a4) # 800087e0 <freelist_tail>
+ 800027d8: 00006717 auipc a4,0x6
+ 800027dc: 00f73823 sd a5,16(a4) # 800087e8 <freelist_head>
+ 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4>
+ 800027e4: 10100793 li a5,257
+ 800027e8: 04100613 li a2,65
+ 800027ec: 00000697 auipc a3,0x0
+ 800027f0: 72468693 addi a3,a3,1828 # 80002f10 <pass+0x1c0>
+ 800027f4: fffff717 auipc a4,0xfffff
+ 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost>
+ 800027fc: 03079793 slli a5,a5,0x30
+ 80002800: 00073503 ld a0,0(a4)
+ 80002804: 00168693 addi a3,a3,1
+ 80002808: 00f665b3 or a1,a2,a5
+ 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284>
+ 80002810: fffff617 auipc a2,0xfffff
+ 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost>
+ 80002818: 00073603 ld a2,0(a4)
+ 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274>
+ 80002820: 0006c603 lbu a2,0(a3)
+ 80002824: ffffe517 auipc a0,0xffffe
+ 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost>
+ 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264>
+ 80002830: e85ff06f j 800026b4 <handle_trap+0x118>
+ 80002834: 10100793 li a5,257
+ 80002838: 04100613 li a2,65
+ 8000283c: 00000697 auipc a3,0x0
+ 80002840: 64468693 addi a3,a3,1604 # 80002e80 <pass+0x130>
+ 80002844: ffffe717 auipc a4,0xffffe
+ 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost>
+ 8000284c: 03079793 slli a5,a5,0x30
+ 80002850: 00168693 addi a3,a3,1
+ 80002854: 00f665b3 or a1,a2,a5
+ 80002858: 00073603 ld a2,0(a4)
+ 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310>
+ 80002860: ffffe617 auipc a2,0xffffe
+ 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost>
+ 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc>
+ 8000286c: 10100793 li a5,257
+ 80002870: 04100613 li a2,65
+ 80002874: 00000697 auipc a3,0x0
+ 80002878: 5d468693 addi a3,a3,1492 # 80002e48 <pass+0xf8>
+ 8000287c: ffffe717 auipc a4,0xffffe
+ 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost>
+ 80002884: 03079793 slli a5,a5,0x30
+ 80002888: 00168693 addi a3,a3,1
+ 8000288c: 00f665b3 or a1,a2,a5
+ 80002890: 00073603 ld a2,0(a4)
+ 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324>
+ 80002898: ffffe617 auipc a2,0xffffe
+ 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost>
+ 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4>
+ 800028a4: 00098513 mv a0,s3
+ 800028a8: 989ff0ef jal ra,80002230 <terminate>
+ 800028ac: 0006c603 lbu a2,0(a3)
+ 800028b0: ffffe517 auipc a0,0xffffe
+ 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost>
+ 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4>
+ 800028bc: df9ff06f j 800026b4 <handle_trap+0x118>
+ 800028c0: 0006c603 lbu a2,0(a3)
+ 800028c4: ffffe517 auipc a0,0xffffe
+ 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost>
+ 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec>
+ 800028d0: de5ff06f j 800026b4 <handle_trap+0x118>
+
+00000000800028d4 <vm_boot>:
+ 800028d4: f14027f3 csrr a5,mhartid
+ 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198>
+ 800028dc: 00002697 auipc a3,0x2
+ 800028e0: 72468693 addi a3,a3,1828 # 80005000 <pt+0x1000>
+ 800028e4: 00003717 auipc a4,0x3
+ 800028e8: 71c70713 addi a4,a4,1820 # 80006000 <pt+0x2000>
+ 800028ec: 00c6d693 srli a3,a3,0xc
+ 800028f0: 00c75713 srli a4,a4,0xc
+ 800028f4: 00004797 auipc a5,0x4
+ 800028f8: 70c78793 addi a5,a5,1804 # 80007000 <pt+0x3000>
+ 800028fc: 00a69693 slli a3,a3,0xa
+ 80002900: 00a71713 slli a4,a4,0xa
+ 80002904: 0016e693 ori a3,a3,1
+ 80002908: 00176713 ori a4,a4,1
+ 8000290c: 00c7d793 srli a5,a5,0xc
+ 80002910: 00001897 auipc a7,0x1
+ 80002914: 6ed8b823 sd a3,1776(a7) # 80004000 <pt>
+ 80002918: 00a79793 slli a5,a5,0xa
+ 8000291c: 00002697 auipc a3,0x2
+ 80002920: 6ce6be23 sd a4,1756(a3) # 80004ff8 <pt+0xff8>
+ 80002924: 20000737 lui a4,0x20000
+ 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31>
+ 8000292c: fff00593 li a1,-1
+ 80002930: 0017e793 ori a5,a5,1
+ 80002934: 00001617 auipc a2,0x1
+ 80002938: 6cc60613 addi a2,a2,1740 # 80004000 <pt>
+ 8000293c: ed010113 addi sp,sp,-304
+ 80002940: 03f59813 slli a6,a1,0x3f
+ 80002944: 00004697 auipc a3,0x4
+ 80002948: 6ae6ba23 sd a4,1716(a3) # 80006ff8 <pt+0x2ff8>
+ 8000294c: 00002717 auipc a4,0x2
+ 80002950: 6af73a23 sd a5,1716(a4) # 80005000 <pt+0x1000>
+ 80002954: 00c65793 srli a5,a2,0xc
+ 80002958: 12113423 sd ra,296(sp)
+ 8000295c: 12813023 sd s0,288(sp)
+ 80002960: 0107e7b3 or a5,a5,a6
+ 80002964: 18079073 csrw satp,a5
+ 80002968: 01f00793 li a5,31
+ 8000296c: 00000297 auipc t0,0x0
+ 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac>
+ 80002974: 305292f3 csrrw t0,mtvec,t0
+ 80002978: 3b059073 csrw pmpaddr0,a1
+ 8000297c: 3a079073 csrw pmpcfg0,a5
+ 80002980: bff00813 li a6,-1025
+ 80002984: 01581813 slli a6,a6,0x15
+ 80002988: ffffd797 auipc a5,0xffffd
+ 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry>
+ 80002990: 010787b3 add a5,a5,a6
+ 80002994: 10579073 csrw stvec,a5
+ 80002998: 340027f3 csrr a5,mscratch
+ 8000299c: 010787b3 add a5,a5,a6
+ 800029a0: 14079073 csrw sscratch,a5
+ 800029a4: 0000b7b7 lui a5,0xb
+ 800029a8: 1007879b addiw a5,a5,256
+ 800029ac: 30279073 csrw medeleg,a5
+ 800029b0: 0001e7b7 lui a5,0x1e
+ 800029b4: 30079073 csrw mstatus,a5
+ 800029b8: 30405073 csrwi mie,0
+ 800029bc: 00005697 auipc a3,0x5
+ 800029c0: 64468693 addi a3,a3,1604 # 80008000 <freelist_nodes>
+ 800029c4: 010687b3 add a5,a3,a6
+ 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20>
+ 800029cc: 00006617 auipc a2,0x6
+ 800029d0: e0f63e23 sd a5,-484(a2) # 800087e8 <freelist_head>
+ 800029d4: 00006797 auipc a5,0x6
+ 800029d8: e0e7b623 sd a4,-500(a5) # 800087e0 <freelist_tail>
+ 800029dc: 00006317 auipc t1,0x6
+ 800029e0: a1430313 addi t1,t1,-1516 # 800083f0 <user_mapping>
+ 800029e4: 01a00793 li a5,26
+ 800029e8: 000808b7 lui a7,0x80
+ 800029ec: 01080813 addi a6,a6,16
+ 800029f0: 03f7871b addiw a4,a5,63
+ 800029f4: 02071713 slli a4,a4,0x20
+ 800029f8: 0017d61b srliw a2,a5,0x1
+ 800029fc: 02075713 srli a4,a4,0x20
+ 80002a00: 00c7c7b3 xor a5,a5,a2
+ 80002a04: 01170733 add a4,a4,a7
+ 80002a08: 010685b3 add a1,a3,a6
+ 80002a0c: 00c71713 slli a4,a4,0xc
+ 80002a10: 0057979b slliw a5,a5,0x5
+ 80002a14: 00e6b023 sd a4,0(a3)
+ 80002a18: 00b6b423 sd a1,8(a3)
+ 80002a1c: 0207f793 andi a5,a5,32
+ 80002a20: 01068693 addi a3,a3,16
+ 80002a24: 00c7e7b3 or a5,a5,a2
+ 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c>
+ 80002a2c: 00050413 mv s0,a0
+ 80002a30: 12000613 li a2,288
+ 80002a34: 00000593 li a1,0
+ 80002a38: 00010513 mv a0,sp
+ 80002a3c: 00006797 auipc a5,0x6
+ 80002a40: 9a07b623 sd zero,-1620(a5) # 800083e8 <freelist_nodes+0x3e8>
+ 80002a44: e18ff0ef jal ra,8000205c <memset>
+ 80002a48: 800007b7 lui a5,0x80000
+ 80002a4c: 00f40433 add s0,s0,a5
+ 80002a50: 00010513 mv a0,sp
+ 80002a54: 10813423 sd s0,264(sp)
+ 80002a58: de4fd0ef jal ra,8000003c <pop_tf>
+ 80002a5c: 12813083 ld ra,296(sp)
+ 80002a60: 12013403 ld s0,288(sp)
+ 80002a64: 13010113 addi sp,sp,304
+ 80002a68: 00008067 ret
+ 80002a6c: 094647b7 lui a5,0x9464
+ 80002a70: 000805b7 lui a1,0x80
+ 80002a74: ca878793 addi a5,a5,-856 # 9463ca8 <_start-0x76b9c358>
+ 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004>
+ 80002a7c: 00100613 li a2,1
+ 80002a80: 00b7f733 and a4,a5,a1
+ 80002a84: 01f61613 slli a2,a2,0x1f
+ 80002a88: 0017f693 andi a3,a5,1
+ 80002a8c: 02079793 slli a5,a5,0x20
+ 80002a90: 0207d793 srli a5,a5,0x20
+ 80002a94: 00c70733 add a4,a4,a2
+ 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8>
+ 80002a9c: 0007202f amoadd.w zero,zero,(a4)
+ 80002aa0: 0017d793 srli a5,a5,0x1
+ 80002aa4: 00b7f733 and a4,a5,a1
+ 80002aa8: 0017f693 andi a3,a5,1
+ 80002aac: 02079793 slli a5,a5,0x20
+ 80002ab0: 0207d793 srli a5,a5,0x20
+ 80002ab4: 00c70733 add a4,a4,a2
+ 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8>
+ 80002abc: 00072003 lw zero,0(a4)
+ 80002ac0: 0017d793 srli a5,a5,0x1
+ 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0>
+
+0000000080002ac8 <userstart>:
+ 80002ac8: 00301073 fssr zero
+
+0000000080002acc <test_2>:
+ 80002acc: 00200193 li gp,2
+ 80002ad0: 00000517 auipc a0,0x0
+ 80002ad4: 53050513 addi a0,a0,1328 # 80003000 <test_2_data>
+ 80002ad8: 00052007 flw ft0,0(a0)
+ 80002adc: 00452087 flw ft1,4(a0)
+ 80002ae0: 00852107 flw ft2,8(a0)
+ 80002ae4: 00c52683 lw a3,12(a0)
+ 80002ae8: 101071c3 fmadd.s ft3,ft0,ft1,ft2
+ 80002aec: e0018553 fmv.x.w a0,ft3
+ 80002af0: 001015f3 fsflags a1,zero
+ 80002af4: 00000613 li a2,0
+ 80002af8: 24d51463 bne a0,a3,80002d40 <fail>
+ 80002afc: 24c59263 bne a1,a2,80002d40 <fail>
+
+0000000080002b00 <test_3>:
+ 80002b00: 00300193 li gp,3
+ 80002b04: 00000517 auipc a0,0x0
+ 80002b08: 50c50513 addi a0,a0,1292 # 80003010 <test_3_data>
+ 80002b0c: 00052007 flw ft0,0(a0)
+ 80002b10: 00452087 flw ft1,4(a0)
+ 80002b14: 00852107 flw ft2,8(a0)
+ 80002b18: 00c52683 lw a3,12(a0)
+ 80002b1c: 101071c3 fmadd.s ft3,ft0,ft1,ft2
+ 80002b20: e0018553 fmv.x.w a0,ft3
+ 80002b24: 001015f3 fsflags a1,zero
+ 80002b28: 00100613 li a2,1
+ 80002b2c: 20d51a63 bne a0,a3,80002d40 <fail>
+ 80002b30: 20c59863 bne a1,a2,80002d40 <fail>
+
+0000000080002b34 <test_4>:
+ 80002b34: 00400193 li gp,4
+ 80002b38: 00000517 auipc a0,0x0
+ 80002b3c: 4e850513 addi a0,a0,1256 # 80003020 <test_4_data>
+ 80002b40: 00052007 flw ft0,0(a0)
+ 80002b44: 00452087 flw ft1,4(a0)
+ 80002b48: 00852107 flw ft2,8(a0)
+ 80002b4c: 00c52683 lw a3,12(a0)
+ 80002b50: 101071c3 fmadd.s ft3,ft0,ft1,ft2
+ 80002b54: e0018553 fmv.x.w a0,ft3
+ 80002b58: 001015f3 fsflags a1,zero
+ 80002b5c: 00000613 li a2,0
+ 80002b60: 1ed51063 bne a0,a3,80002d40 <fail>
+ 80002b64: 1cc59e63 bne a1,a2,80002d40 <fail>
+
+0000000080002b68 <test_5>:
+ 80002b68: 00500193 li gp,5
+ 80002b6c: 00000517 auipc a0,0x0
+ 80002b70: 4c450513 addi a0,a0,1220 # 80003030 <test_5_data>
+ 80002b74: 00052007 flw ft0,0(a0)
+ 80002b78: 00452087 flw ft1,4(a0)
+ 80002b7c: 00852107 flw ft2,8(a0)
+ 80002b80: 00c52683 lw a3,12(a0)
+ 80002b84: 101071cf fnmadd.s ft3,ft0,ft1,ft2
+ 80002b88: e0018553 fmv.x.w a0,ft3
+ 80002b8c: 001015f3 fsflags a1,zero
+ 80002b90: 00000613 li a2,0
+ 80002b94: 1ad51663 bne a0,a3,80002d40 <fail>
+ 80002b98: 1ac59463 bne a1,a2,80002d40 <fail>
+
+0000000080002b9c <test_6>:
+ 80002b9c: 00600193 li gp,6
+ 80002ba0: 00000517 auipc a0,0x0
+ 80002ba4: 4a050513 addi a0,a0,1184 # 80003040 <test_6_data>
+ 80002ba8: 00052007 flw ft0,0(a0)
+ 80002bac: 00452087 flw ft1,4(a0)
+ 80002bb0: 00852107 flw ft2,8(a0)
+ 80002bb4: 00c52683 lw a3,12(a0)
+ 80002bb8: 101071cf fnmadd.s ft3,ft0,ft1,ft2
+ 80002bbc: e0018553 fmv.x.w a0,ft3
+ 80002bc0: 001015f3 fsflags a1,zero
+ 80002bc4: 00100613 li a2,1
+ 80002bc8: 16d51c63 bne a0,a3,80002d40 <fail>
+ 80002bcc: 16c59a63 bne a1,a2,80002d40 <fail>
+
+0000000080002bd0 <test_7>:
+ 80002bd0: 00700193 li gp,7
+ 80002bd4: 00000517 auipc a0,0x0
+ 80002bd8: 47c50513 addi a0,a0,1148 # 80003050 <test_7_data>
+ 80002bdc: 00052007 flw ft0,0(a0)
+ 80002be0: 00452087 flw ft1,4(a0)
+ 80002be4: 00852107 flw ft2,8(a0)
+ 80002be8: 00c52683 lw a3,12(a0)
+ 80002bec: 101071cf fnmadd.s ft3,ft0,ft1,ft2
+ 80002bf0: e0018553 fmv.x.w a0,ft3
+ 80002bf4: 001015f3 fsflags a1,zero
+ 80002bf8: 00000613 li a2,0
+ 80002bfc: 14d51263 bne a0,a3,80002d40 <fail>
+ 80002c00: 14c59063 bne a1,a2,80002d40 <fail>
+
+0000000080002c04 <test_8>:
+ 80002c04: 00800193 li gp,8
+ 80002c08: 00000517 auipc a0,0x0
+ 80002c0c: 45850513 addi a0,a0,1112 # 80003060 <test_8_data>
+ 80002c10: 00052007 flw ft0,0(a0)
+ 80002c14: 00452087 flw ft1,4(a0)
+ 80002c18: 00852107 flw ft2,8(a0)
+ 80002c1c: 00c52683 lw a3,12(a0)
+ 80002c20: 101071c7 fmsub.s ft3,ft0,ft1,ft2
+ 80002c24: e0018553 fmv.x.w a0,ft3
+ 80002c28: 001015f3 fsflags a1,zero
+ 80002c2c: 00000613 li a2,0
+ 80002c30: 10d51863 bne a0,a3,80002d40 <fail>
+ 80002c34: 10c59663 bne a1,a2,80002d40 <fail>
+
+0000000080002c38 <test_9>:
+ 80002c38: 00900193 li gp,9
+ 80002c3c: 00000517 auipc a0,0x0
+ 80002c40: 43450513 addi a0,a0,1076 # 80003070 <test_9_data>
+ 80002c44: 00052007 flw ft0,0(a0)
+ 80002c48: 00452087 flw ft1,4(a0)
+ 80002c4c: 00852107 flw ft2,8(a0)
+ 80002c50: 00c52683 lw a3,12(a0)
+ 80002c54: 101071c7 fmsub.s ft3,ft0,ft1,ft2
+ 80002c58: e0018553 fmv.x.w a0,ft3
+ 80002c5c: 001015f3 fsflags a1,zero
+ 80002c60: 00100613 li a2,1
+ 80002c64: 0cd51e63 bne a0,a3,80002d40 <fail>
+ 80002c68: 0cc59c63 bne a1,a2,80002d40 <fail>
+
+0000000080002c6c <test_10>:
+ 80002c6c: 00a00193 li gp,10
+ 80002c70: 00000517 auipc a0,0x0
+ 80002c74: 41050513 addi a0,a0,1040 # 80003080 <test_10_data>
+ 80002c78: 00052007 flw ft0,0(a0)
+ 80002c7c: 00452087 flw ft1,4(a0)
+ 80002c80: 00852107 flw ft2,8(a0)
+ 80002c84: 00c52683 lw a3,12(a0)
+ 80002c88: 101071c7 fmsub.s ft3,ft0,ft1,ft2
+ 80002c8c: e0018553 fmv.x.w a0,ft3
+ 80002c90: 001015f3 fsflags a1,zero
+ 80002c94: 00000613 li a2,0
+ 80002c98: 0ad51463 bne a0,a3,80002d40 <fail>
+ 80002c9c: 0ac59263 bne a1,a2,80002d40 <fail>
+
+0000000080002ca0 <test_11>:
+ 80002ca0: 00b00193 li gp,11
+ 80002ca4: 00000517 auipc a0,0x0
+ 80002ca8: 3ec50513 addi a0,a0,1004 # 80003090 <test_11_data>
+ 80002cac: 00052007 flw ft0,0(a0)
+ 80002cb0: 00452087 flw ft1,4(a0)
+ 80002cb4: 00852107 flw ft2,8(a0)
+ 80002cb8: 00c52683 lw a3,12(a0)
+ 80002cbc: 101071cb fnmsub.s ft3,ft0,ft1,ft2
+ 80002cc0: e0018553 fmv.x.w a0,ft3
+ 80002cc4: 001015f3 fsflags a1,zero
+ 80002cc8: 00000613 li a2,0
+ 80002ccc: 06d51a63 bne a0,a3,80002d40 <fail>
+ 80002cd0: 06c59863 bne a1,a2,80002d40 <fail>
+
+0000000080002cd4 <test_12>:
+ 80002cd4: 00c00193 li gp,12
+ 80002cd8: 00000517 auipc a0,0x0
+ 80002cdc: 3c850513 addi a0,a0,968 # 800030a0 <test_12_data>
+ 80002ce0: 00052007 flw ft0,0(a0)
+ 80002ce4: 00452087 flw ft1,4(a0)
+ 80002ce8: 00852107 flw ft2,8(a0)
+ 80002cec: 00c52683 lw a3,12(a0)
+ 80002cf0: 101071cb fnmsub.s ft3,ft0,ft1,ft2
+ 80002cf4: e0018553 fmv.x.w a0,ft3
+ 80002cf8: 001015f3 fsflags a1,zero
+ 80002cfc: 00100613 li a2,1
+ 80002d00: 04d51063 bne a0,a3,80002d40 <fail>
+ 80002d04: 02c59e63 bne a1,a2,80002d40 <fail>
+
+0000000080002d08 <test_13>:
+ 80002d08: 00d00193 li gp,13
+ 80002d0c: 00000517 auipc a0,0x0
+ 80002d10: 3a450513 addi a0,a0,932 # 800030b0 <test_13_data>
+ 80002d14: 00052007 flw ft0,0(a0)
+ 80002d18: 00452087 flw ft1,4(a0)
+ 80002d1c: 00852107 flw ft2,8(a0)
+ 80002d20: 00c52683 lw a3,12(a0)
+ 80002d24: 101071cb fnmsub.s ft3,ft0,ft1,ft2
+ 80002d28: e0018553 fmv.x.w a0,ft3
+ 80002d2c: 001015f3 fsflags a1,zero
+ 80002d30: 00000613 li a2,0
+ 80002d34: 00d51663 bne a0,a3,80002d40 <fail>
+ 80002d38: 00c59463 bne a1,a2,80002d40 <fail>
+ 80002d3c: 00301a63 bne zero,gp,80002d50 <pass>
+
+0000000080002d40 <fail>:
+ 80002d40: 00119513 slli a0,gp,0x1
+ 80002d44: 00050063 beqz a0,80002d44 <fail+0x4>
+ 80002d48: 00156513 ori a0,a0,1
+ 80002d4c: 00000073 ecall
+
+0000000080002d50 <pass>:
+ 80002d50: 00100513 li a0,1
+ 80002d54: 00000073 ecall
+ 80002d58: c0001073 unimp
+
+Disassembly of section .data:
+
+0000000080003000 <test_2_data>:
+ 80003000: 0000 unimp
+ 80003002: 3f80 fld fs0,56(a5)
+ 80003004: 0000 unimp
+ 80003006: 4020 lw s0,64(s0)
+ 80003008: 0000 unimp
+ 8000300a: 3f80 fld fs0,56(a5)
+ 8000300c: 0000 unimp
+ 8000300e: 4060 lw s0,68(s0)
+
+0000000080003010 <test_3_data>:
+ 80003010: 0000 unimp
+ 80003012: bf80 fsd fs0,56(a5)
+ 80003014: c49a6333 0xc49a6333
+ 80003018: cccd beqz s1,800030d2 <begin_signature+0x12>
+ 8000301a: 3f8c fld fa1,56(a5)
+ 8000301c: 8666 mv a2,s9
+ 8000301e: 449a lw s1,132(sp)
+
+0000000080003020 <test_4_data>:
+ 80003020: 0000 unimp
+ 80003022: 4000 lw s0,0(s0)
+ 80003024: 0000 unimp
+ 80003026: c0a0 sw s0,64(s1)
+ 80003028: 0000 unimp
+ 8000302a: c000 sw s0,0(s0)
+ 8000302c: 0000 unimp
+ 8000302e: c140 sw s0,4(a0)
+
+0000000080003030 <test_5_data>:
+ 80003030: 0000 unimp
+ 80003032: 3f80 fld fs0,56(a5)
+ 80003034: 0000 unimp
+ 80003036: 4020 lw s0,64(s0)
+ 80003038: 0000 unimp
+ 8000303a: 3f80 fld fs0,56(a5)
+ 8000303c: 0000 unimp
+ 8000303e: c060 sw s0,68(s0)
+
+0000000080003040 <test_6_data>:
+ 80003040: 0000 unimp
+ 80003042: bf80 fsd fs0,56(a5)
+ 80003044: c49a6333 0xc49a6333
+ 80003048: cccd beqz s1,80003102 <begin_signature+0x42>
+ 8000304a: 3f8c fld fa1,56(a5)
+ 8000304c: 8666 mv a2,s9
+ 8000304e: c49a sw t1,72(sp)
+
+0000000080003050 <test_7_data>:
+ 80003050: 0000 unimp
+ 80003052: 4000 lw s0,0(s0)
+ 80003054: 0000 unimp
+ 80003056: c0a0 sw s0,64(s1)
+ 80003058: 0000 unimp
+ 8000305a: c000 sw s0,0(s0)
+ 8000305c: 0000 unimp
+ 8000305e: 4140 lw s0,4(a0)
+
+0000000080003060 <test_8_data>:
+ 80003060: 0000 unimp
+ 80003062: 3f80 fld fs0,56(a5)
+ 80003064: 0000 unimp
+ 80003066: 4020 lw s0,64(s0)
+ 80003068: 0000 unimp
+ 8000306a: 3f80 fld fs0,56(a5)
+ 8000306c: 0000 unimp
+ 8000306e: 3fc0 fld fs0,184(a5)
+
+0000000080003070 <test_9_data>:
+ 80003070: 0000 unimp
+ 80003072: bf80 fsd fs0,56(a5)
+ 80003074: c49a6333 0xc49a6333
+ 80003078: cccd beqz s1,80003132 <begin_signature+0x72>
+ 8000307a: 3f8c fld fa1,56(a5)
+ 8000307c: 4000 lw s0,0(s0)
+ 8000307e: 449a lw s1,132(sp)
+
+0000000080003080 <test_10_data>:
+ 80003080: 0000 unimp
+ 80003082: 4000 lw s0,0(s0)
+ 80003084: 0000 unimp
+ 80003086: c0a0 sw s0,64(s1)
+ 80003088: 0000 unimp
+ 8000308a: c000 sw s0,0(s0)
+ 8000308c: 0000 unimp
+ 8000308e: c100 sw s0,0(a0)
+
+0000000080003090 <test_11_data>:
+ 80003090: 0000 unimp
+ 80003092: 3f80 fld fs0,56(a5)
+ 80003094: 0000 unimp
+ 80003096: 4020 lw s0,64(s0)
+ 80003098: 0000 unimp
+ 8000309a: 3f80 fld fs0,56(a5)
+ 8000309c: 0000 unimp
+ 8000309e: bfc0 fsd fs0,184(a5)
+
+00000000800030a0 <test_12_data>:
+ 800030a0: 0000 unimp
+ 800030a2: bf80 fsd fs0,56(a5)
+ 800030a4: c49a6333 0xc49a6333
+ 800030a8: cccd beqz s1,80003162 <begin_signature+0xa2>
+ 800030aa: 3f8c fld fa1,56(a5)
+ 800030ac: 4000 lw s0,0(s0)
+ 800030ae: c49a sw t1,72(sp)
+
+00000000800030b0 <test_13_data>:
+ 800030b0: 0000 unimp
+ 800030b2: 4000 lw s0,0(s0)
+ 800030b4: 0000 unimp
+ 800030b6: c0a0 sw s0,64(s1)
+ 800030b8: 0000 unimp
+ 800030ba: c000 sw s0,0(s0)
+ 800030bc: 0000 unimp
+ 800030be: 4100 lw s0,0(a0)
diff --git a/test/riscv-tests/rv64uf-v-fmadd.elf b/test/riscv-tests/rv64uf-v-fmadd.elf
new file mode 100644
index 0000000..84186ba
--- /dev/null
+++ b/test/riscv-tests/rv64uf-v-fmadd.elf
Binary files differ
diff --git a/test/riscv-tests/rv64uf-v-fmin.dump b/test/riscv-tests/rv64uf-v-fmin.dump
new file mode 100644
index 0000000..43a7f9d
--- /dev/null
+++ b/test/riscv-tests/rv64uf-v-fmin.dump
@@ -0,0 +1,1278 @@
+
+rv64uf-v-fmin: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 00c0006f j 8000000c <handle_reset>
+
+0000000080000004 <nmi_vector>:
+ 80000004: 2580206f j 8000225c <wtf>
+
+0000000080000008 <trap_vector>:
+ 80000008: 2540206f j 8000225c <wtf>
+
+000000008000000c <handle_reset>:
+ 8000000c: 00000297 auipc t0,0x0
+ 80000010: ffc28293 addi t0,t0,-4 # 80000008 <trap_vector>
+ 80000014: 30529073 csrw mtvec,t0
+ 80000018: 0000a117 auipc sp,0xa
+ 8000001c: 6b810113 addi sp,sp,1720 # 8000a6d0 <_end+0xee0>
+ 80000020: f14022f3 csrr t0,mhartid
+ 80000024: 00c29293 slli t0,t0,0xc
+ 80000028: 00510133 add sp,sp,t0
+ 8000002c: 34011073 csrw mscratch,sp
+ 80000030: 00003517 auipc a0,0x3
+ 80000034: a9850513 addi a0,a0,-1384 # 80002ac8 <userstart>
+ 80000038: 09d0206f j 800028d4 <vm_boot>
+
+000000008000003c <pop_tf>:
+ 8000003c: 10853283 ld t0,264(a0)
+ 80000040: 14129073 csrw sepc,t0
+ 80000044: 00853083 ld ra,8(a0)
+ 80000048: 01053103 ld sp,16(a0)
+ 8000004c: 01853183 ld gp,24(a0)
+ 80000050: 02053203 ld tp,32(a0)
+ 80000054: 02853283 ld t0,40(a0)
+ 80000058: 03053303 ld t1,48(a0)
+ 8000005c: 03853383 ld t2,56(a0)
+ 80000060: 04053403 ld s0,64(a0)
+ 80000064: 04853483 ld s1,72(a0)
+ 80000068: 05853583 ld a1,88(a0)
+ 8000006c: 06053603 ld a2,96(a0)
+ 80000070: 06853683 ld a3,104(a0)
+ 80000074: 07053703 ld a4,112(a0)
+ 80000078: 07853783 ld a5,120(a0)
+ 8000007c: 08053803 ld a6,128(a0)
+ 80000080: 08853883 ld a7,136(a0)
+ 80000084: 09053903 ld s2,144(a0)
+ 80000088: 09853983 ld s3,152(a0)
+ 8000008c: 0a053a03 ld s4,160(a0)
+ 80000090: 0a853a83 ld s5,168(a0)
+ 80000094: 0b053b03 ld s6,176(a0)
+ 80000098: 0b853b83 ld s7,184(a0)
+ 8000009c: 0c053c03 ld s8,192(a0)
+ 800000a0: 0c853c83 ld s9,200(a0)
+ 800000a4: 0d053d03 ld s10,208(a0)
+ 800000a8: 0d853d83 ld s11,216(a0)
+ 800000ac: 0e053e03 ld t3,224(a0)
+ 800000b0: 0e853e83 ld t4,232(a0)
+ 800000b4: 0f053f03 ld t5,240(a0)
+ 800000b8: 0f853f83 ld t6,248(a0)
+ 800000bc: 05053503 ld a0,80(a0)
+ 800000c0: 10200073 sret
+
+00000000800000c4 <trap_entry>:
+ 800000c4: 14011173 csrrw sp,sscratch,sp
+ 800000c8: 00113423 sd ra,8(sp)
+ 800000cc: 00313c23 sd gp,24(sp)
+ 800000d0: 02413023 sd tp,32(sp)
+ 800000d4: 02513423 sd t0,40(sp)
+ 800000d8: 02613823 sd t1,48(sp)
+ 800000dc: 02713c23 sd t2,56(sp)
+ 800000e0: 04813023 sd s0,64(sp)
+ 800000e4: 04913423 sd s1,72(sp)
+ 800000e8: 04a13823 sd a0,80(sp)
+ 800000ec: 04b13c23 sd a1,88(sp)
+ 800000f0: 06c13023 sd a2,96(sp)
+ 800000f4: 06d13423 sd a3,104(sp)
+ 800000f8: 06e13823 sd a4,112(sp)
+ 800000fc: 06f13c23 sd a5,120(sp)
+ 80000100: 09013023 sd a6,128(sp)
+ 80000104: 09113423 sd a7,136(sp)
+ 80000108: 09213823 sd s2,144(sp)
+ 8000010c: 09313c23 sd s3,152(sp)
+ 80000110: 0b413023 sd s4,160(sp)
+ 80000114: 0b513423 sd s5,168(sp)
+ 80000118: 0b613823 sd s6,176(sp)
+ 8000011c: 0b713c23 sd s7,184(sp)
+ 80000120: 0d813023 sd s8,192(sp)
+ 80000124: 0d913423 sd s9,200(sp)
+ 80000128: 0da13823 sd s10,208(sp)
+ 8000012c: 0db13c23 sd s11,216(sp)
+ 80000130: 0fc13023 sd t3,224(sp)
+ 80000134: 0fd13423 sd t4,232(sp)
+ 80000138: 0fe13823 sd t5,240(sp)
+ 8000013c: 0ff13c23 sd t6,248(sp)
+ 80000140: 140112f3 csrrw t0,sscratch,sp
+ 80000144: 00513823 sd t0,16(sp)
+ 80000148: 100022f3 csrr t0,sstatus
+ 8000014c: 10513023 sd t0,256(sp)
+ 80000150: 141022f3 csrr t0,sepc
+ 80000154: 10513423 sd t0,264(sp)
+ 80000158: 143022f3 csrr t0,stval
+ 8000015c: 10513823 sd t0,272(sp)
+ 80000160: 142022f3 csrr t0,scause
+ 80000164: 10513c23 sd t0,280(sp)
+ 80000168: 00010513 mv a0,sp
+ 8000016c: 4300206f j 8000259c <handle_trap>
+
+Disassembly of section .text:
+
+0000000080002000 <memcpy>:
+ 80002000: 00c5e7b3 or a5,a1,a2
+ 80002004: 00f567b3 or a5,a0,a5
+ 80002008: 0077f793 andi a5,a5,7
+ 8000200c: 00c506b3 add a3,a0,a2
+ 80002010: 02078463 beqz a5,80002038 <memcpy+0x38>
+ 80002014: 00c58633 add a2,a1,a2
+ 80002018: 00050793 mv a5,a0
+ 8000201c: 02d57e63 bleu a3,a0,80002058 <memcpy+0x58>
+ 80002020: 00158593 addi a1,a1,1
+ 80002024: fff5c703 lbu a4,-1(a1)
+ 80002028: 00178793 addi a5,a5,1
+ 8000202c: fee78fa3 sb a4,-1(a5)
+ 80002030: feb618e3 bne a2,a1,80002020 <memcpy+0x20>
+ 80002034: 00008067 ret
+ 80002038: fed57ee3 bleu a3,a0,80002034 <memcpy+0x34>
+ 8000203c: 00050793 mv a5,a0
+ 80002040: 00858593 addi a1,a1,8
+ 80002044: ff85b703 ld a4,-8(a1)
+ 80002048: 00878793 addi a5,a5,8
+ 8000204c: fee7bc23 sd a4,-8(a5)
+ 80002050: fed7e8e3 bltu a5,a3,80002040 <memcpy+0x40>
+ 80002054: 00008067 ret
+ 80002058: 00008067 ret
+
+000000008000205c <memset>:
+ 8000205c: 00c567b3 or a5,a0,a2
+ 80002060: 0077f793 andi a5,a5,7
+ 80002064: 00c50633 add a2,a0,a2
+ 80002068: 0ff5f593 andi a1,a1,255
+ 8000206c: 00078e63 beqz a5,80002088 <memset+0x2c>
+ 80002070: 00050793 mv a5,a0
+ 80002074: 04c57263 bleu a2,a0,800020b8 <memset+0x5c>
+ 80002078: 00178793 addi a5,a5,1
+ 8000207c: feb78fa3 sb a1,-1(a5)
+ 80002080: fef61ce3 bne a2,a5,80002078 <memset+0x1c>
+ 80002084: 00008067 ret
+ 80002088: 00859793 slli a5,a1,0x8
+ 8000208c: 00b7e5b3 or a1,a5,a1
+ 80002090: 01059793 slli a5,a1,0x10
+ 80002094: 00b7e7b3 or a5,a5,a1
+ 80002098: 02079593 slli a1,a5,0x20
+ 8000209c: 00f5e5b3 or a1,a1,a5
+ 800020a0: fec572e3 bleu a2,a0,80002084 <memset+0x28>
+ 800020a4: 00050793 mv a5,a0
+ 800020a8: 00878793 addi a5,a5,8
+ 800020ac: feb7bc23 sd a1,-8(a5)
+ 800020b0: fec7ece3 bltu a5,a2,800020a8 <memset+0x4c>
+ 800020b4: 00008067 ret
+ 800020b8: 00008067 ret
+
+00000000800020bc <strlen>:
+ 800020bc: 00054783 lbu a5,0(a0)
+ 800020c0: 00050713 mv a4,a0
+ 800020c4: 00078c63 beqz a5,800020dc <strlen+0x20>
+ 800020c8: 00150513 addi a0,a0,1
+ 800020cc: 00054783 lbu a5,0(a0)
+ 800020d0: fe079ce3 bnez a5,800020c8 <strlen+0xc>
+ 800020d4: 40e50533 sub a0,a0,a4
+ 800020d8: 00008067 ret
+ 800020dc: 00000513 li a0,0
+ 800020e0: 00008067 ret
+
+00000000800020e4 <strcmp>:
+ 800020e4: 00150513 addi a0,a0,1
+ 800020e8: fff54783 lbu a5,-1(a0)
+ 800020ec: 00158593 addi a1,a1,1
+ 800020f0: fff5c703 lbu a4,-1(a1)
+ 800020f4: 00078a63 beqz a5,80002108 <strcmp+0x24>
+ 800020f8: fee786e3 beq a5,a4,800020e4 <strcmp>
+ 800020fc: 0007851b sext.w a0,a5
+ 80002100: 40e5053b subw a0,a0,a4
+ 80002104: 00008067 ret
+ 80002108: 00000513 li a0,0
+ 8000210c: ff5ff06f j 80002100 <strcmp+0x1c>
+
+0000000080002110 <memcmp>:
+ 80002110: 00b567b3 or a5,a0,a1
+ 80002114: 0077f793 andi a5,a5,7
+ 80002118: 04079263 bnez a5,8000215c <memcmp+0x4c>
+ 8000211c: ff867693 andi a3,a2,-8
+ 80002120: 00d506b3 add a3,a0,a3
+ 80002124: 00050813 mv a6,a0
+ 80002128: 02d57a63 bleu a3,a0,8000215c <memcmp+0x4c>
+ 8000212c: 00053703 ld a4,0(a0)
+ 80002130: 0005b783 ld a5,0(a1)
+ 80002134: 00f70a63 beq a4,a5,80002148 <memcmp+0x38>
+ 80002138: 0240006f j 8000215c <memcmp+0x4c>
+ 8000213c: 00053703 ld a4,0(a0)
+ 80002140: 0005b783 ld a5,0(a1)
+ 80002144: 00f71863 bne a4,a5,80002154 <memcmp+0x44>
+ 80002148: 00850513 addi a0,a0,8
+ 8000214c: 00858593 addi a1,a1,8
+ 80002150: fed566e3 bltu a0,a3,8000213c <memcmp+0x2c>
+ 80002154: 41050833 sub a6,a0,a6
+ 80002158: 41060633 sub a2,a2,a6
+ 8000215c: 00c58633 add a2,a1,a2
+ 80002160: 0140006f j 80002174 <memcmp+0x64>
+ 80002164: 00158593 addi a1,a1,1
+ 80002168: fff54783 lbu a5,-1(a0)
+ 8000216c: fff5c703 lbu a4,-1(a1)
+ 80002170: 00e79a63 bne a5,a4,80002184 <memcmp+0x74>
+ 80002174: 00150513 addi a0,a0,1
+ 80002178: fec596e3 bne a1,a2,80002164 <memcmp+0x54>
+ 8000217c: 00000513 li a0,0
+ 80002180: 00008067 ret
+ 80002184: 40e7853b subw a0,a5,a4
+ 80002188: 00008067 ret
+
+000000008000218c <strcpy>:
+ 8000218c: 00050793 mv a5,a0
+ 80002190: 00158593 addi a1,a1,1
+ 80002194: fff5c703 lbu a4,-1(a1)
+ 80002198: 00178793 addi a5,a5,1
+ 8000219c: fee78fa3 sb a4,-1(a5)
+ 800021a0: fe0718e3 bnez a4,80002190 <strcpy+0x4>
+ 800021a4: 00008067 ret
+
+00000000800021a8 <atol>:
+ 800021a8: 00054783 lbu a5,0(a0)
+ 800021ac: 02000713 li a4,32
+ 800021b0: 00e79863 bne a5,a4,800021c0 <atol+0x18>
+ 800021b4: 00150513 addi a0,a0,1
+ 800021b8: 00054783 lbu a5,0(a0)
+ 800021bc: fee78ce3 beq a5,a4,800021b4 <atol+0xc>
+ 800021c0: fd57871b addiw a4,a5,-43
+ 800021c4: 0fd77713 andi a4,a4,253
+ 800021c8: 04070263 beqz a4,8000220c <atol+0x64>
+ 800021cc: 00054683 lbu a3,0(a0)
+ 800021d0: 00050793 mv a5,a0
+ 800021d4: 00000613 li a2,0
+ 800021d8: 04068863 beqz a3,80002228 <atol+0x80>
+ 800021dc: 00000513 li a0,0
+ 800021e0: 00178793 addi a5,a5,1
+ 800021e4: fd06859b addiw a1,a3,-48
+ 800021e8: 00251713 slli a4,a0,0x2
+ 800021ec: 0007c683 lbu a3,0(a5)
+ 800021f0: 00a70533 add a0,a4,a0
+ 800021f4: 00151513 slli a0,a0,0x1
+ 800021f8: 00a58533 add a0,a1,a0
+ 800021fc: fe0692e3 bnez a3,800021e0 <atol+0x38>
+ 80002200: 00060463 beqz a2,80002208 <atol+0x60>
+ 80002204: 40a00533 neg a0,a0
+ 80002208: 00008067 ret
+ 8000220c: 00154683 lbu a3,1(a0)
+ 80002210: fd378793 addi a5,a5,-45
+ 80002214: 0017b613 seqz a2,a5
+ 80002218: 00150793 addi a5,a0,1
+ 8000221c: fc0690e3 bnez a3,800021dc <atol+0x34>
+ 80002220: 00000513 li a0,0
+ 80002224: fddff06f j 80002200 <atol+0x58>
+ 80002228: 00000513 li a0,0
+ 8000222c: 00008067 ret
+
+0000000080002230 <terminate>:
+ 80002230: fffff797 auipc a5,0xfffff
+ 80002234: dd078793 addi a5,a5,-560 # 80001000 <tohost>
+ 80002238: 0007b703 ld a4,0(a5)
+ 8000223c: 00070a63 beqz a4,80002250 <terminate+0x20>
+ 80002240: fffff717 auipc a4,0xfffff
+ 80002244: e0073023 sd zero,-512(a4) # 80001040 <fromhost>
+ 80002248: 0007b703 ld a4,0(a5)
+ 8000224c: fe071ae3 bnez a4,80002240 <terminate+0x10>
+ 80002250: fffff797 auipc a5,0xfffff
+ 80002254: daa7b823 sd a0,-592(a5) # 80001000 <tohost>
+ 80002258: 0000006f j 80002258 <terminate+0x28>
+
+000000008000225c <wtf>:
+ 8000225c: ff010113 addi sp,sp,-16
+ 80002260: 34900513 li a0,841
+ 80002264: 00113423 sd ra,8(sp)
+ 80002268: fc9ff0ef jal ra,80002230 <terminate>
+
+000000008000226c <printhex>:
+ 8000226c: fe010113 addi sp,sp,-32
+ 80002270: 01710713 addi a4,sp,23
+ 80002274: 00710813 addi a6,sp,7
+ 80002278: 00900593 li a1,9
+ 8000227c: 00f57793 andi a5,a0,15
+ 80002280: 03000613 li a2,48
+ 80002284: 0ff7f693 andi a3,a5,255
+ 80002288: 00f5f463 bleu a5,a1,80002290 <printhex+0x24>
+ 8000228c: 05700613 li a2,87
+ 80002290: 00c687bb addw a5,a3,a2
+ 80002294: 00f70023 sb a5,0(a4)
+ 80002298: fff70713 addi a4,a4,-1
+ 8000229c: 00455513 srli a0,a0,0x4
+ 800022a0: fd071ee3 bne a4,a6,8000227c <printhex+0x10>
+ 800022a4: 00814783 lbu a5,8(sp)
+ 800022a8: 00010c23 sb zero,24(sp)
+ 800022ac: 04078463 beqz a5,800022f4 <printhex+0x88>
+ 800022b0: 10100513 li a0,257
+ 800022b4: 00810693 addi a3,sp,8
+ 800022b8: fffff717 auipc a4,0xfffff
+ 800022bc: d4870713 addi a4,a4,-696 # 80001000 <tohost>
+ 800022c0: 03051513 slli a0,a0,0x30
+ 800022c4: 00073583 ld a1,0(a4)
+ 800022c8: 00168693 addi a3,a3,1
+ 800022cc: 00a7e633 or a2,a5,a0
+ 800022d0: 00058a63 beqz a1,800022e4 <printhex+0x78>
+ 800022d4: fffff797 auipc a5,0xfffff
+ 800022d8: d607b623 sd zero,-660(a5) # 80001040 <fromhost>
+ 800022dc: 00073783 ld a5,0(a4)
+ 800022e0: fe079ae3 bnez a5,800022d4 <printhex+0x68>
+ 800022e4: 0006c783 lbu a5,0(a3)
+ 800022e8: fffff597 auipc a1,0xfffff
+ 800022ec: d0c5bc23 sd a2,-744(a1) # 80001000 <tohost>
+ 800022f0: fc079ae3 bnez a5,800022c4 <printhex+0x58>
+ 800022f4: 02010113 addi sp,sp,32
+ 800022f8: 00008067 ret
+
+00000000800022fc <handle_fault>:
+ 800022fc: fffff8b7 lui a7,0xfffff
+ 80002300: 01150733 add a4,a0,a7
+ 80002304: 0003e7b7 lui a5,0x3e
+ 80002308: 14f77463 bleu a5,a4,80002450 <handle_fault+0x154>
+ 8000230c: 00c55693 srli a3,a0,0xc
+ 80002310: 60068813 addi a6,a3,1536
+ 80002314: 00003617 auipc a2,0x3
+ 80002318: cec60613 addi a2,a2,-788 # 80005000 <pt>
+ 8000231c: 00381793 slli a5,a6,0x3
+ 80002320: 00f607b3 add a5,a2,a5
+ 80002324: 0007b703 ld a4,0(a5) # 3e000 <_start-0x7ffc2000>
+ 80002328: 01157533 and a0,a0,a7
+ 8000232c: 0e071063 bnez a4,8000240c <handle_fault+0x110>
+ 80002330: 00007797 auipc a5,0x7
+ 80002334: 4b878793 addi a5,a5,1208 # 800097e8 <freelist_head>
+ 80002338: 0007b583 ld a1,0(a5)
+ 8000233c: 16058863 beqz a1,800024ac <handle_fault+0x1b0>
+ 80002340: 0085b783 ld a5,8(a1)
+ 80002344: 00007717 auipc a4,0x7
+ 80002348: 49c70713 addi a4,a4,1180 # 800097e0 <freelist_tail>
+ 8000234c: 00073703 ld a4,0(a4)
+ 80002350: 00007897 auipc a7,0x7
+ 80002354: 48f8bc23 sd a5,1176(a7) # 800097e8 <freelist_head>
+ 80002358: 0ee78663 beq a5,a4,80002444 <handle_fault+0x148>
+ 8000235c: 0005b783 ld a5,0(a1)
+ 80002360: 00381893 slli a7,a6,0x3
+ 80002364: 011608b3 add a7,a2,a7
+ 80002368: 00c7d793 srli a5,a5,0xc
+ 8000236c: 00a79793 slli a5,a5,0xa
+ 80002370: 0df7e313 ori t1,a5,223
+ 80002374: 01f7e713 ori a4,a5,31
+ 80002378: 0068b023 sd t1,0(a7)
+ 8000237c: 12050073 sfence.vma a0
+ 80002380: 00007797 auipc a5,0x7
+ 80002384: 07078793 addi a5,a5,112 # 800093f0 <user_mapping>
+ 80002388: 00469693 slli a3,a3,0x4
+ 8000238c: 00d786b3 add a3,a5,a3
+ 80002390: 0006b783 ld a5,0(a3)
+ 80002394: 16079463 bnez a5,800024fc <handle_fault+0x200>
+ 80002398: 0005b783 ld a5,0(a1)
+ 8000239c: 00f6b023 sd a5,0(a3)
+ 800023a0: 0085b783 ld a5,8(a1)
+ 800023a4: 00f6b423 sd a5,8(a3)
+ 800023a8: 000407b7 lui a5,0x40
+ 800023ac: 1007a8f3 csrrs a7,sstatus,a5
+ 800023b0: ffe007b7 lui a5,0xffe00
+ 800023b4: 00f507b3 add a5,a0,a5
+ 800023b8: 000015b7 lui a1,0x1
+ 800023bc: 00050693 mv a3,a0
+ 800023c0: 00b785b3 add a1,a5,a1
+ 800023c4: 0007bf03 ld t5,0(a5) # ffffffffffe00000 <_end+0xffffffff7fdf6810>
+ 800023c8: 0087be83 ld t4,8(a5)
+ 800023cc: 0107be03 ld t3,16(a5)
+ 800023d0: 0187b303 ld t1,24(a5)
+ 800023d4: 01e6b023 sd t5,0(a3)
+ 800023d8: 01d6b423 sd t4,8(a3)
+ 800023dc: 01c6b823 sd t3,16(a3)
+ 800023e0: 0066bc23 sd t1,24(a3)
+ 800023e4: 02078793 addi a5,a5,32
+ 800023e8: 02068693 addi a3,a3,32
+ 800023ec: fcb79ce3 bne a5,a1,800023c4 <handle_fault+0xc8>
+ 800023f0: 10089073 csrw sstatus,a7
+ 800023f4: 00381813 slli a6,a6,0x3
+ 800023f8: 01060633 add a2,a2,a6
+ 800023fc: 00e63023 sd a4,0(a2)
+ 80002400: 12050073 sfence.vma a0
+ 80002404: 0000100f fence.i
+ 80002408: 00008067 ret
+ 8000240c: 04077693 andi a3,a4,64
+ 80002410: 00069a63 bnez a3,80002424 <handle_fault+0x128>
+ 80002414: 04076713 ori a4,a4,64
+ 80002418: 00e7b023 sd a4,0(a5)
+ 8000241c: 12050073 sfence.vma a0
+ 80002420: 00008067 ret
+ 80002424: 08077693 andi a3,a4,128
+ 80002428: 12069263 bnez a3,8000254c <handle_fault+0x250>
+ 8000242c: 00f00693 li a3,15
+ 80002430: 10d59e63 bne a1,a3,8000254c <handle_fault+0x250>
+ 80002434: 08076713 ori a4,a4,128
+ 80002438: 00e7b023 sd a4,0(a5)
+ 8000243c: 12050073 sfence.vma a0
+ 80002440: 00008067 ret
+ 80002444: 00007797 auipc a5,0x7
+ 80002448: 3807be23 sd zero,924(a5) # 800097e0 <freelist_tail>
+ 8000244c: f11ff06f j 8000235c <handle_fault+0x60>
+ 80002450: 10100613 li a2,257
+ 80002454: 04100713 li a4,65
+ 80002458: 00001697 auipc a3,0x1
+ 8000245c: a4068693 addi a3,a3,-1472 # 80002e98 <pass+0x10>
+ 80002460: fffff797 auipc a5,0xfffff
+ 80002464: ba078793 addi a5,a5,-1120 # 80001000 <tohost>
+ 80002468: 03061613 slli a2,a2,0x30
+ 8000246c: 0007b503 ld a0,0(a5)
+ 80002470: 00168693 addi a3,a3,1
+ 80002474: 00c765b3 or a1,a4,a2
+ 80002478: 00050a63 beqz a0,8000248c <handle_fault+0x190>
+ 8000247c: fffff717 auipc a4,0xfffff
+ 80002480: bc073223 sd zero,-1084(a4) # 80001040 <fromhost>
+ 80002484: 0007b703 ld a4,0(a5)
+ 80002488: fe071ae3 bnez a4,8000247c <handle_fault+0x180>
+ 8000248c: 0006c703 lbu a4,0(a3)
+ 80002490: fffff517 auipc a0,0xfffff
+ 80002494: b6b53823 sd a1,-1168(a0) # 80001000 <tohost>
+ 80002498: fc071ae3 bnez a4,8000246c <handle_fault+0x170>
+ 8000249c: ff010113 addi sp,sp,-16
+ 800024a0: 00300513 li a0,3
+ 800024a4: 00113423 sd ra,8(sp)
+ 800024a8: d89ff0ef jal ra,80002230 <terminate>
+ 800024ac: 10100693 li a3,257
+ 800024b0: 04100713 li a4,65
+ 800024b4: 00001617 auipc a2,0x1
+ 800024b8: a7460613 addi a2,a2,-1420 # 80002f28 <pass+0xa0>
+ 800024bc: fffff797 auipc a5,0xfffff
+ 800024c0: b4478793 addi a5,a5,-1212 # 80001000 <tohost>
+ 800024c4: 03069693 slli a3,a3,0x30
+ 800024c8: 0007b503 ld a0,0(a5)
+ 800024cc: 00160613 addi a2,a2,1
+ 800024d0: 00d765b3 or a1,a4,a3
+ 800024d4: 00050a63 beqz a0,800024e8 <handle_fault+0x1ec>
+ 800024d8: fffff717 auipc a4,0xfffff
+ 800024dc: b6073423 sd zero,-1176(a4) # 80001040 <fromhost>
+ 800024e0: 0007b703 ld a4,0(a5)
+ 800024e4: fe071ae3 bnez a4,800024d8 <handle_fault+0x1dc>
+ 800024e8: 00064703 lbu a4,0(a2)
+ 800024ec: fffff517 auipc a0,0xfffff
+ 800024f0: b0b53a23 sd a1,-1260(a0) # 80001000 <tohost>
+ 800024f4: fc071ae3 bnez a4,800024c8 <handle_fault+0x1cc>
+ 800024f8: fa5ff06f j 8000249c <handle_fault+0x1a0>
+ 800024fc: 10100693 li a3,257
+ 80002500: 04100713 li a4,65
+ 80002504: 00001617 auipc a2,0x1
+ 80002508: a3c60613 addi a2,a2,-1476 # 80002f40 <pass+0xb8>
+ 8000250c: fffff797 auipc a5,0xfffff
+ 80002510: af478793 addi a5,a5,-1292 # 80001000 <tohost>
+ 80002514: 03069693 slli a3,a3,0x30
+ 80002518: 0007b503 ld a0,0(a5)
+ 8000251c: 00160613 addi a2,a2,1
+ 80002520: 00d765b3 or a1,a4,a3
+ 80002524: 00050a63 beqz a0,80002538 <handle_fault+0x23c>
+ 80002528: fffff717 auipc a4,0xfffff
+ 8000252c: b0073c23 sd zero,-1256(a4) # 80001040 <fromhost>
+ 80002530: 0007b703 ld a4,0(a5)
+ 80002534: fe071ae3 bnez a4,80002528 <handle_fault+0x22c>
+ 80002538: 00064703 lbu a4,0(a2)
+ 8000253c: fffff517 auipc a0,0xfffff
+ 80002540: acb53223 sd a1,-1340(a0) # 80001000 <tohost>
+ 80002544: fc071ae3 bnez a4,80002518 <handle_fault+0x21c>
+ 80002548: f55ff06f j 8000249c <handle_fault+0x1a0>
+ 8000254c: 10100613 li a2,257
+ 80002550: 04100713 li a4,65
+ 80002554: 00001697 auipc a3,0x1
+ 80002558: 98c68693 addi a3,a3,-1652 # 80002ee0 <pass+0x58>
+ 8000255c: fffff797 auipc a5,0xfffff
+ 80002560: aa478793 addi a5,a5,-1372 # 80001000 <tohost>
+ 80002564: 03061613 slli a2,a2,0x30
+ 80002568: 0007b503 ld a0,0(a5)
+ 8000256c: 00168693 addi a3,a3,1
+ 80002570: 00c765b3 or a1,a4,a2
+ 80002574: 00050a63 beqz a0,80002588 <handle_fault+0x28c>
+ 80002578: fffff717 auipc a4,0xfffff
+ 8000257c: ac073423 sd zero,-1336(a4) # 80001040 <fromhost>
+ 80002580: 0007b703 ld a4,0(a5)
+ 80002584: fe071ae3 bnez a4,80002578 <handle_fault+0x27c>
+ 80002588: 0006c703 lbu a4,0(a3)
+ 8000258c: fffff517 auipc a0,0xfffff
+ 80002590: a6b53a23 sd a1,-1420(a0) # 80001000 <tohost>
+ 80002594: fc071ae3 bnez a4,80002568 <handle_fault+0x26c>
+ 80002598: f05ff06f j 8000249c <handle_fault+0x1a0>
+
+000000008000259c <handle_trap>:
+ 8000259c: 11853583 ld a1,280(a0)
+ 800025a0: f9010113 addi sp,sp,-112
+ 800025a4: 06813023 sd s0,96(sp)
+ 800025a8: 06113423 sd ra,104(sp)
+ 800025ac: 04913c23 sd s1,88(sp)
+ 800025b0: 05213823 sd s2,80(sp)
+ 800025b4: 05313423 sd s3,72(sp)
+ 800025b8: 05413023 sd s4,64(sp)
+ 800025bc: 03513c23 sd s5,56(sp)
+ 800025c0: 03613823 sd s6,48(sp)
+ 800025c4: 03713423 sd s7,40(sp)
+ 800025c8: 03813023 sd s8,32(sp)
+ 800025cc: 01913c23 sd s9,24(sp)
+ 800025d0: 01a13823 sd s10,16(sp)
+ 800025d4: 01b13423 sd s11,8(sp)
+ 800025d8: 00800793 li a5,8
+ 800025dc: 00050413 mv s0,a0
+ 800025e0: 12f58a63 beq a1,a5,80002714 <handle_trap+0x178>
+ 800025e4: 00200793 li a5,2
+ 800025e8: 06f58063 beq a1,a5,80002648 <handle_trap+0xac>
+ 800025ec: ff458793 addi a5,a1,-12 # ff4 <_start-0x7ffff00c>
+ 800025f0: 00100713 li a4,1
+ 800025f4: 00f77663 bleu a5,a4,80002600 <handle_trap+0x64>
+ 800025f8: 00f00793 li a5,15
+ 800025fc: 1ef59463 bne a1,a5,800027e4 <handle_trap+0x248>
+ 80002600: 11043503 ld a0,272(s0)
+ 80002604: cf9ff0ef jal ra,800022fc <handle_fault>
+ 80002608: 00040513 mv a0,s0
+ 8000260c: 06013403 ld s0,96(sp)
+ 80002610: 06813083 ld ra,104(sp)
+ 80002614: 05813483 ld s1,88(sp)
+ 80002618: 05013903 ld s2,80(sp)
+ 8000261c: 04813983 ld s3,72(sp)
+ 80002620: 04013a03 ld s4,64(sp)
+ 80002624: 03813a83 ld s5,56(sp)
+ 80002628: 03013b03 ld s6,48(sp)
+ 8000262c: 02813b83 ld s7,40(sp)
+ 80002630: 02013c03 ld s8,32(sp)
+ 80002634: 01813c83 ld s9,24(sp)
+ 80002638: 01013d03 ld s10,16(sp)
+ 8000263c: 00813d83 ld s11,8(sp)
+ 80002640: 07010113 addi sp,sp,112
+ 80002644: 9f9fd06f j 8000003c <pop_tf>
+ 80002648: 10853703 ld a4,264(a0)
+ 8000264c: 00377793 andi a5,a4,3
+ 80002650: 06079a63 bnez a5,800026c4 <handle_trap+0x128>
+ 80002654: 008007ef jal a5,8000265c <handle_trap+0xc0>
+ 80002658: 00301073 fssr zero
+ 8000265c: 00072703 lw a4,0(a4)
+ 80002660: 0007a783 lw a5,0(a5)
+ 80002664: 04f70c63 beq a4,a5,800026bc <handle_trap+0x120>
+ 80002668: 10100513 li a0,257
+ 8000266c: 04100793 li a5,65
+ 80002670: 00001697 auipc a3,0x1
+ 80002674: 9a868693 addi a3,a3,-1624 # 80003018 <pass+0x190>
+ 80002678: fffff717 auipc a4,0xfffff
+ 8000267c: 98870713 addi a4,a4,-1656 # 80001000 <tohost>
+ 80002680: 03051513 slli a0,a0,0x30
+ 80002684: 00073583 ld a1,0(a4)
+ 80002688: 00168693 addi a3,a3,1
+ 8000268c: 00a7e633 or a2,a5,a0
+ 80002690: 00058a63 beqz a1,800026a4 <handle_trap+0x108>
+ 80002694: fffff797 auipc a5,0xfffff
+ 80002698: 9a07b623 sd zero,-1620(a5) # 80001040 <fromhost>
+ 8000269c: 00073783 ld a5,0(a4)
+ 800026a0: fe079ae3 bnez a5,80002694 <handle_trap+0xf8>
+ 800026a4: 0006c783 lbu a5,0(a3)
+ 800026a8: fffff597 auipc a1,0xfffff
+ 800026ac: 94c5bc23 sd a2,-1704(a1) # 80001000 <tohost>
+ 800026b0: fc079ae3 bnez a5,80002684 <handle_trap+0xe8>
+ 800026b4: 00300513 li a0,3
+ 800026b8: b79ff0ef jal ra,80002230 <terminate>
+ 800026bc: 00100513 li a0,1
+ 800026c0: b71ff0ef jal ra,80002230 <terminate>
+ 800026c4: 10100793 li a5,257
+ 800026c8: 00001617 auipc a2,0x1
+ 800026cc: 92860613 addi a2,a2,-1752 # 80002ff0 <pass+0x168>
+ 800026d0: 04100693 li a3,65
+ 800026d4: fffff717 auipc a4,0xfffff
+ 800026d8: 92c70713 addi a4,a4,-1748 # 80001000 <tohost>
+ 800026dc: 03079793 slli a5,a5,0x30
+ 800026e0: 00073503 ld a0,0(a4)
+ 800026e4: 00160613 addi a2,a2,1
+ 800026e8: 00f6e5b3 or a1,a3,a5
+ 800026ec: 00050a63 beqz a0,80002700 <handle_trap+0x164>
+ 800026f0: fffff697 auipc a3,0xfffff
+ 800026f4: 9406b823 sd zero,-1712(a3) # 80001040 <fromhost>
+ 800026f8: 00073683 ld a3,0(a4)
+ 800026fc: fe069ae3 bnez a3,800026f0 <handle_trap+0x154>
+ 80002700: 00064683 lbu a3,0(a2)
+ 80002704: fffff517 auipc a0,0xfffff
+ 80002708: 8eb53e23 sd a1,-1796(a0) # 80001000 <tohost>
+ 8000270c: fc069ae3 bnez a3,800026e0 <handle_trap+0x144>
+ 80002710: fa5ff06f j 800026b4 <handle_trap+0x118>
+ 80002714: 05052983 lw s3,80(a0)
+ 80002718: 00001437 lui s0,0x1
+ 8000271c: 00007d17 auipc s10,0x7
+ 80002720: cd4d0d13 addi s10,s10,-812 # 800093f0 <user_mapping>
+ 80002724: 00003b97 auipc s7,0x3
+ 80002728: 8dcb8b93 addi s7,s7,-1828 # 80005000 <pt>
+ 8000272c: 00040b37 lui s6,0x40
+ 80002730: ffe00ab7 lui s5,0xffe00
+ 80002734: 00007a17 auipc s4,0x7
+ 80002738: 0aca0a13 addi s4,s4,172 # 800097e0 <freelist_tail>
+ 8000273c: 0003f937 lui s2,0x3f
+ 80002740: 01c0006f j 8000275c <handle_trap+0x1c0>
+ 80002744: 00f73423 sd a5,8(a4)
+ 80002748: 00007717 auipc a4,0x7
+ 8000274c: 08f73c23 sd a5,152(a4) # 800097e0 <freelist_tail>
+ 80002750: 000017b7 lui a5,0x1
+ 80002754: 00f40433 add s0,s0,a5
+ 80002758: 15240663 beq s0,s2,800028a4 <handle_trap+0x308>
+ 8000275c: 00c45793 srli a5,s0,0xc
+ 80002760: 00479493 slli s1,a5,0x4
+ 80002764: 009d0733 add a4,s10,s1
+ 80002768: 00073703 ld a4,0(a4)
+ 8000276c: fe0702e3 beqz a4,80002750 <handle_trap+0x1b4>
+ 80002770: 60078793 addi a5,a5,1536 # 1600 <_start-0x7fffea00>
+ 80002774: 00379793 slli a5,a5,0x3
+ 80002778: 00fb87b3 add a5,s7,a5
+ 8000277c: 0007bc03 ld s8,0(a5)
+ 80002780: 040c7793 andi a5,s8,64
+ 80002784: 0e078463 beqz a5,8000286c <handle_trap+0x2d0>
+ 80002788: 100b2cf3 csrrs s9,sstatus,s6
+ 8000278c: 01540db3 add s11,s0,s5
+ 80002790: 00001637 lui a2,0x1
+ 80002794: 000d8593 mv a1,s11
+ 80002798: 00040513 mv a0,s0
+ 8000279c: 975ff0ef jal ra,80002110 <memcmp>
+ 800027a0: 00050e63 beqz a0,800027bc <handle_trap+0x220>
+ 800027a4: 080c7c13 andi s8,s8,128
+ 800027a8: 080c0663 beqz s8,80002834 <handle_trap+0x298>
+ 800027ac: 00001637 lui a2,0x1
+ 800027b0: 000d8593 mv a1,s11
+ 800027b4: 00040513 mv a0,s0
+ 800027b8: 849ff0ef jal ra,80002000 <memcpy>
+ 800027bc: 009d07b3 add a5,s10,s1
+ 800027c0: 100c9073 csrw sstatus,s9
+ 800027c4: 000a3703 ld a4,0(s4)
+ 800027c8: 0007b023 sd zero,0(a5)
+ 800027cc: f6071ce3 bnez a4,80002744 <handle_trap+0x1a8>
+ 800027d0: 00007717 auipc a4,0x7
+ 800027d4: 00f73823 sd a5,16(a4) # 800097e0 <freelist_tail>
+ 800027d8: 00007717 auipc a4,0x7
+ 800027dc: 00f73823 sd a5,16(a4) # 800097e8 <freelist_head>
+ 800027e0: f71ff06f j 80002750 <handle_trap+0x1b4>
+ 800027e4: 10100793 li a5,257
+ 800027e8: 04100613 li a2,65
+ 800027ec: 00001697 auipc a3,0x1
+ 800027f0: 85c68693 addi a3,a3,-1956 # 80003048 <pass+0x1c0>
+ 800027f4: fffff717 auipc a4,0xfffff
+ 800027f8: 80c70713 addi a4,a4,-2036 # 80001000 <tohost>
+ 800027fc: 03079793 slli a5,a5,0x30
+ 80002800: 00073503 ld a0,0(a4)
+ 80002804: 00168693 addi a3,a3,1
+ 80002808: 00f665b3 or a1,a2,a5
+ 8000280c: 00050a63 beqz a0,80002820 <handle_trap+0x284>
+ 80002810: fffff617 auipc a2,0xfffff
+ 80002814: 82063823 sd zero,-2000(a2) # 80001040 <fromhost>
+ 80002818: 00073603 ld a2,0(a4)
+ 8000281c: fe061ae3 bnez a2,80002810 <handle_trap+0x274>
+ 80002820: 0006c603 lbu a2,0(a3)
+ 80002824: ffffe517 auipc a0,0xffffe
+ 80002828: 7cb53e23 sd a1,2012(a0) # 80001000 <tohost>
+ 8000282c: fc061ae3 bnez a2,80002800 <handle_trap+0x264>
+ 80002830: e85ff06f j 800026b4 <handle_trap+0x118>
+ 80002834: 10100793 li a5,257
+ 80002838: 04100613 li a2,65
+ 8000283c: 00000697 auipc a3,0x0
+ 80002840: 77c68693 addi a3,a3,1916 # 80002fb8 <pass+0x130>
+ 80002844: ffffe717 auipc a4,0xffffe
+ 80002848: 7bc70713 addi a4,a4,1980 # 80001000 <tohost>
+ 8000284c: 03079793 slli a5,a5,0x30
+ 80002850: 00168693 addi a3,a3,1
+ 80002854: 00f665b3 or a1,a2,a5
+ 80002858: 00073603 ld a2,0(a4)
+ 8000285c: 04060863 beqz a2,800028ac <handle_trap+0x310>
+ 80002860: ffffe617 auipc a2,0xffffe
+ 80002864: 7e063023 sd zero,2016(a2) # 80001040 <fromhost>
+ 80002868: ff1ff06f j 80002858 <handle_trap+0x2bc>
+ 8000286c: 10100793 li a5,257
+ 80002870: 04100613 li a2,65
+ 80002874: 00000697 auipc a3,0x0
+ 80002878: 70c68693 addi a3,a3,1804 # 80002f80 <pass+0xf8>
+ 8000287c: ffffe717 auipc a4,0xffffe
+ 80002880: 78470713 addi a4,a4,1924 # 80001000 <tohost>
+ 80002884: 03079793 slli a5,a5,0x30
+ 80002888: 00168693 addi a3,a3,1
+ 8000288c: 00f665b3 or a1,a2,a5
+ 80002890: 00073603 ld a2,0(a4)
+ 80002894: 02060663 beqz a2,800028c0 <handle_trap+0x324>
+ 80002898: ffffe617 auipc a2,0xffffe
+ 8000289c: 7a063423 sd zero,1960(a2) # 80001040 <fromhost>
+ 800028a0: ff1ff06f j 80002890 <handle_trap+0x2f4>
+ 800028a4: 00098513 mv a0,s3
+ 800028a8: 989ff0ef jal ra,80002230 <terminate>
+ 800028ac: 0006c603 lbu a2,0(a3)
+ 800028b0: ffffe517 auipc a0,0xffffe
+ 800028b4: 74b53823 sd a1,1872(a0) # 80001000 <tohost>
+ 800028b8: f8061ce3 bnez a2,80002850 <handle_trap+0x2b4>
+ 800028bc: df9ff06f j 800026b4 <handle_trap+0x118>
+ 800028c0: 0006c603 lbu a2,0(a3)
+ 800028c4: ffffe517 auipc a0,0xffffe
+ 800028c8: 72b53e23 sd a1,1852(a0) # 80001000 <tohost>
+ 800028cc: fa061ee3 bnez a2,80002888 <handle_trap+0x2ec>
+ 800028d0: de5ff06f j 800026b4 <handle_trap+0x118>
+
+00000000800028d4 <vm_boot>:
+ 800028d4: f14027f3 csrr a5,mhartid
+ 800028d8: 18079a63 bnez a5,80002a6c <vm_boot+0x198>
+ 800028dc: 00003697 auipc a3,0x3
+ 800028e0: 72468693 addi a3,a3,1828 # 80006000 <pt+0x1000>
+ 800028e4: 00004717 auipc a4,0x4
+ 800028e8: 71c70713 addi a4,a4,1820 # 80007000 <pt+0x2000>
+ 800028ec: 00c6d693 srli a3,a3,0xc
+ 800028f0: 00c75713 srli a4,a4,0xc
+ 800028f4: 00005797 auipc a5,0x5
+ 800028f8: 70c78793 addi a5,a5,1804 # 80008000 <pt+0x3000>
+ 800028fc: 00a69693 slli a3,a3,0xa
+ 80002900: 00a71713 slli a4,a4,0xa
+ 80002904: 0016e693 ori a3,a3,1
+ 80002908: 00176713 ori a4,a4,1
+ 8000290c: 00c7d793 srli a5,a5,0xc
+ 80002910: 00002897 auipc a7,0x2
+ 80002914: 6ed8b823 sd a3,1776(a7) # 80005000 <pt>
+ 80002918: 00a79793 slli a5,a5,0xa
+ 8000291c: 00003697 auipc a3,0x3
+ 80002920: 6ce6be23 sd a4,1756(a3) # 80005ff8 <pt+0xff8>
+ 80002924: 20000737 lui a4,0x20000
+ 80002928: 0cf70713 addi a4,a4,207 # 200000cf <_start-0x5fffff31>
+ 8000292c: fff00593 li a1,-1
+ 80002930: 0017e793 ori a5,a5,1
+ 80002934: 00002617 auipc a2,0x2
+ 80002938: 6cc60613 addi a2,a2,1740 # 80005000 <pt>
+ 8000293c: ed010113 addi sp,sp,-304
+ 80002940: 03f59813 slli a6,a1,0x3f
+ 80002944: 00005697 auipc a3,0x5
+ 80002948: 6ae6ba23 sd a4,1716(a3) # 80007ff8 <pt+0x2ff8>
+ 8000294c: 00003717 auipc a4,0x3
+ 80002950: 6af73a23 sd a5,1716(a4) # 80006000 <pt+0x1000>
+ 80002954: 00c65793 srli a5,a2,0xc
+ 80002958: 12113423 sd ra,296(sp)
+ 8000295c: 12813023 sd s0,288(sp)
+ 80002960: 0107e7b3 or a5,a5,a6
+ 80002964: 18079073 csrw satp,a5
+ 80002968: 01f00793 li a5,31
+ 8000296c: 00000297 auipc t0,0x0
+ 80002970: 01428293 addi t0,t0,20 # 80002980 <vm_boot+0xac>
+ 80002974: 305292f3 csrrw t0,mtvec,t0
+ 80002978: 3b059073 csrw pmpaddr0,a1
+ 8000297c: 3a079073 csrw pmpcfg0,a5
+ 80002980: bff00813 li a6,-1025
+ 80002984: 01581813 slli a6,a6,0x15
+ 80002988: ffffd797 auipc a5,0xffffd
+ 8000298c: 73c78793 addi a5,a5,1852 # 800000c4 <trap_entry>
+ 80002990: 010787b3 add a5,a5,a6
+ 80002994: 10579073 csrw stvec,a5
+ 80002998: 340027f3 csrr a5,mscratch
+ 8000299c: 010787b3 add a5,a5,a6
+ 800029a0: 14079073 csrw sscratch,a5
+ 800029a4: 0000b7b7 lui a5,0xb
+ 800029a8: 1007879b addiw a5,a5,256
+ 800029ac: 30279073 csrw medeleg,a5
+ 800029b0: 0001e7b7 lui a5,0x1e
+ 800029b4: 30079073 csrw mstatus,a5
+ 800029b8: 30405073 csrwi mie,0
+ 800029bc: 00006697 auipc a3,0x6
+ 800029c0: 64468693 addi a3,a3,1604 # 80009000 <freelist_nodes>
+ 800029c4: 010687b3 add a5,a3,a6
+ 800029c8: 3e078713 addi a4,a5,992 # 1e3e0 <_start-0x7ffe1c20>
+ 800029cc: 00007617 auipc a2,0x7
+ 800029d0: e0f63e23 sd a5,-484(a2) # 800097e8 <freelist_head>
+ 800029d4: 00007797 auipc a5,0x7
+ 800029d8: e0e7b623 sd a4,-500(a5) # 800097e0 <freelist_tail>
+ 800029dc: 00007317 auipc t1,0x7
+ 800029e0: a1430313 addi t1,t1,-1516 # 800093f0 <user_mapping>
+ 800029e4: 01100793 li a5,17
+ 800029e8: 000808b7 lui a7,0x80
+ 800029ec: 01080813 addi a6,a6,16
+ 800029f0: 03f7871b addiw a4,a5,63
+ 800029f4: 02071713 slli a4,a4,0x20
+ 800029f8: 0017d61b srliw a2,a5,0x1
+ 800029fc: 02075713 srli a4,a4,0x20
+ 80002a00: 00c7c7b3 xor a5,a5,a2
+ 80002a04: 01170733 add a4,a4,a7
+ 80002a08: 010685b3 add a1,a3,a6
+ 80002a0c: 00c71713 slli a4,a4,0xc
+ 80002a10: 0057979b slliw a5,a5,0x5
+ 80002a14: 00e6b023 sd a4,0(a3)
+ 80002a18: 00b6b423 sd a1,8(a3)
+ 80002a1c: 0207f793 andi a5,a5,32
+ 80002a20: 01068693 addi a3,a3,16
+ 80002a24: 00c7e7b3 or a5,a5,a2
+ 80002a28: fcd314e3 bne t1,a3,800029f0 <vm_boot+0x11c>
+ 80002a2c: 00050413 mv s0,a0
+ 80002a30: 12000613 li a2,288
+ 80002a34: 00000593 li a1,0
+ 80002a38: 00010513 mv a0,sp
+ 80002a3c: 00007797 auipc a5,0x7
+ 80002a40: 9a07b623 sd zero,-1620(a5) # 800093e8 <freelist_nodes+0x3e8>
+ 80002a44: e18ff0ef jal ra,8000205c <memset>
+ 80002a48: 800007b7 lui a5,0x80000
+ 80002a4c: 00f40433 add s0,s0,a5
+ 80002a50: 00010513 mv a0,sp
+ 80002a54: 10813423 sd s0,264(sp)
+ 80002a58: de4fd0ef jal ra,8000003c <pop_tf>
+ 80002a5c: 12813083 ld ra,296(sp)
+ 80002a60: 12013403 ld s0,288(sp)
+ 80002a64: 13010113 addi sp,sp,304
+ 80002a68: 00008067 ret
+ 80002a6c: 0a65b7b7 lui a5,0xa65b
+ 80002a70: 000805b7 lui a1,0x80
+ 80002a74: 96c78793 addi a5,a5,-1684 # a65a96c <_start-0x759a5694>
+ 80002a78: ffc58593 addi a1,a1,-4 # 7fffc <_start-0x7ff80004>
+ 80002a7c: 00100613 li a2,1
+ 80002a80: 00b7f733 and a4,a5,a1
+ 80002a84: 01f61613 slli a2,a2,0x1f
+ 80002a88: 0017f693 andi a3,a5,1
+ 80002a8c: 02079793 slli a5,a5,0x20
+ 80002a90: 0207d793 srli a5,a5,0x20
+ 80002a94: 00c70733 add a4,a4,a2
+ 80002a98: 02068263 beqz a3,80002abc <vm_boot+0x1e8>
+ 80002a9c: 0007202f amoadd.w zero,zero,(a4)
+ 80002aa0: 0017d793 srli a5,a5,0x1
+ 80002aa4: 00b7f733 and a4,a5,a1
+ 80002aa8: 0017f693 andi a3,a5,1
+ 80002aac: 02079793 slli a5,a5,0x20
+ 80002ab0: 0207d793 srli a5,a5,0x20
+ 80002ab4: 00c70733 add a4,a4,a2
+ 80002ab8: fe0692e3 bnez a3,80002a9c <vm_boot+0x1c8>
+ 80002abc: 00072003 lw zero,0(a4)
+ 80002ac0: 0017d793 srli a5,a5,0x1
+ 80002ac4: fe1ff06f j 80002aa4 <vm_boot+0x1d0>
+
+0000000080002ac8 <userstart>:
+ 80002ac8: 00301073 fssr zero
+
+0000000080002acc <test_2>:
+ 80002acc: 00200193 li gp,2
+ 80002ad0: 00001517 auipc a0,0x1
+ 80002ad4: 53050513 addi a0,a0,1328 # 80004000 <test_2_data>
+ 80002ad8: 00052007 flw ft0,0(a0)
+ 80002adc: 00452087 flw ft1,4(a0)
+ 80002ae0: 00852107 flw ft2,8(a0)
+ 80002ae4: 00c52683 lw a3,12(a0)
+ 80002ae8: 281001d3 fmin.s ft3,ft0,ft1
+ 80002aec: e0018553 fmv.x.w a0,ft3
+ 80002af0: 001015f3 fsflags a1,zero
+ 80002af4: 00000613 li a2,0
+ 80002af8: 38d51063 bne a0,a3,80002e78 <fail>
+ 80002afc: 36c59e63 bne a1,a2,80002e78 <fail>
+
+0000000080002b00 <test_3>:
+ 80002b00: 00300193 li gp,3
+ 80002b04: 00001517 auipc a0,0x1
+ 80002b08: 50c50513 addi a0,a0,1292 # 80004010 <test_3_data>
+ 80002b0c: 00052007 flw ft0,0(a0)
+ 80002b10: 00452087 flw ft1,4(a0)
+ 80002b14: 00852107 flw ft2,8(a0)
+ 80002b18: 00c52683 lw a3,12(a0)
+ 80002b1c: 281001d3 fmin.s ft3,ft0,ft1
+ 80002b20: e0018553 fmv.x.w a0,ft3
+ 80002b24: 001015f3 fsflags a1,zero
+ 80002b28: 00000613 li a2,0
+ 80002b2c: 34d51663 bne a0,a3,80002e78 <fail>
+ 80002b30: 34c59463 bne a1,a2,80002e78 <fail>
+
+0000000080002b34 <test_4>:
+ 80002b34: 00400193 li gp,4
+ 80002b38: 00001517 auipc a0,0x1
+ 80002b3c: 4e850513 addi a0,a0,1256 # 80004020 <test_4_data>
+ 80002b40: 00052007 flw ft0,0(a0)
+ 80002b44: 00452087 flw ft1,4(a0)
+ 80002b48: 00852107 flw ft2,8(a0)
+ 80002b4c: 00c52683 lw a3,12(a0)
+ 80002b50: 281001d3 fmin.s ft3,ft0,ft1
+ 80002b54: e0018553 fmv.x.w a0,ft3
+ 80002b58: 001015f3 fsflags a1,zero
+ 80002b5c: 00000613 li a2,0
+ 80002b60: 30d51c63 bne a0,a3,80002e78 <fail>
+ 80002b64: 30c59a63 bne a1,a2,80002e78 <fail>
+
+0000000080002b68 <test_5>:
+ 80002b68: 00500193 li gp,5
+ 80002b6c: 00001517 auipc a0,0x1
+ 80002b70: 4c450513 addi a0,a0,1220 # 80004030 <test_5_data>
+ 80002b74: 00052007 flw ft0,0(a0)
+ 80002b78: 00452087 flw ft1,4(a0)
+ 80002b7c: 00852107 flw ft2,8(a0)
+ 80002b80: 00c52683 lw a3,12(a0)
+ 80002b84: 281001d3 fmin.s ft3,ft0,ft1
+ 80002b88: e0018553 fmv.x.w a0,ft3
+ 80002b8c: 001015f3 fsflags a1,zero
+ 80002b90: 00000613 li a2,0
+ 80002b94: 2ed51263 bne a0,a3,80002e78 <fail>
+ 80002b98: 2ec59063 bne a1,a2,80002e78 <fail>
+
+0000000080002b9c <test_6>:
+ 80002b9c: 00600193 li gp,6
+ 80002ba0: 00001517 auipc a0,0x1
+ 80002ba4: 4a050513 addi a0,a0,1184 # 80004040 <test_6_data>
+ 80002ba8: 00052007 flw ft0,0(a0)
+ 80002bac: 00452087 flw ft1,4(a0)
+ 80002bb0: 00852107 flw ft2,8(a0)
+ 80002bb4: 00c52683 lw a3,12(a0)
+ 80002bb8: 281001d3 fmin.s ft3,ft0,ft1
+ 80002bbc: e0018553 fmv.x.w a0,ft3
+ 80002bc0: 001015f3 fsflags a1,zero
+ 80002bc4: 00000613 li a2,0
+ 80002bc8: 2ad51863 bne a0,a3,80002e78 <fail>
+ 80002bcc: 2ac59663 bne a1,a2,80002e78 <fail>
+
+0000000080002bd0 <test_7>:
+ 80002bd0: 00700193 li gp,7
+ 80002bd4: 00001517 auipc a0,0x1
+ 80002bd8: 47c50513 addi a0,a0,1148 # 80004050 <test_7_data>
+ 80002bdc: 00052007 flw ft0,0(a0)
+ 80002be0: 00452087 flw ft1,4(a0)
+ 80002be4: 00852107 flw ft2,8(a0)
+ 80002be8: 00c52683 lw a3,12(a0)
+ 80002bec: 281001d3 fmin.s ft3,ft0,ft1
+ 80002bf0: e0018553 fmv.x.w a0,ft3
+ 80002bf4: 001015f3 fsflags a1,zero
+ 80002bf8: 00000613 li a2,0
+ 80002bfc: 26d51e63 bne a0,a3,80002e78 <fail>
+ 80002c00: 26c59c63 bne a1,a2,80002e78 <fail>
+
+0000000080002c04 <test_12>:
+ 80002c04: 00c00193 li gp,12
+ 80002c08: 00001517 auipc a0,0x1
+ 80002c0c: 45850513 addi a0,a0,1112 # 80004060 <test_12_data>
+ 80002c10: 00052007 flw ft0,0(a0)
+ 80002c14: 00452087 flw ft1,4(a0)
+ 80002c18: 00852107 flw ft2,8(a0)
+ 80002c1c: 00c52683 lw a3,12(a0)
+ 80002c20: 281011d3 fmax.s ft3,ft0,ft1
+ 80002c24: e0018553 fmv.x.w a0,ft3
+ 80002c28: 001015f3 fsflags a1,zero
+ 80002c2c: 00000613 li a2,0
+ 80002c30: 24d51463 bne a0,a3,80002e78 <fail>
+ 80002c34: 24c59263 bne a1,a2,80002e78 <fail>
+
+0000000080002c38 <test_13>:
+ 80002c38: 00d00193 li gp,13
+ 80002c3c: 00001517 auipc a0,0x1
+ 80002c40: 43450513 addi a0,a0,1076 # 80004070 <test_13_data>
+ 80002c44: 00052007 flw ft0,0(a0)
+ 80002c48: 00452087 flw ft1,4(a0)
+ 80002c4c: 00852107 flw ft2,8(a0)
+ 80002c50: 00c52683 lw a3,12(a0)
+ 80002c54: 281011d3 fmax.s ft3,ft0,ft1
+ 80002c58: e0018553 fmv.x.w a0,ft3
+ 80002c5c: 001015f3 fsflags a1,zero
+ 80002c60: 00000613 li a2,0
+ 80002c64: 20d51a63 bne a0,a3,80002e78 <fail>
+ 80002c68: 20c59863 bne a1,a2,80002e78 <fail>
+
+0000000080002c6c <test_14>:
+ 80002c6c: 00e00193 li gp,14
+ 80002c70: 00001517 auipc a0,0x1
+ 80002c74: 41050513 addi a0,a0,1040 # 80004080 <test_14_data>
+ 80002c78: 00052007 flw ft0,0(a0)
+ 80002c7c: 00452087 flw ft1,4(a0)
+ 80002c80: 00852107 flw ft2,8(a0)
+ 80002c84: 00c52683 lw a3,12(a0)
+ 80002c88: 281011d3 fmax.s ft3,ft0,ft1
+ 80002c8c: e0018553 fmv.x.w a0,ft3
+ 80002c90: 001015f3 fsflags a1,zero
+ 80002c94: 00000613 li a2,0
+ 80002c98: 1ed51063 bne a0,a3,80002e78 <fail>
+ 80002c9c: 1cc59e63 bne a1,a2,80002e78 <fail>
+
+0000000080002ca0 <test_15>:
+ 80002ca0: 00f00193 li gp,15
+ 80002ca4: 00001517 auipc a0,0x1
+ 80002ca8: 3ec50513 addi a0,a0,1004 # 80004090 <test_15_data>
+ 80002cac: 00052007 flw ft0,0(a0)
+ 80002cb0: 00452087 flw ft1,4(a0)
+ 80002cb4: 00852107 flw ft2,8(a0)
+ 80002cb8: 00c52683 lw a3,12(a0)
+ 80002cbc: 281011d3 fmax.s ft3,ft0,ft1
+ 80002cc0: e0018553 fmv.x.w a0,ft3
+ 80002cc4: 001015f3 fsflags a1,zero
+ 80002cc8: 00000613 li a2,0
+ 80002ccc: 1ad51663 bne a0,a3,80002e78 <fail>
+ 80002cd0: 1ac59463 bne a1,a2,80002e78 <fail>
+
+0000000080002cd4 <test_16>:
+ 80002cd4: 01000193 li gp,16
+ 80002cd8: 00001517 auipc a0,0x1
+ 80002cdc: 3c850513 addi a0,a0,968 # 800040a0 <test_16_data>
+ 80002ce0: 00052007 flw ft0,0(a0)
+ 80002ce4: 00452087 flw ft1,4(a0)
+ 80002ce8: 00852107 flw ft2,8(a0)
+ 80002cec: 00c52683 lw a3,12(a0)
+ 80002cf0: 281011d3 fmax.s ft3,ft0,ft1
+ 80002cf4: e0018553 fmv.x.w a0,ft3
+ 80002cf8: 001015f3 fsflags a1,zero
+ 80002cfc: 00000613 li a2,0
+ 80002d00: 16d51c63 bne a0,a3,80002e78 <fail>
+ 80002d04: 16c59a63 bne a1,a2,80002e78 <fail>
+
+0000000080002d08 <test_17>:
+ 80002d08: 01100193 li gp,17
+ 80002d0c: 00001517 auipc a0,0x1
+ 80002d10: 3a450513 addi a0,a0,932 # 800040b0 <test_17_data>
+ 80002d14: 00052007 flw ft0,0(a0)
+ 80002d18: 00452087 flw ft1,4(a0)
+ 80002d1c: 00852107 flw ft2,8(a0)
+ 80002d20: 00c52683 lw a3,12(a0)
+ 80002d24: 281011d3 fmax.s ft3,ft0,ft1
+ 80002d28: e0018553 fmv.x.w a0,ft3
+ 80002d2c: 001015f3 fsflags a1,zero
+ 80002d30: 00000613 li a2,0
+ 80002d34: 14d51263 bne a0,a3,80002e78 <fail>
+ 80002d38: 14c59063 bne a1,a2,80002e78 <fail>
+
+0000000080002d3c <test_20>:
+ 80002d3c: 01400193 li gp,20
+ 80002d40: 00001517 auipc a0,0x1
+ 80002d44: 38050513 addi a0,a0,896 # 800040c0 <test_20_data>
+ 80002d48: 00052007 flw ft0,0(a0)
+ 80002d4c: 00452087 flw ft1,4(a0)
+ 80002d50: 00852107 flw ft2,8(a0)
+ 80002d54: 00c52683 lw a3,12(a0)
+ 80002d58: 281011d3 fmax.s ft3,ft0,ft1
+ 80002d5c: e0018553 fmv.x.w a0,ft3
+ 80002d60: 001015f3 fsflags a1,zero
+ 80002d64: 01000613 li a2,16
+ 80002d68: 10d51863 bne a0,a3,80002e78 <fail>
+ 80002d6c: 10c59663 bne a1,a2,80002e78 <fail>
+
+0000000080002d70 <test_21>:
+ 80002d70: 01500193 li gp,21
+ 80002d74: 00001517 auipc a0,0x1
+ 80002d78: 35c50513 addi a0,a0,860 # 800040d0 <test_21_data>
+ 80002d7c: 00052007 flw ft0,0(a0)
+ 80002d80: 00452087 flw ft1,4(a0)
+ 80002d84: 00852107 flw ft2,8(a0)
+ 80002d88: 00c52683 lw a3,12(a0)
+ 80002d8c: 281011d3 fmax.s ft3,ft0,ft1
+ 80002d90: e0018553 fmv.x.w a0,ft3
+ 80002d94: 001015f3 fsflags a1,zero
+ 80002d98: 00000613 li a2,0
+ 80002d9c: 0cd51e63 bne a0,a3,80002e78 <fail>
+ 80002da0: 0cc59c63 bne a1,a2,80002e78 <fail>
+
+0000000080002da4 <test_30>:
+ 80002da4: 01e00193 li gp,30
+ 80002da8: 00001517 auipc a0,0x1
+ 80002dac: 33850513 addi a0,a0,824 # 800040e0 <test_30_data>
+ 80002db0: 00052007 flw ft0,0(a0)
+ 80002db4: 00452087 flw ft1,4(a0)
+ 80002db8: 00852107 flw ft2,8(a0)
+ 80002dbc: 00c52683 lw a3,12(a0)
+ 80002dc0: 281001d3 fmin.s ft3,ft0,ft1
+ 80002dc4: e0018553 fmv.x.w a0,ft3
+ 80002dc8: 001015f3 fsflags a1,zero
+ 80002dcc: 00000613 li a2,0
+ 80002dd0: 0ad51463 bne a0,a3,80002e78 <fail>
+ 80002dd4: 0ac59263 bne a1,a2,80002e78 <fail>
+
+0000000080002dd8 <test_31>:
+ 80002dd8: 01f00193 li gp,31
+ 80002ddc: 00001517 auipc a0,0x1
+ 80002de0: 31450513 addi a0,a0,788 # 800040f0 <test_31_data>
+ 80002de4: 00052007 flw ft0,0(a0)
+ 80002de8: 00452087 flw ft1,4(a0)
+ 80002dec: 00852107 flw ft2,8(a0)
+ 80002df0: 00c52683 lw a3,12(a0)
+ 80002df4: 281001d3 fmin.s ft3,ft0,ft1
+ 80002df8: e0018553 fmv.x.w a0,ft3
+ 80002dfc: 001015f3 fsflags a1,zero
+ 80002e00: 00000613 li a2,0
+ 80002e04: 06d51a63 bne a0,a3,80002e78 <fail>
+ 80002e08: 06c59863 bne a1,a2,80002e78 <fail>
+
+0000000080002e0c <test_32>:
+ 80002e0c: 02000193 li gp,32
+ 80002e10: 00001517 auipc a0,0x1
+ 80002e14: 2f050513 addi a0,a0,752 # 80004100 <test_32_data>
+ 80002e18: 00052007 flw ft0,0(a0)
+ 80002e1c: 00452087 flw ft1,4(a0)
+ 80002e20: 00852107 flw ft2,8(a0)
+ 80002e24: 00c52683 lw a3,12(a0)
+ 80002e28: 281011d3 fmax.s ft3,ft0,ft1
+ 80002e2c: e0018553 fmv.x.w a0,ft3
+ 80002e30: 001015f3 fsflags a1,zero
+ 80002e34: 00000613 li a2,0
+ 80002e38: 04d51063 bne a0,a3,80002e78 <fail>
+ 80002e3c: 02c59e63 bne a1,a2,80002e78 <fail>
+
+0000000080002e40 <test_33>:
+ 80002e40: 02100193 li gp,33
+ 80002e44: 00001517 auipc a0,0x1
+ 80002e48: 2cc50513 addi a0,a0,716 # 80004110 <test_33_data>
+ 80002e4c: 00052007 flw ft0,0(a0)
+ 80002e50: 00452087 flw ft1,4(a0)
+ 80002e54: 00852107 flw ft2,8(a0)
+ 80002e58: 00c52683 lw a3,12(a0)
+ 80002e5c: 281011d3 fmax.s ft3,ft0,ft1
+ 80002e60: e0018553 fmv.x.w a0,ft3
+ 80002e64: 001015f3 fsflags a1,zero
+ 80002e68: 00000613 li a2,0
+ 80002e6c: 00d51663 bne a0,a3,80002e78 <fail>
+ 80002e70: 00c59463 bne a1,a2,80002e78 <fail>
+ 80002e74: 00301a63 bne zero,gp,80002e88 <pass>
+
+0000000080002e78 <fail>:
+ 80002e78: 00119513 slli a0,gp,0x1
+ 80002e7c: 00050063 beqz a0,80002e7c <fail+0x4>
+ 80002e80: 00156513 ori a0,a0,1
+ 80002e84: 00000073 ecall
+
+0000000080002e88 <pass>:
+ 80002e88: 00100513 li a0,1
+ 80002e8c: 00000073 ecall
+ 80002e90: c0001073 unimp
+
+Disassembly of section .data:
+
+0000000080004000 <test_2_data>:
+ 80004000: 0000 unimp
+ 80004002: 4020 lw s0,64(s0)
+ 80004004: 0000 unimp
+ 80004006: 3f80 fld fs0,56(a5)
+ 80004008: 0000 unimp
+ 8000400a: 0000 unimp
+ 8000400c: 0000 unimp
+ 8000400e: 3f80 fld fs0,56(a5)
+
+0000000080004010 <test_3_data>:
+ 80004010: c49a6333 0xc49a6333
+ 80004014: cccd beqz s1,800040ce <test_20_data+0xe>
+ 80004016: 3f8c fld fa1,56(a5)
+ 80004018: 0000 unimp
+ 8000401a: 0000 unimp
+ 8000401c: c49a6333 0xc49a6333
+
+0000000080004020 <test_4_data>:
+ 80004020: cccd beqz s1,800040da <test_21_data+0xa>
+ 80004022: 3f8c fld fa1,56(a5)
+ 80004024: c49a6333 0xc49a6333
+ 80004028: 0000 unimp
+ 8000402a: 0000 unimp
+ 8000402c: c49a6333 0xc49a6333
+
+0000000080004030 <test_5_data>:
+ 80004030: ffff 0xffff
+ 80004032: 7fff 0x7fff
+ 80004034: c49a6333 0xc49a6333
+ 80004038: 0000 unimp
+ 8000403a: 0000 unimp
+ 8000403c: c49a6333 0xc49a6333
+
+0000000080004040 <test_6_data>:
+ 80004040: 40490fdb 0x40490fdb
+ 80004044: 322bcc77 0x322bcc77
+ 80004048: 0000 unimp
+ 8000404a: 0000 unimp
+ 8000404c: 322bcc77 0x322bcc77
+
+0000000080004050 <test_7_data>:
+ 80004050: 0000 unimp
+ 80004052: bf80 fsd fs0,56(a5)
+ 80004054: 0000 unimp
+ 80004056: c000 sw s0,0(s0)
+ 80004058: 0000 unimp
+ 8000405a: 0000 unimp
+ 8000405c: 0000 unimp
+ 8000405e: c000 sw s0,0(s0)
+
+0000000080004060 <test_12_data>:
+ 80004060: 0000 unimp
+ 80004062: 4020 lw s0,64(s0)
+ 80004064: 0000 unimp
+ 80004066: 3f80 fld fs0,56(a5)
+ 80004068: 0000 unimp
+ 8000406a: 0000 unimp
+ 8000406c: 0000 unimp
+ 8000406e: 4020 lw s0,64(s0)
+
+0000000080004070 <test_13_data>:
+ 80004070: c49a6333 0xc49a6333
+ 80004074: cccd beqz s1,8000412e <begin_signature+0xe>
+ 80004076: 3f8c fld fa1,56(a5)
+ 80004078: 0000 unimp
+ 8000407a: 0000 unimp
+ 8000407c: cccd beqz s1,80004136 <begin_signature+0x16>
+ 8000407e: 3f8c fld fa1,56(a5)
+
+0000000080004080 <test_14_data>:
+ 80004080: cccd beqz s1,8000413a <begin_signature+0x1a>
+ 80004082: 3f8c fld fa1,56(a5)
+ 80004084: c49a6333 0xc49a6333
+ 80004088: 0000 unimp
+ 8000408a: 0000 unimp
+ 8000408c: cccd beqz s1,80004146 <begin_signature+0x26>
+ 8000408e: 3f8c fld fa1,56(a5)
+
+0000000080004090 <test_15_data>:
+ 80004090: ffff 0xffff
+ 80004092: 7fff 0x7fff
+ 80004094: c49a6333 0xc49a6333
+ 80004098: 0000 unimp
+ 8000409a: 0000 unimp
+ 8000409c: c49a6333 0xc49a6333
+
+00000000800040a0 <test_16_data>:
+ 800040a0: 40490fdb 0x40490fdb
+ 800040a4: 322bcc77 0x322bcc77
+ 800040a8: 0000 unimp
+ 800040aa: 0000 unimp
+ 800040ac: 40490fdb 0x40490fdb
+
+00000000800040b0 <test_17_data>:
+ 800040b0: 0000 unimp
+ 800040b2: bf80 fsd fs0,56(a5)
+ 800040b4: 0000 unimp
+ 800040b6: c000 sw s0,0(s0)
+ 800040b8: 0000 unimp
+ 800040ba: 0000 unimp
+ 800040bc: 0000 unimp
+ 800040be: bf80 fsd fs0,56(a5)
+
+00000000800040c0 <test_20_data>:
+ 800040c0: 0001 nop
+ 800040c2: 7f80 ld s0,56(a5)
+ 800040c4: 0000 unimp
+ 800040c6: 3f80 fld fs0,56(a5)
+ 800040c8: 0000 unimp
+ 800040ca: 0000 unimp
+ 800040cc: 0000 unimp
+ 800040ce: 3f80 fld fs0,56(a5)
+
+00000000800040d0 <test_21_data>:
+ 800040d0: ffff 0xffff
+ 800040d2: 7fff 0x7fff
+ 800040d4: ffff 0xffff
+ 800040d6: 7fff 0x7fff
+ 800040d8: 0000 unimp
+ 800040da: 0000 unimp
+ 800040dc: 0000 unimp
+ 800040de: 7fc0 ld s0,184(a5)
+
+00000000800040e0 <test_30_data>:
+ 800040e0: 0000 unimp
+ 800040e2: 8000 0x8000
+ 800040e4: 0000 unimp
+ 800040e6: 0000 unimp
+ 800040e8: 0000 unimp
+ 800040ea: 0000 unimp
+ 800040ec: 0000 unimp
+ 800040ee: 8000 0x8000
+
+00000000800040f0 <test_31_data>:
+ 800040f0: 0000 unimp
+ 800040f2: 0000 unimp
+ 800040f4: 0000 unimp
+ 800040f6: 8000 0x8000
+ 800040f8: 0000 unimp
+ 800040fa: 0000 unimp
+ 800040fc: 0000 unimp
+ 800040fe: 8000 0x8000
+
+0000000080004100 <test_32_data>:
+ 80004100: 0000 unimp
+ 80004102: 8000 0x8000
+ 80004104: 0000 unimp
+ 80004106: 0000 unimp
+ 80004108: 0000 unimp
+ 8000410a: 0000 unimp
+ 8000410c: 0000 unimp
+ 8000410e: 0000 unimp
+
+0000000080004110 <test_33_data>:
+ 80004110: 0000 unimp
+ 80004112: 0000 unimp
+ 80004114: 0000 unimp
+ 80004116: 8000 0x8000
+ 80004118: 0000 unimp
+ 8000411a: 0000 unimp
+ 8000411c: 0000 unimp
+ 8000411e: 0000 unimp
diff --git a/test/riscv-tests/rv64uf-v-fmin.elf b/test/riscv-tests/rv64uf-v-fmin.elf
new file mode 100644
index 0000000..7938b3a
--- /dev/null
+++ b/test/riscv-tests/rv64uf-v-fmin.elf
Binary files differ