fpu fixed corner cases, FpuPlugin coupling, pass rv-test excepted div (accuracy), can run C sinf successfully

This commit is contained in:
Dolu1990 2021-02-09 18:35:47 +01:00
parent bf6a64b6b5
commit 1fe993ad10
28 changed files with 5064 additions and 45 deletions

View File

@ -213,7 +213,7 @@ object TestsWorkspace {
// } // }
SpinalConfig().generateVerilog { SpinalConfig().generateVerilog {
// make clean run REDO=10 CSR=no MMU=no COREMARK=no RVF=yes REDO=1 TRACE=yes
val config = GenFull.config val config = GenFull.config
config.plugins += new FpuPlugin( config.plugins += new FpuPlugin(
externalFpu = false, externalFpu = false,

View File

@ -105,7 +105,6 @@ case class FpuCore( portCount : Int, p : FpuParameter) extends Component{
val value = p.writeFloating() val value = p.writeFloating()
val scrap = Bool() val scrap = Bool()
val roundMode = FpuRoundMode() val roundMode = FpuRoundMode()
val allowException = Bool()
} }
case class RoundOutput() extends Bundle{ case class RoundOutput() extends Bundle{
@ -560,6 +559,8 @@ case class FpuCore( portCount : Int, p : FpuParameter) extends Component{
val high = input.arg(0) ^ overflow val high = input.arg(0) ^ overflow
result := (31 -> high, default -> low) result := (31 -> high, default -> low)
flag.NV := input.valid && input.opcode === FpuOpcode.F2I && fsm.done && !isZero flag.NV := input.valid && input.opcode === FpuOpcode.F2I && fsm.done && !isZero
} otherwise {
flag.NX := input.valid && input.opcode === FpuOpcode.F2I && fsm.done && round =/= 0
} }
} }
@ -570,11 +571,12 @@ case class FpuCore( portCount : Int, p : FpuParameter) extends Component{
rs1AbsSmaller.setWhen(input.rs1.isZero) rs1AbsSmaller.setWhen(input.rs1.isZero)
rs1AbsSmaller.clearWhen(input.rs2.isZero) rs1AbsSmaller.clearWhen(input.rs2.isZero)
rs1AbsSmaller.clearWhen(input.rs1.isInfinity) rs1AbsSmaller.clearWhen(input.rs1.isInfinity)
rs1Equal setWhen(input.rs1.sign === input.rs2.sign && input.rs1.isInfinity && input.rs2.isInfinity)
val rs1Smaller = (input.rs1.sign ## input.rs2.sign).mux( val rs1Smaller = (input.rs1.sign ## input.rs2.sign).mux(
0 -> rs1AbsSmaller, 0 -> rs1AbsSmaller,
1 -> False, 1 -> False,
2 -> True, 2 -> True,
3 -> !rs1AbsSmaller 3 -> (!rs1AbsSmaller && !rs1Equal)
) )
@ -680,6 +682,8 @@ case class FpuCore( portCount : Int, p : FpuParameter) extends Component{
output.mantissa := man.asUInt output.mantissa := man.asUInt
output.setNormal output.setNormal
when(exp(exp.getWidth-3, 3 bits) >= 5) { output.exponent(p.internalExponentSize-2, 2 bits) := 3 }
val flag = io.port(input.source).completion.flag val flag = io.port(input.source).completion.flag
when(forceNan) { when(forceNan) {
output.setNanQuiet output.setNanQuiet
@ -1112,13 +1116,14 @@ case class FpuCore( portCount : Int, p : FpuParameter) extends Component{
port.address := input.source @@ input.rd port.address := input.source @@ input.rd
port.data := input.value port.data := input.value
val randomSim = p.sim generate (in UInt(p.internalMantissaSize bits))
if(p.sim) when(port.data.isZero || port.data.isInfinity){ if(p.sim) when(port.data.isZero || port.data.isInfinity){
port.data.mantissa.assignDontCare() port.data.mantissa := randomSim
} }
if(p.sim) when(input.value.special){ if(p.sim) when(input.value.special){
port.data.exponent(p.internalExponentSize-1 downto 3).assignDontCare() port.data.exponent(p.internalExponentSize-1 downto 3) := randomSim.resized
when(!input.value.isNan){ when(!input.value.isNan){
port.data.exponent(2 downto 2).assignDontCare() port.data.exponent(2 downto 2) := randomSim.resized
} }
} }

View File

@ -78,8 +78,8 @@ class FpuPlugin(externalFpu : Boolean = false,
FSUB_S -> (addSub :+ arg(1)), FSUB_S -> (addSub :+ arg(1)),
FMADD_S -> (fma :+ arg(0)), FMADD_S -> (fma :+ arg(0)),
FMSUB_S -> (fma :+ arg(2)), FMSUB_S -> (fma :+ arg(2)),
FNMADD_S -> (fma :+ arg(1)), FNMADD_S -> (fma :+ arg(3)),
FNMSUB_S -> (fma :+ arg(3)), FNMSUB_S -> (fma :+ arg(1)),
FMUL_S -> (mul :+ arg(0)), FMUL_S -> (mul :+ arg(0)),
FDIV_S -> (div), FDIV_S -> (div),
FSQRT_S -> (sqrt), FSQRT_S -> (sqrt),
@ -138,11 +138,11 @@ class FpuPlugin(externalFpu : Boolean = false,
flags.NX init(False) setWhen(port.completion.flag.NX) flags.NX init(False) setWhen(port.completion.flag.NX)
val service = pipeline.service(classOf[CsrInterface]) val service = pipeline.service(classOf[CsrInterface])
val rm = Reg(Bits(3 bits)) val rm = Reg(Bits(3 bits)) init(0)
service.rw(CSR.FCSR, 5, rm) service.rw(CSR.FCSR, 5, rm)
service.rw(CSR.FCSR, 0, flags) service.rw(CSR.FCSR, 0, flags)
service.rw(CSR.FRM, 5, rm) service.rw(CSR.FRM, 0, rm)
service.rw(CSR.FFLAGS, 0, flags) service.rw(CSR.FFLAGS, 0, flags)
val csrActive = service.duringAny() val csrActive = service.duringAny()
@ -195,21 +195,22 @@ class FpuPlugin(externalFpu : Boolean = false,
//Manage $store and port.rsp //Manage $store and port.rsp
port.rsp.ready := False port.rsp.ready := False
when(isRsp){ when(isRsp){
port.rsp.ready := True
when(arbitration.isValid) { when(arbitration.isValid) {
dBusEncoding.bypassStore(port.rsp.value) dBusEncoding.bypassStore(port.rsp.value)
output(REGFILE_WRITE_DATA) := port.rsp.value output(REGFILE_WRITE_DATA) := port.rsp.value
} }
when(!port.rsp.valid){ when(!port.rsp.valid){
arbitration.haltByOther := True arbitration.haltByOther := True
} elsewhen(!arbitration.haltItself){
port.rsp.ready := True
} }
} }
// Manage $load // Manage $load
val commit = Stream(FpuCommit(p)) val commit = Stream(FpuCommit(p))
commit.valid := isCommit && arbitration.isMoving commit.valid := isCommit && !arbitration.isStuck
commit.value := (input(FPU_COMMIT_LOAD) ? output(DBUS_DATA) | input(RS1)) commit.value := (input(FPU_COMMIT_LOAD) ? output(DBUS_DATA) | input(RS1))
commit.write := arbitration.isValid commit.write := arbitration.isValid && !arbitration.removeIt
commit.sync := input(FPU_COMMIT_SYNC) commit.sync := input(FPU_COMMIT_SYNC)
when(arbitration.isValid && !commit.ready){ when(arbitration.isValid && !commit.ready){
@ -219,6 +220,8 @@ class FpuPlugin(externalFpu : Boolean = false,
port.commit <-/< commit port.commit <-/< commit
} }
pipeline.stages.dropRight(1).foreach(s => s.output(FPU_FORKED) clearWhen(s.arbitration.isStuck))
Component.current.afterElaboration{ Component.current.afterElaboration{
pipeline.stages.tail.foreach(_.input(FPU_FORKED).init(False)) pipeline.stages.tail.foreach(_.input(FPU_FORKED).init(False))
} }

View File

@ -1323,6 +1323,12 @@ public:
allowInvalidate = false; allowInvalidate = false;
return this; return this;
} }
Workspace* writeWord(uint32_t address, uint32_t data){
mem.write(address, 4, (uint8_t*)&data);
riscvRef.mem.write(address, 4, (uint8_t*)&data);
return this;
}
virtual bool isPerifRegion(uint32_t addr) { return false; } virtual bool isPerifRegion(uint32_t addr) { return false; }
virtual bool isMmuRegion(uint32_t addr) { return true;} virtual bool isMmuRegion(uint32_t addr) { return true;}
virtual void iBusAccess(uint32_t addr, uint32_t *data, bool *error) { virtual void iBusAccess(uint32_t addr, uint32_t *data, bool *error) {
@ -3016,7 +3022,7 @@ public:
if(code == 1 || code2 == 1){ if(code == 1 || code2 == 1){
pass(); pass();
}else{ }else{
cout << "Error code " << code/2 << endl; cout << "Error code " << code2/2 << endl;
fail(); fail();
} }
} }
@ -3624,6 +3630,21 @@ string riscvTestMemory[] = {
}; };
string riscvTestFloat[] = {
"rv32uf-p-fadd",
"rv32uf-p-fcmp",
"rv32uf-p-fcvt_w",
"rv32uf-p-fmadd",
"rv32uf-p-ldst",
"rv32uf-p-recoding",
"rv32uf-p-fclass",
"rv32uf-p-fcvt",
"rv32uf-p-fdiv",
"rv32uf-p-fmin",
"rv32uf-p-move"
};
string riscvTestMul[] = { string riscvTestMul[] = {
@ -3793,6 +3814,8 @@ string complianceTestC[] = {
struct timespec timer_start(){ struct timespec timer_start(){
struct timespec start_time; struct timespec start_time;
clock_gettime(CLOCK_REALTIME, &start_time); //CLOCK_PROCESS_CPUTIME_ID clock_gettime(CLOCK_REALTIME, &start_time); //CLOCK_PROCESS_CPUTIME_ID
@ -3863,6 +3886,12 @@ int main(int argc, char **argv, char **env) {
printf("BOOT\n"); printf("BOOT\n");
timespec startedAt = timer_start(); timespec startedAt = timer_start();
#ifdef RVF
for(const string &name : riscvTestFloat){
redo(REDO,RiscvTest(name).bootAt(0x80000188u)->writeWord(0x80000184u, 0x00305073)->run();)
}
#endif
return 0;
//#ifdef LITEX //#ifdef LITEX
// LitexSoC("linux") // LitexSoC("linux")
@ -4035,6 +4064,12 @@ int main(int argc, char **argv, char **env) {
redo(REDO,RiscvTest(name).run();) redo(REDO,RiscvTest(name).run();)
} }
#ifdef RVF
for(const string &name : riscvTestFloat){
redo(REDO,RiscvTest(name).run();)
}
#endif
#ifdef MUL #ifdef MUL
for(const string &name : riscvTestMul){ for(const string &name : riscvTestMul){
redo(REDO,RiscvTest(name).run();) redo(REDO,RiscvTest(name).run();)

View File

@ -265,6 +265,10 @@ ifeq ($(MUL),yes)
ADDCFLAGS += -CFLAGS -DMUL ADDCFLAGS += -CFLAGS -DMUL
endif endif
ifeq ($(RVF),yes)
ADDCFLAGS += -CFLAGS -DRVF
endif
ifeq ($(DIV),yes) ifeq ($(DIV),yes)
ADDCFLAGS += -CFLAGS -DDIV ADDCFLAGS += -CFLAGS -DDIV
endif endif

View File

@ -0,0 +1,402 @@
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: 00000093 li ra,0
80000050: 00000113 li sp,0
80000054: 00000193 li gp,0
80000058: 00000213 li tp,0
8000005c: 00000293 li t0,0
80000060: 00000313 li t1,0
80000064: 00000393 li t2,0
80000068: 00000413 li s0,0
8000006c: 00000493 li s1,0
80000070: 00000513 li a0,0
80000074: 00000593 li a1,0
80000078: 00000613 li a2,0
8000007c: 00000693 li a3,0
80000080: 00000713 li a4,0
80000084: 00000793 li a5,0
80000088: 00000813 li a6,0
8000008c: 00000893 li a7,0
80000090: 00000913 li s2,0
80000094: 00000993 li s3,0
80000098: 00000a13 li s4,0
8000009c: 00000a93 li s5,0
800000a0: 00000b13 li s6,0
800000a4: 00000b93 li s7,0
800000a8: 00000c13 li s8,0
800000ac: 00000c93 li s9,0
800000b0: 00000d13 li s10,0
800000b4: 00000d93 li s11,0
800000b8: 00000e13 li t3,0
800000bc: 00000e93 li t4,0
800000c0: 00000f13 li t5,0
800000c4: 00000f93 li t6,0
800000c8: f1402573 csrr a0,mhartid
800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80>
800000d0: 00000297 auipc t0,0x0
800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94>
800000d8: 30529073 csrw mtvec,t0
800000dc: 18005073 csrwi satp,0
800000e0: 00000297 auipc t0,0x0
800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4>
800000e8: 30529073 csrw mtvec,t0
800000ec: 800002b7 lui t0,0x80000
800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdf5f>
800000f4: 3b029073 csrw pmpaddr0,t0
800000f8: 01f00293 li t0,31
800000fc: 3a029073 csrw pmpcfg0,t0
80000100: 30405073 csrwi mie,0
80000104: 00000297 auipc t0,0x0
80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc>
8000010c: 30529073 csrw mtvec,t0
80000110: 30205073 csrwi medeleg,0
80000114: 30305073 csrwi mideleg,0
80000118: 00000193 li gp,0
8000011c: 00000297 auipc t0,0x0
80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector>
80000124: 30529073 csrw mtvec,t0
80000128: 00100513 li a0,1
8000012c: 01f51513 slli a0,a0,0x1f
80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc>
80000134: 0ff0000f fence
80000138: 00100193 li gp,1
8000013c: 05d00893 li a7,93
80000140: 00000513 li a0,0
80000144: 00000073 ecall
80000148: 80000297 auipc t0,0x80000
8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000>
80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118>
80000154: 10529073 csrw stvec,t0
80000158: 0000b2b7 lui t0,0xb
8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
80000160: 30229073 csrw medeleg,t0
80000164: 30005073 csrwi mstatus,0
80000168: 00002537 lui a0,0x2
8000016c: 30052073 csrs mstatus,a0
80000170: 00305073 csrwi fcsr,0
80000174: 00000297 auipc t0,0x0
80000178: 01428293 addi t0,t0,20 # 80000188 <test_2>
8000017c: 34129073 csrw mepc,t0
80000180: f1402573 csrr a0,mhartid
80000184: 30200073 mret
80000188 <test_2>:
80000188: 00200193 li gp,2
8000018c: 00002517 auipc a0,0x2
80000190: e7450513 addi a0,a0,-396 # 80002000 <test_2_data>
80000194: 00052007 flw ft0,0(a0)
80000198: 00452087 flw ft1,4(a0)
8000019c: 00852107 flw ft2,8(a0)
800001a0: 00c52683 lw a3,12(a0)
800001a4: 001071d3 fadd.s ft3,ft0,ft1
800001a8: e0018553 fmv.x.w a0,ft3
800001ac: 001015f3 fsflags a1,zero
800001b0: 00000613 li a2,0
800001b4: 1ed51063 bne a0,a3,80000394 <fail>
800001b8: 1cc59e63 bne a1,a2,80000394 <fail>
800001bc <test_3>:
800001bc: 00300193 li gp,3
800001c0: 00002517 auipc a0,0x2
800001c4: e5050513 addi a0,a0,-432 # 80002010 <test_3_data>
800001c8: 00052007 flw ft0,0(a0)
800001cc: 00452087 flw ft1,4(a0)
800001d0: 00852107 flw ft2,8(a0)
800001d4: 00c52683 lw a3,12(a0)
800001d8: 001071d3 fadd.s ft3,ft0,ft1
800001dc: e0018553 fmv.x.w a0,ft3
800001e0: 001015f3 fsflags a1,zero
800001e4: 00100613 li a2,1
800001e8: 1ad51663 bne a0,a3,80000394 <fail>
800001ec: 1ac59463 bne a1,a2,80000394 <fail>
800001f0 <test_4>:
800001f0: 00400193 li gp,4
800001f4: 00002517 auipc a0,0x2
800001f8: e2c50513 addi a0,a0,-468 # 80002020 <test_4_data>
800001fc: 00052007 flw ft0,0(a0)
80000200: 00452087 flw ft1,4(a0)
80000204: 00852107 flw ft2,8(a0)
80000208: 00c52683 lw a3,12(a0)
8000020c: 001071d3 fadd.s ft3,ft0,ft1
80000210: e0018553 fmv.x.w a0,ft3
80000214: 001015f3 fsflags a1,zero
80000218: 00100613 li a2,1
8000021c: 16d51c63 bne a0,a3,80000394 <fail>
80000220: 16c59a63 bne a1,a2,80000394 <fail>
80000224 <test_5>:
80000224: 00500193 li gp,5
80000228: 00002517 auipc a0,0x2
8000022c: e0850513 addi a0,a0,-504 # 80002030 <test_5_data>
80000230: 00052007 flw ft0,0(a0)
80000234: 00452087 flw ft1,4(a0)
80000238: 00852107 flw ft2,8(a0)
8000023c: 00c52683 lw a3,12(a0)
80000240: 081071d3 fsub.s ft3,ft0,ft1
80000244: e0018553 fmv.x.w a0,ft3
80000248: 001015f3 fsflags a1,zero
8000024c: 00000613 li a2,0
80000250: 14d51263 bne a0,a3,80000394 <fail>
80000254: 14c59063 bne a1,a2,80000394 <fail>
80000258 <test_6>:
80000258: 00600193 li gp,6
8000025c: 00002517 auipc a0,0x2
80000260: de450513 addi a0,a0,-540 # 80002040 <test_6_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: 081071d3 fsub.s ft3,ft0,ft1
80000278: e0018553 fmv.x.w a0,ft3
8000027c: 001015f3 fsflags a1,zero
80000280: 00100613 li a2,1
80000284: 10d51863 bne a0,a3,80000394 <fail>
80000288: 10c59663 bne a1,a2,80000394 <fail>
8000028c <test_7>:
8000028c: 00700193 li gp,7
80000290: 00002517 auipc a0,0x2
80000294: dc050513 addi a0,a0,-576 # 80002050 <test_7_data>
80000298: 00052007 flw ft0,0(a0)
8000029c: 00452087 flw ft1,4(a0)
800002a0: 00852107 flw ft2,8(a0)
800002a4: 00c52683 lw a3,12(a0)
800002a8: 081071d3 fsub.s ft3,ft0,ft1
800002ac: e0018553 fmv.x.w a0,ft3
800002b0: 001015f3 fsflags a1,zero
800002b4: 00100613 li a2,1
800002b8: 0cd51e63 bne a0,a3,80000394 <fail>
800002bc: 0cc59c63 bne a1,a2,80000394 <fail>
800002c0 <test_8>:
800002c0: 00800193 li gp,8
800002c4: 00002517 auipc a0,0x2
800002c8: d9c50513 addi a0,a0,-612 # 80002060 <test_8_data>
800002cc: 00052007 flw ft0,0(a0)
800002d0: 00452087 flw ft1,4(a0)
800002d4: 00852107 flw ft2,8(a0)
800002d8: 00c52683 lw a3,12(a0)
800002dc: 101071d3 fmul.s ft3,ft0,ft1
800002e0: e0018553 fmv.x.w a0,ft3
800002e4: 001015f3 fsflags a1,zero
800002e8: 00000613 li a2,0
800002ec: 0ad51463 bne a0,a3,80000394 <fail>
800002f0: 0ac59263 bne a1,a2,80000394 <fail>
800002f4 <test_9>:
800002f4: 00900193 li gp,9
800002f8: 00002517 auipc a0,0x2
800002fc: d7850513 addi a0,a0,-648 # 80002070 <test_9_data>
80000300: 00052007 flw ft0,0(a0)
80000304: 00452087 flw ft1,4(a0)
80000308: 00852107 flw ft2,8(a0)
8000030c: 00c52683 lw a3,12(a0)
80000310: 101071d3 fmul.s ft3,ft0,ft1
80000314: e0018553 fmv.x.w a0,ft3
80000318: 001015f3 fsflags a1,zero
8000031c: 00100613 li a2,1
80000320: 06d51a63 bne a0,a3,80000394 <fail>
80000324: 06c59863 bne a1,a2,80000394 <fail>
80000328 <test_10>:
80000328: 00a00193 li gp,10
8000032c: 00002517 auipc a0,0x2
80000330: d5450513 addi a0,a0,-684 # 80002080 <test_10_data>
80000334: 00052007 flw ft0,0(a0)
80000338: 00452087 flw ft1,4(a0)
8000033c: 00852107 flw ft2,8(a0)
80000340: 00c52683 lw a3,12(a0)
80000344: 101071d3 fmul.s ft3,ft0,ft1
80000348: e0018553 fmv.x.w a0,ft3
8000034c: 001015f3 fsflags a1,zero
80000350: 00100613 li a2,1
80000354: 04d51063 bne a0,a3,80000394 <fail>
80000358: 02c59e63 bne a1,a2,80000394 <fail>
8000035c <test_11>:
8000035c: 00b00193 li gp,11
80000360: 00002517 auipc a0,0x2
80000364: d3050513 addi a0,a0,-720 # 80002090 <test_11_data>
80000368: 00052007 flw ft0,0(a0)
8000036c: 00452087 flw ft1,4(a0)
80000370: 00852107 flw ft2,8(a0)
80000374: 00c52683 lw a3,12(a0)
80000378: 081071d3 fsub.s ft3,ft0,ft1
8000037c: e0018553 fmv.x.w a0,ft3
80000380: 001015f3 fsflags a1,zero
80000384: 01000613 li a2,16
80000388: 00d51663 bne a0,a3,80000394 <fail>
8000038c: 00c59463 bne a1,a2,80000394 <fail>
80000390: 02301063 bne zero,gp,800003b0 <pass>
80000394 <fail>:
80000394: 0ff0000f fence
80000398: 00018063 beqz gp,80000398 <fail+0x4>
8000039c: 00119193 slli gp,gp,0x1
800003a0: 0011e193 ori gp,gp,1
800003a4: 05d00893 li a7,93
800003a8: 00018513 mv a0,gp
800003ac: 00000073 ecall
800003b0 <pass>:
800003b0: 0ff0000f fence
800003b4: 00100193 li gp,1
800003b8: 05d00893 li a7,93
800003bc: 00000513 li a0,0
800003c0: 00000073 ecall
800003c4: c0001073 unimp
800003c8: 0000 unimp
800003ca: 0000 unimp
800003cc: 0000 unimp
800003ce: 0000 unimp
800003d0: 0000 unimp
800003d2: 0000 unimp
800003d4: 0000 unimp
800003d6: 0000 unimp
800003d8: 0000 unimp
800003da: 0000 unimp
800003dc: 0000 unimp
800003de: 0000 unimp
800003e0: 0000 unimp
800003e2: 0000 unimp
800003e4: 0000 unimp
800003e6: 0000 unimp
800003e8: 0000 unimp
800003ea: 0000 unimp
800003ec: 0000 unimp
800003ee: 0000 unimp
800003f0: 0000 unimp
800003f2: 0000 unimp
800003f4: 0000 unimp
800003f6: 0000 unimp
800003f8: 0000 unimp
800003fa: 0000 unimp
800003fc: 0000 unimp
800003fe: 0000 unimp
80000400: 0000 unimp
80000402: 0000 unimp
Disassembly of section .data:
80002000 <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)

View File

@ -0,0 +1,218 @@
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: 00000093 li ra,0
80000050: 00000113 li sp,0
80000054: 00000193 li gp,0
80000058: 00000213 li tp,0
8000005c: 00000293 li t0,0
80000060: 00000313 li t1,0
80000064: 00000393 li t2,0
80000068: 00000413 li s0,0
8000006c: 00000493 li s1,0
80000070: 00000513 li a0,0
80000074: 00000593 li a1,0
80000078: 00000613 li a2,0
8000007c: 00000693 li a3,0
80000080: 00000713 li a4,0
80000084: 00000793 li a5,0
80000088: 00000813 li a6,0
8000008c: 00000893 li a7,0
80000090: 00000913 li s2,0
80000094: 00000993 li s3,0
80000098: 00000a13 li s4,0
8000009c: 00000a93 li s5,0
800000a0: 00000b13 li s6,0
800000a4: 00000b93 li s7,0
800000a8: 00000c13 li s8,0
800000ac: 00000c93 li s9,0
800000b0: 00000d13 li s10,0
800000b4: 00000d93 li s11,0
800000b8: 00000e13 li t3,0
800000bc: 00000e93 li t4,0
800000c0: 00000f13 li t5,0
800000c4: 00000f93 li t6,0
800000c8: f1402573 csrr a0,mhartid
800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80>
800000d0: 00000297 auipc t0,0x0
800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94>
800000d8: 30529073 csrw mtvec,t0
800000dc: 18005073 csrwi satp,0
800000e0: 00000297 auipc t0,0x0
800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4>
800000e8: 30529073 csrw mtvec,t0
800000ec: 800002b7 lui t0,0x80000
800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff>
800000f4: 3b029073 csrw pmpaddr0,t0
800000f8: 01f00293 li t0,31
800000fc: 3a029073 csrw pmpcfg0,t0
80000100: 30405073 csrwi mie,0
80000104: 00000297 auipc t0,0x0
80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc>
8000010c: 30529073 csrw mtvec,t0
80000110: 30205073 csrwi medeleg,0
80000114: 30305073 csrwi mideleg,0
80000118: 00000193 li gp,0
8000011c: 00000297 auipc t0,0x0
80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector>
80000124: 30529073 csrw mtvec,t0
80000128: 00100513 li a0,1
8000012c: 01f51513 slli a0,a0,0x1f
80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc>
80000134: 0ff0000f fence
80000138: 00100193 li gp,1
8000013c: 05d00893 li a7,93
80000140: 00000513 li a0,0
80000144: 00000073 ecall
80000148: 80000297 auipc t0,0x80000
8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000>
80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118>
80000154: 10529073 csrw stvec,t0
80000158: 0000b2b7 lui t0,0xb
8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
80000160: 30229073 csrw medeleg,t0
80000164: 30005073 csrwi mstatus,0
80000168: 00002537 lui a0,0x2
8000016c: 30052073 csrs mstatus,a0
80000170: 00305073 csrwi fcsr,0
80000174: 00000297 auipc t0,0x0
80000178: 01428293 addi t0,t0,20 # 80000188 <test_2>
8000017c: 34129073 csrw mepc,t0
80000180: f1402573 csrr a0,mhartid
80000184: 30200073 mret
80000188 <test_2>:
80000188: ff800537 lui a0,0xff800
8000018c: f0050553 fmv.w.x fa0,a0
80000190: e0051553 fclass.s a0,fa0
80000194: 00100393 li t2,1
80000198: 00200193 li gp,2
8000019c: 0e751663 bne a0,t2,80000288 <fail>
800001a0 <test_3>:
800001a0: bf800537 lui a0,0xbf800
800001a4: f0050553 fmv.w.x fa0,a0
800001a8: e0051553 fclass.s a0,fa0
800001ac: 00200393 li t2,2
800001b0: 00300193 li gp,3
800001b4: 0c751a63 bne a0,t2,80000288 <fail>
800001b8 <test_4>:
800001b8: 80800537 lui a0,0x80800
800001bc: fff50513 addi a0,a0,-1 # 807fffff <_end+0x7fdfff>
800001c0: f0050553 fmv.w.x fa0,a0
800001c4: e0051553 fclass.s a0,fa0
800001c8: 00400393 li t2,4
800001cc: 00400193 li gp,4
800001d0: 0a751c63 bne a0,t2,80000288 <fail>
800001d4 <test_5>:
800001d4: 80000537 lui a0,0x80000
800001d8: f0050553 fmv.w.x fa0,a0
800001dc: e0051553 fclass.s a0,fa0
800001e0: 00800393 li t2,8
800001e4: 00500193 li gp,5
800001e8: 0a751063 bne a0,t2,80000288 <fail>
800001ec <test_6>:
800001ec: 00000513 li a0,0
800001f0: f0050553 fmv.w.x fa0,a0
800001f4: e0051553 fclass.s a0,fa0
800001f8: 01000393 li t2,16
800001fc: 00600193 li gp,6
80000200: 08751463 bne a0,t2,80000288 <fail>
80000204 <test_7>:
80000204: 00800537 lui a0,0x800
80000208: fff50513 addi a0,a0,-1 # 7fffff <_start-0x7f800001>
8000020c: f0050553 fmv.w.x fa0,a0
80000210: e0051553 fclass.s a0,fa0
80000214: 02000393 li t2,32
80000218: 00700193 li gp,7
8000021c: 06751663 bne a0,t2,80000288 <fail>
80000220 <test_8>:
80000220: 3f800537 lui a0,0x3f800
80000224: f0050553 fmv.w.x fa0,a0
80000228: e0051553 fclass.s a0,fa0
8000022c: 04000393 li t2,64
80000230: 00800193 li gp,8
80000234: 04751a63 bne a0,t2,80000288 <fail>
80000238 <test_9>:
80000238: 7f800537 lui a0,0x7f800
8000023c: f0050553 fmv.w.x fa0,a0
80000240: e0051553 fclass.s a0,fa0
80000244: 08000393 li t2,128
80000248: 00900193 li gp,9
8000024c: 02751e63 bne a0,t2,80000288 <fail>
80000250 <test_10>:
80000250: 7f800537 lui a0,0x7f800
80000254: 00150513 addi a0,a0,1 # 7f800001 <_start-0x7fffff>
80000258: f0050553 fmv.w.x fa0,a0
8000025c: e0051553 fclass.s a0,fa0
80000260: 10000393 li t2,256
80000264: 00a00193 li gp,10
80000268: 02751063 bne a0,t2,80000288 <fail>
8000026c <test_11>:
8000026c: 7fc00537 lui a0,0x7fc00
80000270: f0050553 fmv.w.x fa0,a0
80000274: e0051553 fclass.s a0,fa0
80000278: 20000393 li t2,512
8000027c: 00b00193 li gp,11
80000280: 00751463 bne a0,t2,80000288 <fail>
80000284: 02301063 bne zero,gp,800002a4 <pass>
80000288 <fail>:
80000288: 0ff0000f fence
8000028c: 00018063 beqz gp,8000028c <fail+0x4>
80000290: 00119193 slli gp,gp,0x1
80000294: 0011e193 ori gp,gp,1
80000298: 05d00893 li a7,93
8000029c: 00018513 mv a0,gp
800002a0: 00000073 ecall
800002a4 <pass>:
800002a4: 0ff0000f fence
800002a8: 00100193 li gp,1
800002ac: 05d00893 li a7,93
800002b0: 00000513 li a0,0
800002b4: 00000073 ecall
800002b8: c0001073 unimp
800002bc: 0000 unimp
800002be: 0000 unimp
800002c0: 0000 unimp
800002c2: 0000 unimp

View File

@ -0,0 +1,510 @@
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: 00000093 li ra,0
80000050: 00000113 li sp,0
80000054: 00000193 li gp,0
80000058: 00000213 li tp,0
8000005c: 00000293 li t0,0
80000060: 00000313 li t1,0
80000064: 00000393 li t2,0
80000068: 00000413 li s0,0
8000006c: 00000493 li s1,0
80000070: 00000513 li a0,0
80000074: 00000593 li a1,0
80000078: 00000613 li a2,0
8000007c: 00000693 li a3,0
80000080: 00000713 li a4,0
80000084: 00000793 li a5,0
80000088: 00000813 li a6,0
8000008c: 00000893 li a7,0
80000090: 00000913 li s2,0
80000094: 00000993 li s3,0
80000098: 00000a13 li s4,0
8000009c: 00000a93 li s5,0
800000a0: 00000b13 li s6,0
800000a4: 00000b93 li s7,0
800000a8: 00000c13 li s8,0
800000ac: 00000c93 li s9,0
800000b0: 00000d13 li s10,0
800000b4: 00000d93 li s11,0
800000b8: 00000e13 li t3,0
800000bc: 00000e93 li t4,0
800000c0: 00000f13 li t5,0
800000c4: 00000f93 li t6,0
800000c8: f1402573 csrr a0,mhartid
800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80>
800000d0: 00000297 auipc t0,0x0
800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94>
800000d8: 30529073 csrw mtvec,t0
800000dc: 18005073 csrwi satp,0
800000e0: 00000297 auipc t0,0x0
800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4>
800000e8: 30529073 csrw mtvec,t0
800000ec: 800002b7 lui t0,0x80000
800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdf0f>
800000f4: 3b029073 csrw pmpaddr0,t0
800000f8: 01f00293 li t0,31
800000fc: 3a029073 csrw pmpcfg0,t0
80000100: 30405073 csrwi mie,0
80000104: 00000297 auipc t0,0x0
80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc>
8000010c: 30529073 csrw mtvec,t0
80000110: 30205073 csrwi medeleg,0
80000114: 30305073 csrwi mideleg,0
80000118: 00000193 li gp,0
8000011c: 00000297 auipc t0,0x0
80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector>
80000124: 30529073 csrw mtvec,t0
80000128: 00100513 li a0,1
8000012c: 01f51513 slli a0,a0,0x1f
80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc>
80000134: 0ff0000f fence
80000138: 00100193 li gp,1
8000013c: 05d00893 li a7,93
80000140: 00000513 li a0,0
80000144: 00000073 ecall
80000148: 80000297 auipc t0,0x80000
8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000>
80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118>
80000154: 10529073 csrw stvec,t0
80000158: 0000b2b7 lui t0,0xb
8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
80000160: 30229073 csrw medeleg,t0
80000164: 30005073 csrwi mstatus,0
80000168: 00002537 lui a0,0x2
8000016c: 30052073 csrs mstatus,a0
80000170: 00305073 csrwi fcsr,0
80000174: 00000297 auipc t0,0x0
80000178: 01428293 addi t0,t0,20 # 80000188 <test_2>
8000017c: 34129073 csrw mepc,t0
80000180: f1402573 csrr a0,mhartid
80000184: 30200073 mret
80000188 <test_2>:
80000188: 00200193 li gp,2
8000018c: 00002517 auipc a0,0x2
80000190: e7450513 addi a0,a0,-396 # 80002000 <test_2_data>
80000194: 00052007 flw ft0,0(a0)
80000198: 00452087 flw ft1,4(a0)
8000019c: 00852107 flw ft2,8(a0)
800001a0: 00c52683 lw a3,12(a0)
800001a4: a0102553 feq.s a0,ft0,ft1
800001a8: 001015f3 fsflags a1,zero
800001ac: 00000613 li a2,0
800001b0: 2ad51663 bne a0,a3,8000045c <fail>
800001b4: 2ac59463 bne a1,a2,8000045c <fail>
800001b8 <test_3>:
800001b8: 00300193 li gp,3
800001bc: 00002517 auipc a0,0x2
800001c0: e5450513 addi a0,a0,-428 # 80002010 <test_3_data>
800001c4: 00052007 flw ft0,0(a0)
800001c8: 00452087 flw ft1,4(a0)
800001cc: 00852107 flw ft2,8(a0)
800001d0: 00c52683 lw a3,12(a0)
800001d4: a0100553 fle.s a0,ft0,ft1
800001d8: 001015f3 fsflags a1,zero
800001dc: 00000613 li a2,0
800001e0: 26d51e63 bne a0,a3,8000045c <fail>
800001e4: 26c59c63 bne a1,a2,8000045c <fail>
800001e8 <test_4>:
800001e8: 00400193 li gp,4
800001ec: 00002517 auipc a0,0x2
800001f0: e3450513 addi a0,a0,-460 # 80002020 <test_4_data>
800001f4: 00052007 flw ft0,0(a0)
800001f8: 00452087 flw ft1,4(a0)
800001fc: 00852107 flw ft2,8(a0)
80000200: 00c52683 lw a3,12(a0)
80000204: a0101553 flt.s a0,ft0,ft1
80000208: 001015f3 fsflags a1,zero
8000020c: 00000613 li a2,0
80000210: 24d51663 bne a0,a3,8000045c <fail>
80000214: 24c59463 bne a1,a2,8000045c <fail>
80000218 <test_5>:
80000218: 00500193 li gp,5
8000021c: 00002517 auipc a0,0x2
80000220: e1450513 addi a0,a0,-492 # 80002030 <test_5_data>
80000224: 00052007 flw ft0,0(a0)
80000228: 00452087 flw ft1,4(a0)
8000022c: 00852107 flw ft2,8(a0)
80000230: 00c52683 lw a3,12(a0)
80000234: a0102553 feq.s a0,ft0,ft1
80000238: 001015f3 fsflags a1,zero
8000023c: 00000613 li a2,0
80000240: 20d51e63 bne a0,a3,8000045c <fail>
80000244: 20c59c63 bne a1,a2,8000045c <fail>
80000248 <test_6>:
80000248: 00600193 li gp,6
8000024c: 00002517 auipc a0,0x2
80000250: df450513 addi a0,a0,-524 # 80002040 <test_6_data>
80000254: 00052007 flw ft0,0(a0)
80000258: 00452087 flw ft1,4(a0)
8000025c: 00852107 flw ft2,8(a0)
80000260: 00c52683 lw a3,12(a0)
80000264: a0100553 fle.s a0,ft0,ft1
80000268: 001015f3 fsflags a1,zero
8000026c: 00000613 li a2,0
80000270: 1ed51663 bne a0,a3,8000045c <fail>
80000274: 1ec59463 bne a1,a2,8000045c <fail>
80000278 <test_7>:
80000278: 00700193 li gp,7
8000027c: 00002517 auipc a0,0x2
80000280: dd450513 addi a0,a0,-556 # 80002050 <test_7_data>
80000284: 00052007 flw ft0,0(a0)
80000288: 00452087 flw ft1,4(a0)
8000028c: 00852107 flw ft2,8(a0)
80000290: 00c52683 lw a3,12(a0)
80000294: a0101553 flt.s a0,ft0,ft1
80000298: 001015f3 fsflags a1,zero
8000029c: 00000613 li a2,0
800002a0: 1ad51e63 bne a0,a3,8000045c <fail>
800002a4: 1ac59c63 bne a1,a2,8000045c <fail>
800002a8 <test_8>:
800002a8: 00800193 li gp,8
800002ac: 00002517 auipc a0,0x2
800002b0: db450513 addi a0,a0,-588 # 80002060 <test_8_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: a0102553 feq.s a0,ft0,ft1
800002c8: 001015f3 fsflags a1,zero
800002cc: 00000613 li a2,0
800002d0: 18d51663 bne a0,a3,8000045c <fail>
800002d4: 18c59463 bne a1,a2,8000045c <fail>
800002d8 <test_9>:
800002d8: 00900193 li gp,9
800002dc: 00002517 auipc a0,0x2
800002e0: d9450513 addi a0,a0,-620 # 80002070 <test_9_data>
800002e4: 00052007 flw ft0,0(a0)
800002e8: 00452087 flw ft1,4(a0)
800002ec: 00852107 flw ft2,8(a0)
800002f0: 00c52683 lw a3,12(a0)
800002f4: a0102553 feq.s a0,ft0,ft1
800002f8: 001015f3 fsflags a1,zero
800002fc: 00000613 li a2,0
80000300: 14d51e63 bne a0,a3,8000045c <fail>
80000304: 14c59c63 bne a1,a2,8000045c <fail>
80000308 <test_10>:
80000308: 00a00193 li gp,10
8000030c: 00002517 auipc a0,0x2
80000310: d7450513 addi a0,a0,-652 # 80002080 <test_10_data>
80000314: 00052007 flw ft0,0(a0)
80000318: 00452087 flw ft1,4(a0)
8000031c: 00852107 flw ft2,8(a0)
80000320: 00c52683 lw a3,12(a0)
80000324: a0102553 feq.s a0,ft0,ft1
80000328: 001015f3 fsflags a1,zero
8000032c: 01000613 li a2,16
80000330: 12d51663 bne a0,a3,8000045c <fail>
80000334: 12c59463 bne a1,a2,8000045c <fail>
80000338 <test_11>:
80000338: 00b00193 li gp,11
8000033c: 00002517 auipc a0,0x2
80000340: d5450513 addi a0,a0,-684 # 80002090 <test_11_data>
80000344: 00052007 flw ft0,0(a0)
80000348: 00452087 flw ft1,4(a0)
8000034c: 00852107 flw ft2,8(a0)
80000350: 00c52683 lw a3,12(a0)
80000354: a0101553 flt.s a0,ft0,ft1
80000358: 001015f3 fsflags a1,zero
8000035c: 01000613 li a2,16
80000360: 0ed51e63 bne a0,a3,8000045c <fail>
80000364: 0ec59c63 bne a1,a2,8000045c <fail>
80000368 <test_12>:
80000368: 00c00193 li gp,12
8000036c: 00002517 auipc a0,0x2
80000370: d3450513 addi a0,a0,-716 # 800020a0 <test_12_data>
80000374: 00052007 flw ft0,0(a0)
80000378: 00452087 flw ft1,4(a0)
8000037c: 00852107 flw ft2,8(a0)
80000380: 00c52683 lw a3,12(a0)
80000384: a0101553 flt.s a0,ft0,ft1
80000388: 001015f3 fsflags a1,zero
8000038c: 01000613 li a2,16
80000390: 0cd51663 bne a0,a3,8000045c <fail>
80000394: 0cc59463 bne a1,a2,8000045c <fail>
80000398 <test_13>:
80000398: 00d00193 li gp,13
8000039c: 00002517 auipc a0,0x2
800003a0: d1450513 addi a0,a0,-748 # 800020b0 <test_13_data>
800003a4: 00052007 flw ft0,0(a0)
800003a8: 00452087 flw ft1,4(a0)
800003ac: 00852107 flw ft2,8(a0)
800003b0: 00c52683 lw a3,12(a0)
800003b4: a0101553 flt.s a0,ft0,ft1
800003b8: 001015f3 fsflags a1,zero
800003bc: 01000613 li a2,16
800003c0: 08d51e63 bne a0,a3,8000045c <fail>
800003c4: 08c59c63 bne a1,a2,8000045c <fail>
800003c8 <test_14>:
800003c8: 00e00193 li gp,14
800003cc: 00002517 auipc a0,0x2
800003d0: cf450513 addi a0,a0,-780 # 800020c0 <test_14_data>
800003d4: 00052007 flw ft0,0(a0)
800003d8: 00452087 flw ft1,4(a0)
800003dc: 00852107 flw ft2,8(a0)
800003e0: 00c52683 lw a3,12(a0)
800003e4: a0100553 fle.s a0,ft0,ft1
800003e8: 001015f3 fsflags a1,zero
800003ec: 01000613 li a2,16
800003f0: 06d51663 bne a0,a3,8000045c <fail>
800003f4: 06c59463 bne a1,a2,8000045c <fail>
800003f8 <test_15>:
800003f8: 00f00193 li gp,15
800003fc: 00002517 auipc a0,0x2
80000400: cd450513 addi a0,a0,-812 # 800020d0 <test_15_data>
80000404: 00052007 flw ft0,0(a0)
80000408: 00452087 flw ft1,4(a0)
8000040c: 00852107 flw ft2,8(a0)
80000410: 00c52683 lw a3,12(a0)
80000414: a0100553 fle.s a0,ft0,ft1
80000418: 001015f3 fsflags a1,zero
8000041c: 01000613 li a2,16
80000420: 02d51e63 bne a0,a3,8000045c <fail>
80000424: 02c59c63 bne a1,a2,8000045c <fail>
80000428 <test_16>:
80000428: 01000193 li gp,16
8000042c: 00002517 auipc a0,0x2
80000430: cb450513 addi a0,a0,-844 # 800020e0 <test_16_data>
80000434: 00052007 flw ft0,0(a0)
80000438: 00452087 flw ft1,4(a0)
8000043c: 00852107 flw ft2,8(a0)
80000440: 00c52683 lw a3,12(a0)
80000444: a0100553 fle.s a0,ft0,ft1
80000448: 001015f3 fsflags a1,zero
8000044c: 01000613 li a2,16
80000450: 00d51663 bne a0,a3,8000045c <fail>
80000454: 00c59463 bne a1,a2,8000045c <fail>
80000458: 02301063 bne zero,gp,80000478 <pass>
8000045c <fail>:
8000045c: 0ff0000f fence
80000460: 00018063 beqz gp,80000460 <fail+0x4>
80000464: 00119193 slli gp,gp,0x1
80000468: 0011e193 ori gp,gp,1
8000046c: 05d00893 li a7,93
80000470: 00018513 mv a0,gp
80000474: 00000073 ecall
80000478 <pass>:
80000478: 0ff0000f fence
8000047c: 00100193 li gp,1
80000480: 05d00893 li a7,93
80000484: 00000513 li a0,0
80000488: 00000073 ecall
8000048c: c0001073 unimp
80000490: 0000 unimp
80000492: 0000 unimp
80000494: 0000 unimp
80000496: 0000 unimp
80000498: 0000 unimp
8000049a: 0000 unimp
8000049c: 0000 unimp
8000049e: 0000 unimp
800004a0: 0000 unimp
800004a2: 0000 unimp
800004a4: 0000 unimp
800004a6: 0000 unimp
800004a8: 0000 unimp
800004aa: 0000 unimp
800004ac: 0000 unimp
800004ae: 0000 unimp
800004b0: 0000 unimp
800004b2: 0000 unimp
800004b4: 0000 unimp
800004b6: 0000 unimp
800004b8: 0000 unimp
800004ba: 0000 unimp
800004bc: 0000 unimp
800004be: 0000 unimp
800004c0: 0000 unimp
800004c2: 0000 unimp
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

View File

@ -0,0 +1,219 @@
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: 00000093 li ra,0
80000050: 00000113 li sp,0
80000054: 00000193 li gp,0
80000058: 00000213 li tp,0
8000005c: 00000293 li t0,0
80000060: 00000313 li t1,0
80000064: 00000393 li t2,0
80000068: 00000413 li s0,0
8000006c: 00000493 li s1,0
80000070: 00000513 li a0,0
80000074: 00000593 li a1,0
80000078: 00000613 li a2,0
8000007c: 00000693 li a3,0
80000080: 00000713 li a4,0
80000084: 00000793 li a5,0
80000088: 00000813 li a6,0
8000008c: 00000893 li a7,0
80000090: 00000913 li s2,0
80000094: 00000993 li s3,0
80000098: 00000a13 li s4,0
8000009c: 00000a93 li s5,0
800000a0: 00000b13 li s6,0
800000a4: 00000b93 li s7,0
800000a8: 00000c13 li s8,0
800000ac: 00000c93 li s9,0
800000b0: 00000d13 li s10,0
800000b4: 00000d93 li s11,0
800000b8: 00000e13 li t3,0
800000bc: 00000e93 li t4,0
800000c0: 00000f13 li t5,0
800000c4: 00000f93 li t6,0
800000c8: f1402573 csrr a0,mhartid
800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80>
800000d0: 00000297 auipc t0,0x0
800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94>
800000d8: 30529073 csrw mtvec,t0
800000dc: 18005073 csrwi satp,0
800000e0: 00000297 auipc t0,0x0
800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4>
800000e8: 30529073 csrw mtvec,t0
800000ec: 800002b7 lui t0,0x80000
800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfef>
800000f4: 3b029073 csrw pmpaddr0,t0
800000f8: 01f00293 li t0,31
800000fc: 3a029073 csrw pmpcfg0,t0
80000100: 30405073 csrwi mie,0
80000104: 00000297 auipc t0,0x0
80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc>
8000010c: 30529073 csrw mtvec,t0
80000110: 30205073 csrwi medeleg,0
80000114: 30305073 csrwi mideleg,0
80000118: 00000193 li gp,0
8000011c: 00000297 auipc t0,0x0
80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector>
80000124: 30529073 csrw mtvec,t0
80000128: 00100513 li a0,1
8000012c: 01f51513 slli a0,a0,0x1f
80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc>
80000134: 0ff0000f fence
80000138: 00100193 li gp,1
8000013c: 05d00893 li a7,93
80000140: 00000513 li a0,0
80000144: 00000073 ecall
80000148: 80000297 auipc t0,0x80000
8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000>
80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118>
80000154: 10529073 csrw stvec,t0
80000158: 0000b2b7 lui t0,0xb
8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
80000160: 30229073 csrw medeleg,t0
80000164: 30005073 csrwi mstatus,0
80000168: 00002537 lui a0,0x2
8000016c: 30052073 csrs mstatus,a0
80000170: 00305073 csrwi fcsr,0
80000174: 00000297 auipc t0,0x0
80000178: 01428293 addi t0,t0,20 # 80000188 <test_2>
8000017c: 34129073 csrw mepc,t0
80000180: f1402573 csrr a0,mhartid
80000184: 30200073 mret
80000188 <test_2>:
80000188: 00200193 li gp,2
8000018c: 00002517 auipc a0,0x2
80000190: e7450513 addi a0,a0,-396 # 80002000 <test_2_data>
80000194: 00052683 lw a3,0(a0)
80000198: 00200513 li a0,2
8000019c: d0057053 fcvt.s.w ft0,a0
800001a0: 00101073 fsflags zero
800001a4: e0000553 fmv.x.w a0,ft0
800001a8: 06d51a63 bne a0,a3,8000021c <fail>
800001ac <test_3>:
800001ac: 00300193 li gp,3
800001b0: 00002517 auipc a0,0x2
800001b4: e5450513 addi a0,a0,-428 # 80002004 <test_3_data>
800001b8: 00052683 lw a3,0(a0)
800001bc: ffe00513 li a0,-2
800001c0: d0057053 fcvt.s.w ft0,a0
800001c4: 00101073 fsflags zero
800001c8: e0000553 fmv.x.w a0,ft0
800001cc: 04d51863 bne a0,a3,8000021c <fail>
800001d0 <test_4>:
800001d0: 00400193 li gp,4
800001d4: 00002517 auipc a0,0x2
800001d8: e3450513 addi a0,a0,-460 # 80002008 <test_4_data>
800001dc: 00052683 lw a3,0(a0)
800001e0: 00200513 li a0,2
800001e4: d0157053 fcvt.s.wu ft0,a0
800001e8: 00101073 fsflags zero
800001ec: e0000553 fmv.x.w a0,ft0
800001f0: 02d51663 bne a0,a3,8000021c <fail>
800001f4 <test_5>:
800001f4: 00500193 li gp,5
800001f8: 00002517 auipc a0,0x2
800001fc: e1450513 addi a0,a0,-492 # 8000200c <test_5_data>
80000200: 00052683 lw a3,0(a0)
80000204: ffe00513 li a0,-2
80000208: d0157053 fcvt.s.wu ft0,a0
8000020c: 00101073 fsflags zero
80000210: e0000553 fmv.x.w a0,ft0
80000214: 00d51463 bne a0,a3,8000021c <fail>
80000218: 02301063 bne zero,gp,80000238 <pass>
8000021c <fail>:
8000021c: 0ff0000f fence
80000220: 00018063 beqz gp,80000220 <fail+0x4>
80000224: 00119193 slli gp,gp,0x1
80000228: 0011e193 ori gp,gp,1
8000022c: 05d00893 li a7,93
80000230: 00018513 mv a0,gp
80000234: 00000073 ecall
80000238 <pass>:
80000238: 0ff0000f fence
8000023c: 00100193 li gp,1
80000240: 05d00893 li a7,93
80000244: 00000513 li a0,0
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:
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)

View File

@ -0,0 +1,632 @@
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: 00000093 li ra,0
80000050: 00000113 li sp,0
80000054: 00000193 li gp,0
80000058: 00000213 li tp,0
8000005c: 00000293 li t0,0
80000060: 00000313 li t1,0
80000064: 00000393 li t2,0
80000068: 00000413 li s0,0
8000006c: 00000493 li s1,0
80000070: 00000513 li a0,0
80000074: 00000593 li a1,0
80000078: 00000613 li a2,0
8000007c: 00000693 li a3,0
80000080: 00000713 li a4,0
80000084: 00000793 li a5,0
80000088: 00000813 li a6,0
8000008c: 00000893 li a7,0
80000090: 00000913 li s2,0
80000094: 00000993 li s3,0
80000098: 00000a13 li s4,0
8000009c: 00000a93 li s5,0
800000a0: 00000b13 li s6,0
800000a4: 00000b93 li s7,0
800000a8: 00000c13 li s8,0
800000ac: 00000c93 li s9,0
800000b0: 00000d13 li s10,0
800000b4: 00000d93 li s11,0
800000b8: 00000e13 li t3,0
800000bc: 00000e93 li t4,0
800000c0: 00000f13 li t5,0
800000c4: 00000f93 li t6,0
800000c8: f1402573 csrr a0,mhartid
800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80>
800000d0: 00000297 auipc t0,0x0
800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94>
800000d8: 30529073 csrw mtvec,t0
800000dc: 18005073 csrwi satp,0
800000e0: 00000297 auipc t0,0x0
800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4>
800000e8: 30529073 csrw mtvec,t0
800000ec: 800002b7 lui t0,0x80000
800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdecf>
800000f4: 3b029073 csrw pmpaddr0,t0
800000f8: 01f00293 li t0,31
800000fc: 3a029073 csrw pmpcfg0,t0
80000100: 30405073 csrwi mie,0
80000104: 00000297 auipc t0,0x0
80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc>
8000010c: 30529073 csrw mtvec,t0
80000110: 30205073 csrwi medeleg,0
80000114: 30305073 csrwi mideleg,0
80000118: 00000193 li gp,0
8000011c: 00000297 auipc t0,0x0
80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector>
80000124: 30529073 csrw mtvec,t0
80000128: 00100513 li a0,1
8000012c: 01f51513 slli a0,a0,0x1f
80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc>
80000134: 0ff0000f fence
80000138: 00100193 li gp,1
8000013c: 05d00893 li a7,93
80000140: 00000513 li a0,0
80000144: 00000073 ecall
80000148: 80000297 auipc t0,0x80000
8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000>
80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118>
80000154: 10529073 csrw stvec,t0
80000158: 0000b2b7 lui t0,0xb
8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
80000160: 30229073 csrw medeleg,t0
80000164: 30005073 csrwi mstatus,0
80000168: 00002537 lui a0,0x2
8000016c: 30052073 csrs mstatus,a0
80000170: 00305073 csrwi fcsr,0
80000174: 00000297 auipc t0,0x0
80000178: 01428293 addi t0,t0,20 # 80000188 <test_2>
8000017c: 34129073 csrw mepc,t0
80000180: f1402573 csrr a0,mhartid
80000184: 30200073 mret
80000188 <test_2>:
80000188: 00200193 li gp,2
8000018c: 00002517 auipc a0,0x2
80000190: e7450513 addi a0,a0,-396 # 80002000 <test_2_data>
80000194: 00052007 flw ft0,0(a0)
80000198: 00452087 flw ft1,4(a0)
8000019c: 00852107 flw ft2,8(a0)
800001a0: 00c52683 lw a3,12(a0)
800001a4: c0001553 fcvt.w.s a0,ft0,rtz
800001a8: 001015f3 fsflags a1,zero
800001ac: 00100613 li a2,1
800001b0: 3cd51463 bne a0,a3,80000578 <fail>
800001b4: 3cc59263 bne a1,a2,80000578 <fail>
800001b8 <test_3>:
800001b8: 00300193 li gp,3
800001bc: 00002517 auipc a0,0x2
800001c0: e5450513 addi a0,a0,-428 # 80002010 <test_3_data>
800001c4: 00052007 flw ft0,0(a0)
800001c8: 00452087 flw ft1,4(a0)
800001cc: 00852107 flw ft2,8(a0)
800001d0: 00c52683 lw a3,12(a0)
800001d4: c0001553 fcvt.w.s a0,ft0,rtz
800001d8: 001015f3 fsflags a1,zero
800001dc: 00000613 li a2,0
800001e0: 38d51c63 bne a0,a3,80000578 <fail>
800001e4: 38c59a63 bne a1,a2,80000578 <fail>
800001e8 <test_4>:
800001e8: 00400193 li gp,4
800001ec: 00002517 auipc a0,0x2
800001f0: e3450513 addi a0,a0,-460 # 80002020 <test_4_data>
800001f4: 00052007 flw ft0,0(a0)
800001f8: 00452087 flw ft1,4(a0)
800001fc: 00852107 flw ft2,8(a0)
80000200: 00c52683 lw a3,12(a0)
80000204: c0001553 fcvt.w.s a0,ft0,rtz
80000208: 001015f3 fsflags a1,zero
8000020c: 00100613 li a2,1
80000210: 36d51463 bne a0,a3,80000578 <fail>
80000214: 36c59263 bne a1,a2,80000578 <fail>
80000218 <test_5>:
80000218: 00500193 li gp,5
8000021c: 00002517 auipc a0,0x2
80000220: e1450513 addi a0,a0,-492 # 80002030 <test_5_data>
80000224: 00052007 flw ft0,0(a0)
80000228: 00452087 flw ft1,4(a0)
8000022c: 00852107 flw ft2,8(a0)
80000230: 00c52683 lw a3,12(a0)
80000234: c0001553 fcvt.w.s a0,ft0,rtz
80000238: 001015f3 fsflags a1,zero
8000023c: 00100613 li a2,1
80000240: 32d51c63 bne a0,a3,80000578 <fail>
80000244: 32c59a63 bne a1,a2,80000578 <fail>
80000248 <test_6>:
80000248: 00600193 li gp,6
8000024c: 00002517 auipc a0,0x2
80000250: df450513 addi a0,a0,-524 # 80002040 <test_6_data>
80000254: 00052007 flw ft0,0(a0)
80000258: 00452087 flw ft1,4(a0)
8000025c: 00852107 flw ft2,8(a0)
80000260: 00c52683 lw a3,12(a0)
80000264: c0001553 fcvt.w.s a0,ft0,rtz
80000268: 001015f3 fsflags a1,zero
8000026c: 00000613 li a2,0
80000270: 30d51463 bne a0,a3,80000578 <fail>
80000274: 30c59263 bne a1,a2,80000578 <fail>
80000278 <test_7>:
80000278: 00700193 li gp,7
8000027c: 00002517 auipc a0,0x2
80000280: dd450513 addi a0,a0,-556 # 80002050 <test_7_data>
80000284: 00052007 flw ft0,0(a0)
80000288: 00452087 flw ft1,4(a0)
8000028c: 00852107 flw ft2,8(a0)
80000290: 00c52683 lw a3,12(a0)
80000294: c0001553 fcvt.w.s a0,ft0,rtz
80000298: 001015f3 fsflags a1,zero
8000029c: 00100613 li a2,1
800002a0: 2cd51c63 bne a0,a3,80000578 <fail>
800002a4: 2cc59a63 bne a1,a2,80000578 <fail>
800002a8 <test_8>:
800002a8: 00800193 li gp,8
800002ac: 00002517 auipc a0,0x2
800002b0: db450513 addi a0,a0,-588 # 80002060 <test_8_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: c0001553 fcvt.w.s a0,ft0,rtz
800002c8: 001015f3 fsflags a1,zero
800002cc: 01000613 li a2,16
800002d0: 2ad51463 bne a0,a3,80000578 <fail>
800002d4: 2ac59263 bne a1,a2,80000578 <fail>
800002d8 <test_9>:
800002d8: 00900193 li gp,9
800002dc: 00002517 auipc a0,0x2
800002e0: d9450513 addi a0,a0,-620 # 80002070 <test_9_data>
800002e4: 00052007 flw ft0,0(a0)
800002e8: 00452087 flw ft1,4(a0)
800002ec: 00852107 flw ft2,8(a0)
800002f0: 00c52683 lw a3,12(a0)
800002f4: c0001553 fcvt.w.s a0,ft0,rtz
800002f8: 001015f3 fsflags a1,zero
800002fc: 01000613 li a2,16
80000300: 26d51c63 bne a0,a3,80000578 <fail>
80000304: 26c59a63 bne a1,a2,80000578 <fail>
80000308 <test_12>:
80000308: 00c00193 li gp,12
8000030c: 00002517 auipc a0,0x2
80000310: d7450513 addi a0,a0,-652 # 80002080 <test_12_data>
80000314: 00052007 flw ft0,0(a0)
80000318: 00452087 flw ft1,4(a0)
8000031c: 00852107 flw ft2,8(a0)
80000320: 00c52683 lw a3,12(a0)
80000324: c0101553 fcvt.wu.s a0,ft0,rtz
80000328: 001015f3 fsflags a1,zero
8000032c: 01000613 li a2,16
80000330: 24d51463 bne a0,a3,80000578 <fail>
80000334: 24c59263 bne a1,a2,80000578 <fail>
80000338 <test_13>:
80000338: 00d00193 li gp,13
8000033c: 00002517 auipc a0,0x2
80000340: d5450513 addi a0,a0,-684 # 80002090 <test_13_data>
80000344: 00052007 flw ft0,0(a0)
80000348: 00452087 flw ft1,4(a0)
8000034c: 00852107 flw ft2,8(a0)
80000350: 00c52683 lw a3,12(a0)
80000354: c0101553 fcvt.wu.s a0,ft0,rtz
80000358: 001015f3 fsflags a1,zero
8000035c: 01000613 li a2,16
80000360: 20d51c63 bne a0,a3,80000578 <fail>
80000364: 20c59a63 bne a1,a2,80000578 <fail>
80000368 <test_14>:
80000368: 00e00193 li gp,14
8000036c: 00002517 auipc a0,0x2
80000370: d3450513 addi a0,a0,-716 # 800020a0 <test_14_data>
80000374: 00052007 flw ft0,0(a0)
80000378: 00452087 flw ft1,4(a0)
8000037c: 00852107 flw ft2,8(a0)
80000380: 00c52683 lw a3,12(a0)
80000384: c0101553 fcvt.wu.s a0,ft0,rtz
80000388: 001015f3 fsflags a1,zero
8000038c: 00100613 li a2,1
80000390: 1ed51463 bne a0,a3,80000578 <fail>
80000394: 1ec59263 bne a1,a2,80000578 <fail>
80000398 <test_15>:
80000398: 00f00193 li gp,15
8000039c: 00002517 auipc a0,0x2
800003a0: d1450513 addi a0,a0,-748 # 800020b0 <test_15_data>
800003a4: 00052007 flw ft0,0(a0)
800003a8: 00452087 flw ft1,4(a0)
800003ac: 00852107 flw ft2,8(a0)
800003b0: 00c52683 lw a3,12(a0)
800003b4: c0101553 fcvt.wu.s a0,ft0,rtz
800003b8: 001015f3 fsflags a1,zero
800003bc: 00100613 li a2,1
800003c0: 1ad51c63 bne a0,a3,80000578 <fail>
800003c4: 1ac59a63 bne a1,a2,80000578 <fail>
800003c8 <test_16>:
800003c8: 01000193 li gp,16
800003cc: 00002517 auipc a0,0x2
800003d0: cf450513 addi a0,a0,-780 # 800020c0 <test_16_data>
800003d4: 00052007 flw ft0,0(a0)
800003d8: 00452087 flw ft1,4(a0)
800003dc: 00852107 flw ft2,8(a0)
800003e0: 00c52683 lw a3,12(a0)
800003e4: c0101553 fcvt.wu.s a0,ft0,rtz
800003e8: 001015f3 fsflags a1,zero
800003ec: 00000613 li a2,0
800003f0: 18d51463 bne a0,a3,80000578 <fail>
800003f4: 18c59263 bne a1,a2,80000578 <fail>
800003f8 <test_17>:
800003f8: 01100193 li gp,17
800003fc: 00002517 auipc a0,0x2
80000400: cd450513 addi a0,a0,-812 # 800020d0 <test_17_data>
80000404: 00052007 flw ft0,0(a0)
80000408: 00452087 flw ft1,4(a0)
8000040c: 00852107 flw ft2,8(a0)
80000410: 00c52683 lw a3,12(a0)
80000414: c0101553 fcvt.wu.s a0,ft0,rtz
80000418: 001015f3 fsflags a1,zero
8000041c: 00100613 li a2,1
80000420: 14d51c63 bne a0,a3,80000578 <fail>
80000424: 14c59a63 bne a1,a2,80000578 <fail>
80000428 <test_18>:
80000428: 01200193 li gp,18
8000042c: 00002517 auipc a0,0x2
80000430: cb450513 addi a0,a0,-844 # 800020e0 <test_18_data>
80000434: 00052007 flw ft0,0(a0)
80000438: 00452087 flw ft1,4(a0)
8000043c: 00852107 flw ft2,8(a0)
80000440: 00c52683 lw a3,12(a0)
80000444: c0101553 fcvt.wu.s a0,ft0,rtz
80000448: 001015f3 fsflags a1,zero
8000044c: 01000613 li a2,16
80000450: 12d51463 bne a0,a3,80000578 <fail>
80000454: 12c59263 bne a1,a2,80000578 <fail>
80000458 <test_19>:
80000458: 01300193 li gp,19
8000045c: 00002517 auipc a0,0x2
80000460: c9450513 addi a0,a0,-876 # 800020f0 <test_19_data>
80000464: 00052007 flw ft0,0(a0)
80000468: 00452087 flw ft1,4(a0)
8000046c: 00852107 flw ft2,8(a0)
80000470: 00c52683 lw a3,12(a0)
80000474: c0101553 fcvt.wu.s a0,ft0,rtz
80000478: 001015f3 fsflags a1,zero
8000047c: 00000613 li a2,0
80000480: 0ed51c63 bne a0,a3,80000578 <fail>
80000484: 0ec59a63 bne a1,a2,80000578 <fail>
80000488 <test_42>:
80000488: 00002097 auipc ra,0x2
8000048c: c7808093 addi ra,ra,-904 # 80002100 <begin_signature>
80000490: 0000a087 flw ft1,0(ra)
80000494: c000f0d3 fcvt.w.s ra,ft1
80000498: 800003b7 lui t2,0x80000
8000049c: fff38393 addi t2,t2,-1 # 7fffffff <_end+0xffffdecf>
800004a0: 02a00193 li gp,42
800004a4: 0c709a63 bne ra,t2,80000578 <fail>
800004a8 <test_44>:
800004a8: 00002097 auipc ra,0x2
800004ac: c5808093 addi ra,ra,-936 # 80002100 <begin_signature>
800004b0: 0080a087 flw ft1,8(ra)
800004b4: c000f0d3 fcvt.w.s ra,ft1
800004b8: 800003b7 lui t2,0x80000
800004bc: 02c00193 li gp,44
800004c0: 0a709c63 bne ra,t2,80000578 <fail>
800004c4 <test_52>:
800004c4: 00002097 auipc ra,0x2
800004c8: c3c08093 addi ra,ra,-964 # 80002100 <begin_signature>
800004cc: 0040a087 flw ft1,4(ra)
800004d0: c000f0d3 fcvt.w.s ra,ft1
800004d4: 800003b7 lui t2,0x80000
800004d8: fff38393 addi t2,t2,-1 # 7fffffff <_end+0xffffdecf>
800004dc: 03400193 li gp,52
800004e0: 08709c63 bne ra,t2,80000578 <fail>
800004e4 <test_54>:
800004e4: 00002097 auipc ra,0x2
800004e8: c1c08093 addi ra,ra,-996 # 80002100 <begin_signature>
800004ec: 00c0a087 flw ft1,12(ra)
800004f0: c000f0d3 fcvt.w.s ra,ft1
800004f4: 800003b7 lui t2,0x80000
800004f8: fff38393 addi t2,t2,-1 # 7fffffff <_end+0xffffdecf>
800004fc: 03600193 li gp,54
80000500: 06709c63 bne ra,t2,80000578 <fail>
80000504 <test_62>:
80000504: 00002097 auipc ra,0x2
80000508: bfc08093 addi ra,ra,-1028 # 80002100 <begin_signature>
8000050c: 0000a087 flw ft1,0(ra)
80000510: c010f0d3 fcvt.wu.s ra,ft1
80000514: fff00393 li t2,-1
80000518: 03e00193 li gp,62
8000051c: 04709e63 bne ra,t2,80000578 <fail>
80000520 <test_63>:
80000520: 00002097 auipc ra,0x2
80000524: be008093 addi ra,ra,-1056 # 80002100 <begin_signature>
80000528: 0040a087 flw ft1,4(ra)
8000052c: c010f0d3 fcvt.wu.s ra,ft1
80000530: fff00393 li t2,-1
80000534: 03f00193 li gp,63
80000538: 04709063 bne ra,t2,80000578 <fail>
8000053c <test_64>:
8000053c: 00002097 auipc ra,0x2
80000540: bc408093 addi ra,ra,-1084 # 80002100 <begin_signature>
80000544: 0080a087 flw ft1,8(ra)
80000548: c010f0d3 fcvt.wu.s ra,ft1
8000054c: 00000393 li t2,0
80000550: 04000193 li gp,64
80000554: 02709263 bne ra,t2,80000578 <fail>
80000558 <test_65>:
80000558: 00002097 auipc ra,0x2
8000055c: ba808093 addi ra,ra,-1112 # 80002100 <begin_signature>
80000560: 00c0a087 flw ft1,12(ra)
80000564: c010f0d3 fcvt.wu.s ra,ft1
80000568: fff00393 li t2,-1
8000056c: 04100193 li gp,65
80000570: 00709463 bne ra,t2,80000578 <fail>
80000574: 02301063 bne zero,gp,80000594 <pass>
80000578 <fail>:
80000578: 0ff0000f fence
8000057c: 00018063 beqz gp,8000057c <fail+0x4>
80000580: 00119193 slli gp,gp,0x1
80000584: 0011e193 ori gp,gp,1
80000588: 05d00893 li a7,93
8000058c: 00018513 mv a0,gp
80000590: 00000073 ecall
80000594 <pass>:
80000594: 0ff0000f fence
80000598: 00100193 li gp,1
8000059c: 05d00893 li a7,93
800005a0: 00000513 li a0,0
800005a4: 00000073 ecall
800005a8: c0001073 unimp
800005ac: 0000 unimp
800005ae: 0000 unimp
800005b0: 0000 unimp
800005b2: 0000 unimp
800005b4: 0000 unimp
800005b6: 0000 unimp
800005b8: 0000 unimp
800005ba: 0000 unimp
800005bc: 0000 unimp
800005be: 0000 unimp
800005c0: 0000 unimp
800005c2: 0000 unimp
Disassembly of section .data:
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)

View File

@ -0,0 +1,322 @@
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: 00000093 li ra,0
80000050: 00000113 li sp,0
80000054: 00000193 li gp,0
80000058: 00000213 li tp,0
8000005c: 00000293 li t0,0
80000060: 00000313 li t1,0
80000064: 00000393 li t2,0
80000068: 00000413 li s0,0
8000006c: 00000493 li s1,0
80000070: 00000513 li a0,0
80000074: 00000593 li a1,0
80000078: 00000613 li a2,0
8000007c: 00000693 li a3,0
80000080: 00000713 li a4,0
80000084: 00000793 li a5,0
80000088: 00000813 li a6,0
8000008c: 00000893 li a7,0
80000090: 00000913 li s2,0
80000094: 00000993 li s3,0
80000098: 00000a13 li s4,0
8000009c: 00000a93 li s5,0
800000a0: 00000b13 li s6,0
800000a4: 00000b93 li s7,0
800000a8: 00000c13 li s8,0
800000ac: 00000c93 li s9,0
800000b0: 00000d13 li s10,0
800000b4: 00000d93 li s11,0
800000b8: 00000e13 li t3,0
800000bc: 00000e93 li t4,0
800000c0: 00000f13 li t5,0
800000c4: 00000f93 li t6,0
800000c8: f1402573 csrr a0,mhartid
800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80>
800000d0: 00000297 auipc t0,0x0
800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94>
800000d8: 30529073 csrw mtvec,t0
800000dc: 18005073 csrwi satp,0
800000e0: 00000297 auipc t0,0x0
800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4>
800000e8: 30529073 csrw mtvec,t0
800000ec: 800002b7 lui t0,0x80000
800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdf7f>
800000f4: 3b029073 csrw pmpaddr0,t0
800000f8: 01f00293 li t0,31
800000fc: 3a029073 csrw pmpcfg0,t0
80000100: 30405073 csrwi mie,0
80000104: 00000297 auipc t0,0x0
80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc>
8000010c: 30529073 csrw mtvec,t0
80000110: 30205073 csrwi medeleg,0
80000114: 30305073 csrwi mideleg,0
80000118: 00000193 li gp,0
8000011c: 00000297 auipc t0,0x0
80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector>
80000124: 30529073 csrw mtvec,t0
80000128: 00100513 li a0,1
8000012c: 01f51513 slli a0,a0,0x1f
80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc>
80000134: 0ff0000f fence
80000138: 00100193 li gp,1
8000013c: 05d00893 li a7,93
80000140: 00000513 li a0,0
80000144: 00000073 ecall
80000148: 80000297 auipc t0,0x80000
8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000>
80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118>
80000154: 10529073 csrw stvec,t0
80000158: 0000b2b7 lui t0,0xb
8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
80000160: 30229073 csrw medeleg,t0
80000164: 30005073 csrwi mstatus,0
80000168: 00002537 lui a0,0x2
8000016c: 30052073 csrs mstatus,a0
80000170: 00305073 csrwi fcsr,0
80000174: 00000297 auipc t0,0x0
80000178: 01428293 addi t0,t0,20 # 80000188 <test_2>
8000017c: 34129073 csrw mepc,t0
80000180: f1402573 csrr a0,mhartid
80000184: 30200073 mret
80000188 <test_2>:
80000188: 00200193 li gp,2
8000018c: 00002517 auipc a0,0x2
80000190: e7450513 addi a0,a0,-396 # 80002000 <test_2_data>
80000194: 00052007 flw ft0,0(a0)
80000198: 00452087 flw ft1,4(a0)
8000019c: 00852107 flw ft2,8(a0)
800001a0: 00c52683 lw a3,12(a0)
800001a4: 181071d3 fdiv.s ft3,ft0,ft1
800001a8: e0018553 fmv.x.w a0,ft3
800001ac: 001015f3 fsflags a1,zero
800001b0: 00100613 li a2,1
800001b4: 14d51263 bne a0,a3,800002f8 <fail>
800001b8: 14c59063 bne a1,a2,800002f8 <fail>
800001bc <test_3>:
800001bc: 00300193 li gp,3
800001c0: 00002517 auipc a0,0x2
800001c4: e5050513 addi a0,a0,-432 # 80002010 <test_3_data>
800001c8: 00052007 flw ft0,0(a0)
800001cc: 00452087 flw ft1,4(a0)
800001d0: 00852107 flw ft2,8(a0)
800001d4: 00c52683 lw a3,12(a0)
800001d8: 181071d3 fdiv.s ft3,ft0,ft1
800001dc: e0018553 fmv.x.w a0,ft3
800001e0: 001015f3 fsflags a1,zero
800001e4: 00100613 li a2,1
800001e8: 10d51863 bne a0,a3,800002f8 <fail>
800001ec: 10c59663 bne a1,a2,800002f8 <fail>
800001f0 <test_4>:
800001f0: 00400193 li gp,4
800001f4: 00002517 auipc a0,0x2
800001f8: e2c50513 addi a0,a0,-468 # 80002020 <test_4_data>
800001fc: 00052007 flw ft0,0(a0)
80000200: 00452087 flw ft1,4(a0)
80000204: 00852107 flw ft2,8(a0)
80000208: 00c52683 lw a3,12(a0)
8000020c: 181071d3 fdiv.s ft3,ft0,ft1
80000210: e0018553 fmv.x.w a0,ft3
80000214: 001015f3 fsflags a1,zero
80000218: 00000613 li a2,0
8000021c: 0cd51e63 bne a0,a3,800002f8 <fail>
80000220: 0cc59c63 bne a1,a2,800002f8 <fail>
80000224 <test_5>:
80000224: 00500193 li gp,5
80000228: 00002517 auipc a0,0x2
8000022c: e0850513 addi a0,a0,-504 # 80002030 <test_5_data>
80000230: 00052007 flw ft0,0(a0)
80000234: 00452087 flw ft1,4(a0)
80000238: 00852107 flw ft2,8(a0)
8000023c: 00c52683 lw a3,12(a0)
80000240: 580071d3 fsqrt.s ft3,ft0
80000244: e0018553 fmv.x.w a0,ft3
80000248: 001015f3 fsflags a1,zero
8000024c: 00100613 li a2,1
80000250: 0ad51463 bne a0,a3,800002f8 <fail>
80000254: 0ac59263 bne a1,a2,800002f8 <fail>
80000258 <test_6>:
80000258: 00600193 li gp,6
8000025c: 00002517 auipc a0,0x2
80000260: de450513 addi a0,a0,-540 # 80002040 <test_6_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: 580071d3 fsqrt.s ft3,ft0
80000278: e0018553 fmv.x.w a0,ft3
8000027c: 001015f3 fsflags a1,zero
80000280: 00000613 li a2,0
80000284: 06d51a63 bne a0,a3,800002f8 <fail>
80000288: 06c59863 bne a1,a2,800002f8 <fail>
8000028c <test_7>:
8000028c: 00700193 li gp,7
80000290: 00002517 auipc a0,0x2
80000294: dc050513 addi a0,a0,-576 # 80002050 <test_7_data>
80000298: 00052007 flw ft0,0(a0)
8000029c: 00452087 flw ft1,4(a0)
800002a0: 00852107 flw ft2,8(a0)
800002a4: 00c52683 lw a3,12(a0)
800002a8: 580071d3 fsqrt.s ft3,ft0
800002ac: e0018553 fmv.x.w a0,ft3
800002b0: 001015f3 fsflags a1,zero
800002b4: 01000613 li a2,16
800002b8: 04d51063 bne a0,a3,800002f8 <fail>
800002bc: 02c59e63 bne a1,a2,800002f8 <fail>
800002c0 <test_8>:
800002c0: 00800193 li gp,8
800002c4: 00002517 auipc a0,0x2
800002c8: da050513 addi a0,a0,-608 # 80002064 <test_8_data>
800002cc: 00052007 flw ft0,0(a0)
800002d0: 00452087 flw ft1,4(a0)
800002d4: 00852107 flw ft2,8(a0)
800002d8: 00c52683 lw a3,12(a0)
800002dc: 580071d3 fsqrt.s ft3,ft0
800002e0: e0018553 fmv.x.w a0,ft3
800002e4: 001015f3 fsflags a1,zero
800002e8: 00100613 li a2,1
800002ec: 00d51663 bne a0,a3,800002f8 <fail>
800002f0: 00c59463 bne a1,a2,800002f8 <fail>
800002f4: 02301063 bne zero,gp,80000314 <pass>
800002f8 <fail>:
800002f8: 0ff0000f fence
800002fc: 00018063 beqz gp,800002fc <fail+0x4>
80000300: 00119193 slli gp,gp,0x1
80000304: 0011e193 ori gp,gp,1
80000308: 05d00893 li a7,93
8000030c: 00018513 mv a0,gp
80000310: 00000073 ecall
80000314 <pass>:
80000314: 0ff0000f fence
80000318: 00100193 li gp,1
8000031c: 05d00893 li a7,93
80000320: 00000513 li a0,0
80000324: 00000073 ecall
80000328: c0001073 unimp
8000032c: 0000 unimp
8000032e: 0000 unimp
80000330: 0000 unimp
80000332: 0000 unimp
80000334: 0000 unimp
80000336: 0000 unimp
80000338: 0000 unimp
8000033a: 0000 unimp
8000033c: 0000 unimp
8000033e: 0000 unimp
80000340: 0000 unimp
80000342: 0000 unimp
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

View File

@ -0,0 +1,439 @@
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: 00000093 li ra,0
80000050: 00000113 li sp,0
80000054: 00000193 li gp,0
80000058: 00000213 li tp,0
8000005c: 00000293 li t0,0
80000060: 00000313 li t1,0
80000064: 00000393 li t2,0
80000068: 00000413 li s0,0
8000006c: 00000493 li s1,0
80000070: 00000513 li a0,0
80000074: 00000593 li a1,0
80000078: 00000613 li a2,0
8000007c: 00000693 li a3,0
80000080: 00000713 li a4,0
80000084: 00000793 li a5,0
80000088: 00000813 li a6,0
8000008c: 00000893 li a7,0
80000090: 00000913 li s2,0
80000094: 00000993 li s3,0
80000098: 00000a13 li s4,0
8000009c: 00000a93 li s5,0
800000a0: 00000b13 li s6,0
800000a4: 00000b93 li s7,0
800000a8: 00000c13 li s8,0
800000ac: 00000c93 li s9,0
800000b0: 00000d13 li s10,0
800000b4: 00000d93 li s11,0
800000b8: 00000e13 li t3,0
800000bc: 00000e93 li t4,0
800000c0: 00000f13 li t5,0
800000c4: 00000f93 li t6,0
800000c8: f1402573 csrr a0,mhartid
800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80>
800000d0: 00000297 auipc t0,0x0
800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94>
800000d8: 30529073 csrw mtvec,t0
800000dc: 18005073 csrwi satp,0
800000e0: 00000297 auipc t0,0x0
800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4>
800000e8: 30529073 csrw mtvec,t0
800000ec: 800002b7 lui t0,0x80000
800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdf3f>
800000f4: 3b029073 csrw pmpaddr0,t0
800000f8: 01f00293 li t0,31
800000fc: 3a029073 csrw pmpcfg0,t0
80000100: 30405073 csrwi mie,0
80000104: 00000297 auipc t0,0x0
80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc>
8000010c: 30529073 csrw mtvec,t0
80000110: 30205073 csrwi medeleg,0
80000114: 30305073 csrwi mideleg,0
80000118: 00000193 li gp,0
8000011c: 00000297 auipc t0,0x0
80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector>
80000124: 30529073 csrw mtvec,t0
80000128: 00100513 li a0,1
8000012c: 01f51513 slli a0,a0,0x1f
80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc>
80000134: 0ff0000f fence
80000138: 00100193 li gp,1
8000013c: 05d00893 li a7,93
80000140: 00000513 li a0,0
80000144: 00000073 ecall
80000148: 80000297 auipc t0,0x80000
8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000>
80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118>
80000154: 10529073 csrw stvec,t0
80000158: 0000b2b7 lui t0,0xb
8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
80000160: 30229073 csrw medeleg,t0
80000164: 30005073 csrwi mstatus,0
80000168: 00002537 lui a0,0x2
8000016c: 30052073 csrs mstatus,a0
80000170: 00305073 csrwi fcsr,0
80000174: 00000297 auipc t0,0x0
80000178: 01428293 addi t0,t0,20 # 80000188 <test_2>
8000017c: 34129073 csrw mepc,t0
80000180: f1402573 csrr a0,mhartid
80000184: 30200073 mret
80000188 <test_2>:
80000188: 00200193 li gp,2
8000018c: 00002517 auipc a0,0x2
80000190: e7450513 addi a0,a0,-396 # 80002000 <test_2_data>
80000194: 00052007 flw ft0,0(a0)
80000198: 00452087 flw ft1,4(a0)
8000019c: 00852107 flw ft2,8(a0)
800001a0: 00c52683 lw a3,12(a0)
800001a4: 101071c3 fmadd.s ft3,ft0,ft1,ft2
800001a8: e0018553 fmv.x.w a0,ft3
800001ac: 001015f3 fsflags a1,zero
800001b0: 00000613 li a2,0
800001b4: 24d51463 bne a0,a3,800003fc <fail>
800001b8: 24c59263 bne a1,a2,800003fc <fail>
800001bc <test_3>:
800001bc: 00300193 li gp,3
800001c0: 00002517 auipc a0,0x2
800001c4: e5050513 addi a0,a0,-432 # 80002010 <test_3_data>
800001c8: 00052007 flw ft0,0(a0)
800001cc: 00452087 flw ft1,4(a0)
800001d0: 00852107 flw ft2,8(a0)
800001d4: 00c52683 lw a3,12(a0)
800001d8: 101071c3 fmadd.s ft3,ft0,ft1,ft2
800001dc: e0018553 fmv.x.w a0,ft3
800001e0: 001015f3 fsflags a1,zero
800001e4: 00100613 li a2,1
800001e8: 20d51a63 bne a0,a3,800003fc <fail>
800001ec: 20c59863 bne a1,a2,800003fc <fail>
800001f0 <test_4>:
800001f0: 00400193 li gp,4
800001f4: 00002517 auipc a0,0x2
800001f8: e2c50513 addi a0,a0,-468 # 80002020 <test_4_data>
800001fc: 00052007 flw ft0,0(a0)
80000200: 00452087 flw ft1,4(a0)
80000204: 00852107 flw ft2,8(a0)
80000208: 00c52683 lw a3,12(a0)
8000020c: 101071c3 fmadd.s ft3,ft0,ft1,ft2
80000210: e0018553 fmv.x.w a0,ft3
80000214: 001015f3 fsflags a1,zero
80000218: 00000613 li a2,0
8000021c: 1ed51063 bne a0,a3,800003fc <fail>
80000220: 1cc59e63 bne a1,a2,800003fc <fail>
80000224 <test_5>:
80000224: 00500193 li gp,5
80000228: 00002517 auipc a0,0x2
8000022c: e0850513 addi a0,a0,-504 # 80002030 <test_5_data>
80000230: 00052007 flw ft0,0(a0)
80000234: 00452087 flw ft1,4(a0)
80000238: 00852107 flw ft2,8(a0)
8000023c: 00c52683 lw a3,12(a0)
80000240: 101071cf fnmadd.s ft3,ft0,ft1,ft2
80000244: e0018553 fmv.x.w a0,ft3
80000248: 001015f3 fsflags a1,zero
8000024c: 00000613 li a2,0
80000250: 1ad51663 bne a0,a3,800003fc <fail>
80000254: 1ac59463 bne a1,a2,800003fc <fail>
80000258 <test_6>:
80000258: 00600193 li gp,6
8000025c: 00002517 auipc a0,0x2
80000260: de450513 addi a0,a0,-540 # 80002040 <test_6_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: 101071cf fnmadd.s ft3,ft0,ft1,ft2
80000278: e0018553 fmv.x.w a0,ft3
8000027c: 001015f3 fsflags a1,zero
80000280: 00100613 li a2,1
80000284: 16d51c63 bne a0,a3,800003fc <fail>
80000288: 16c59a63 bne a1,a2,800003fc <fail>
8000028c <test_7>:
8000028c: 00700193 li gp,7
80000290: 00002517 auipc a0,0x2
80000294: dc050513 addi a0,a0,-576 # 80002050 <test_7_data>
80000298: 00052007 flw ft0,0(a0)
8000029c: 00452087 flw ft1,4(a0)
800002a0: 00852107 flw ft2,8(a0)
800002a4: 00c52683 lw a3,12(a0)
800002a8: 101071cf fnmadd.s ft3,ft0,ft1,ft2
800002ac: e0018553 fmv.x.w a0,ft3
800002b0: 001015f3 fsflags a1,zero
800002b4: 00000613 li a2,0
800002b8: 14d51263 bne a0,a3,800003fc <fail>
800002bc: 14c59063 bne a1,a2,800003fc <fail>
800002c0 <test_8>:
800002c0: 00800193 li gp,8
800002c4: 00002517 auipc a0,0x2
800002c8: d9c50513 addi a0,a0,-612 # 80002060 <test_8_data>
800002cc: 00052007 flw ft0,0(a0)
800002d0: 00452087 flw ft1,4(a0)
800002d4: 00852107 flw ft2,8(a0)
800002d8: 00c52683 lw a3,12(a0)
800002dc: 101071c7 fmsub.s ft3,ft0,ft1,ft2
800002e0: e0018553 fmv.x.w a0,ft3
800002e4: 001015f3 fsflags a1,zero
800002e8: 00000613 li a2,0
800002ec: 10d51863 bne a0,a3,800003fc <fail>
800002f0: 10c59663 bne a1,a2,800003fc <fail>
800002f4 <test_9>:
800002f4: 00900193 li gp,9
800002f8: 00002517 auipc a0,0x2
800002fc: d7850513 addi a0,a0,-648 # 80002070 <test_9_data>
80000300: 00052007 flw ft0,0(a0)
80000304: 00452087 flw ft1,4(a0)
80000308: 00852107 flw ft2,8(a0)
8000030c: 00c52683 lw a3,12(a0)
80000310: 101071c7 fmsub.s ft3,ft0,ft1,ft2
80000314: e0018553 fmv.x.w a0,ft3
80000318: 001015f3 fsflags a1,zero
8000031c: 00100613 li a2,1
80000320: 0cd51e63 bne a0,a3,800003fc <fail>
80000324: 0cc59c63 bne a1,a2,800003fc <fail>
80000328 <test_10>:
80000328: 00a00193 li gp,10
8000032c: 00002517 auipc a0,0x2
80000330: d5450513 addi a0,a0,-684 # 80002080 <test_10_data>
80000334: 00052007 flw ft0,0(a0)
80000338: 00452087 flw ft1,4(a0)
8000033c: 00852107 flw ft2,8(a0)
80000340: 00c52683 lw a3,12(a0)
80000344: 101071c7 fmsub.s ft3,ft0,ft1,ft2
80000348: e0018553 fmv.x.w a0,ft3
8000034c: 001015f3 fsflags a1,zero
80000350: 00000613 li a2,0
80000354: 0ad51463 bne a0,a3,800003fc <fail>
80000358: 0ac59263 bne a1,a2,800003fc <fail>
8000035c <test_11>:
8000035c: 00b00193 li gp,11
80000360: 00002517 auipc a0,0x2
80000364: d3050513 addi a0,a0,-720 # 80002090 <test_11_data>
80000368: 00052007 flw ft0,0(a0)
8000036c: 00452087 flw ft1,4(a0)
80000370: 00852107 flw ft2,8(a0)
80000374: 00c52683 lw a3,12(a0)
80000378: 101071cb fnmsub.s ft3,ft0,ft1,ft2
8000037c: e0018553 fmv.x.w a0,ft3
80000380: 001015f3 fsflags a1,zero
80000384: 00000613 li a2,0
80000388: 06d51a63 bne a0,a3,800003fc <fail>
8000038c: 06c59863 bne a1,a2,800003fc <fail>
80000390 <test_12>:
80000390: 00c00193 li gp,12
80000394: 00002517 auipc a0,0x2
80000398: d0c50513 addi a0,a0,-756 # 800020a0 <test_12_data>
8000039c: 00052007 flw ft0,0(a0)
800003a0: 00452087 flw ft1,4(a0)
800003a4: 00852107 flw ft2,8(a0)
800003a8: 00c52683 lw a3,12(a0)
800003ac: 101071cb fnmsub.s ft3,ft0,ft1,ft2
800003b0: e0018553 fmv.x.w a0,ft3
800003b4: 001015f3 fsflags a1,zero
800003b8: 00100613 li a2,1
800003bc: 04d51063 bne a0,a3,800003fc <fail>
800003c0: 02c59e63 bne a1,a2,800003fc <fail>
800003c4 <test_13>:
800003c4: 00d00193 li gp,13
800003c8: 00002517 auipc a0,0x2
800003cc: ce850513 addi a0,a0,-792 # 800020b0 <test_13_data>
800003d0: 00052007 flw ft0,0(a0)
800003d4: 00452087 flw ft1,4(a0)
800003d8: 00852107 flw ft2,8(a0)
800003dc: 00c52683 lw a3,12(a0)
800003e0: 101071cb fnmsub.s ft3,ft0,ft1,ft2
800003e4: e0018553 fmv.x.w a0,ft3
800003e8: 001015f3 fsflags a1,zero
800003ec: 00000613 li a2,0
800003f0: 00d51663 bne a0,a3,800003fc <fail>
800003f4: 00c59463 bne a1,a2,800003fc <fail>
800003f8: 02301063 bne zero,gp,80000418 <pass>
800003fc <fail>:
800003fc: 0ff0000f fence
80000400: 00018063 beqz gp,80000400 <fail+0x4>
80000404: 00119193 slli gp,gp,0x1
80000408: 0011e193 ori gp,gp,1
8000040c: 05d00893 li a7,93
80000410: 00018513 mv a0,gp
80000414: 00000073 ecall
80000418 <pass>:
80000418: 0ff0000f fence
8000041c: 00100193 li gp,1
80000420: 05d00893 li a7,93
80000424: 00000513 li a0,0
80000428: 00000073 ecall
8000042c: c0001073 unimp
80000430: 0000 unimp
80000432: 0000 unimp
80000434: 0000 unimp
80000436: 0000 unimp
80000438: 0000 unimp
8000043a: 0000 unimp
8000043c: 0000 unimp
8000043e: 0000 unimp
80000440: 0000 unimp
80000442: 0000 unimp
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)

View File

@ -0,0 +1,581 @@
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: 00000093 li ra,0
80000050: 00000113 li sp,0
80000054: 00000193 li gp,0
80000058: 00000213 li tp,0
8000005c: 00000293 li t0,0
80000060: 00000313 li t1,0
80000064: 00000393 li t2,0
80000068: 00000413 li s0,0
8000006c: 00000493 li s1,0
80000070: 00000513 li a0,0
80000074: 00000593 li a1,0
80000078: 00000613 li a2,0
8000007c: 00000693 li a3,0
80000080: 00000713 li a4,0
80000084: 00000793 li a5,0
80000088: 00000813 li a6,0
8000008c: 00000893 li a7,0
80000090: 00000913 li s2,0
80000094: 00000993 li s3,0
80000098: 00000a13 li s4,0
8000009c: 00000a93 li s5,0
800000a0: 00000b13 li s6,0
800000a4: 00000b93 li s7,0
800000a8: 00000c13 li s8,0
800000ac: 00000c93 li s9,0
800000b0: 00000d13 li s10,0
800000b4: 00000d93 li s11,0
800000b8: 00000e13 li t3,0
800000bc: 00000e93 li t4,0
800000c0: 00000f13 li t5,0
800000c4: 00000f93 li t6,0
800000c8: f1402573 csrr a0,mhartid
800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80>
800000d0: 00000297 auipc t0,0x0
800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94>
800000d8: 30529073 csrw mtvec,t0
800000dc: 18005073 csrwi satp,0
800000e0: 00000297 auipc t0,0x0
800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4>
800000e8: 30529073 csrw mtvec,t0
800000ec: 800002b7 lui t0,0x80000
800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdedf>
800000f4: 3b029073 csrw pmpaddr0,t0
800000f8: 01f00293 li t0,31
800000fc: 3a029073 csrw pmpcfg0,t0
80000100: 30405073 csrwi mie,0
80000104: 00000297 auipc t0,0x0
80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc>
8000010c: 30529073 csrw mtvec,t0
80000110: 30205073 csrwi medeleg,0
80000114: 30305073 csrwi mideleg,0
80000118: 00000193 li gp,0
8000011c: 00000297 auipc t0,0x0
80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector>
80000124: 30529073 csrw mtvec,t0
80000128: 00100513 li a0,1
8000012c: 01f51513 slli a0,a0,0x1f
80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc>
80000134: 0ff0000f fence
80000138: 00100193 li gp,1
8000013c: 05d00893 li a7,93
80000140: 00000513 li a0,0
80000144: 00000073 ecall
80000148: 80000297 auipc t0,0x80000
8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000>
80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118>
80000154: 10529073 csrw stvec,t0
80000158: 0000b2b7 lui t0,0xb
8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
80000160: 30229073 csrw medeleg,t0
80000164: 30005073 csrwi mstatus,0
80000168: 00002537 lui a0,0x2
8000016c: 30052073 csrs mstatus,a0
80000170: 00305073 csrwi fcsr,0
80000174: 00000297 auipc t0,0x0
80000178: 01428293 addi t0,t0,20 # 80000188 <test_2>
8000017c: 34129073 csrw mepc,t0
80000180: f1402573 csrr a0,mhartid
80000184: 30200073 mret
80000188 <test_2>:
80000188: 00200193 li gp,2
8000018c: 00002517 auipc a0,0x2
80000190: e7450513 addi a0,a0,-396 # 80002000 <test_2_data>
80000194: 00052007 flw ft0,0(a0)
80000198: 00452087 flw ft1,4(a0)
8000019c: 00852107 flw ft2,8(a0)
800001a0: 00c52683 lw a3,12(a0)
800001a4: 281001d3 fmin.s ft3,ft0,ft1
800001a8: e0018553 fmv.x.w a0,ft3
800001ac: 001015f3 fsflags a1,zero
800001b0: 00000613 li a2,0
800001b4: 38d51063 bne a0,a3,80000534 <fail>
800001b8: 36c59e63 bne a1,a2,80000534 <fail>
800001bc <test_3>:
800001bc: 00300193 li gp,3
800001c0: 00002517 auipc a0,0x2
800001c4: e5050513 addi a0,a0,-432 # 80002010 <test_3_data>
800001c8: 00052007 flw ft0,0(a0)
800001cc: 00452087 flw ft1,4(a0)
800001d0: 00852107 flw ft2,8(a0)
800001d4: 00c52683 lw a3,12(a0)
800001d8: 281001d3 fmin.s ft3,ft0,ft1
800001dc: e0018553 fmv.x.w a0,ft3
800001e0: 001015f3 fsflags a1,zero
800001e4: 00000613 li a2,0
800001e8: 34d51663 bne a0,a3,80000534 <fail>
800001ec: 34c59463 bne a1,a2,80000534 <fail>
800001f0 <test_4>:
800001f0: 00400193 li gp,4
800001f4: 00002517 auipc a0,0x2
800001f8: e2c50513 addi a0,a0,-468 # 80002020 <test_4_data>
800001fc: 00052007 flw ft0,0(a0)
80000200: 00452087 flw ft1,4(a0)
80000204: 00852107 flw ft2,8(a0)
80000208: 00c52683 lw a3,12(a0)
8000020c: 281001d3 fmin.s ft3,ft0,ft1
80000210: e0018553 fmv.x.w a0,ft3
80000214: 001015f3 fsflags a1,zero
80000218: 00000613 li a2,0
8000021c: 30d51c63 bne a0,a3,80000534 <fail>
80000220: 30c59a63 bne a1,a2,80000534 <fail>
80000224 <test_5>:
80000224: 00500193 li gp,5
80000228: 00002517 auipc a0,0x2
8000022c: e0850513 addi a0,a0,-504 # 80002030 <test_5_data>
80000230: 00052007 flw ft0,0(a0)
80000234: 00452087 flw ft1,4(a0)
80000238: 00852107 flw ft2,8(a0)
8000023c: 00c52683 lw a3,12(a0)
80000240: 281001d3 fmin.s ft3,ft0,ft1
80000244: e0018553 fmv.x.w a0,ft3
80000248: 001015f3 fsflags a1,zero
8000024c: 00000613 li a2,0
80000250: 2ed51263 bne a0,a3,80000534 <fail>
80000254: 2ec59063 bne a1,a2,80000534 <fail>
80000258 <test_6>:
80000258: 00600193 li gp,6
8000025c: 00002517 auipc a0,0x2
80000260: de450513 addi a0,a0,-540 # 80002040 <test_6_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: 281001d3 fmin.s ft3,ft0,ft1
80000278: e0018553 fmv.x.w a0,ft3
8000027c: 001015f3 fsflags a1,zero
80000280: 00000613 li a2,0
80000284: 2ad51863 bne a0,a3,80000534 <fail>
80000288: 2ac59663 bne a1,a2,80000534 <fail>
8000028c <test_7>:
8000028c: 00700193 li gp,7
80000290: 00002517 auipc a0,0x2
80000294: dc050513 addi a0,a0,-576 # 80002050 <test_7_data>
80000298: 00052007 flw ft0,0(a0)
8000029c: 00452087 flw ft1,4(a0)
800002a0: 00852107 flw ft2,8(a0)
800002a4: 00c52683 lw a3,12(a0)
800002a8: 281001d3 fmin.s ft3,ft0,ft1
800002ac: e0018553 fmv.x.w a0,ft3
800002b0: 001015f3 fsflags a1,zero
800002b4: 00000613 li a2,0
800002b8: 26d51e63 bne a0,a3,80000534 <fail>
800002bc: 26c59c63 bne a1,a2,80000534 <fail>
800002c0 <test_12>:
800002c0: 00c00193 li gp,12
800002c4: 00002517 auipc a0,0x2
800002c8: d9c50513 addi a0,a0,-612 # 80002060 <test_12_data>
800002cc: 00052007 flw ft0,0(a0)
800002d0: 00452087 flw ft1,4(a0)
800002d4: 00852107 flw ft2,8(a0)
800002d8: 00c52683 lw a3,12(a0)
800002dc: 281011d3 fmax.s ft3,ft0,ft1
800002e0: e0018553 fmv.x.w a0,ft3
800002e4: 001015f3 fsflags a1,zero
800002e8: 00000613 li a2,0
800002ec: 24d51463 bne a0,a3,80000534 <fail>
800002f0: 24c59263 bne a1,a2,80000534 <fail>
800002f4 <test_13>:
800002f4: 00d00193 li gp,13
800002f8: 00002517 auipc a0,0x2
800002fc: d7850513 addi a0,a0,-648 # 80002070 <test_13_data>
80000300: 00052007 flw ft0,0(a0)
80000304: 00452087 flw ft1,4(a0)
80000308: 00852107 flw ft2,8(a0)
8000030c: 00c52683 lw a3,12(a0)
80000310: 281011d3 fmax.s ft3,ft0,ft1
80000314: e0018553 fmv.x.w a0,ft3
80000318: 001015f3 fsflags a1,zero
8000031c: 00000613 li a2,0
80000320: 20d51a63 bne a0,a3,80000534 <fail>
80000324: 20c59863 bne a1,a2,80000534 <fail>
80000328 <test_14>:
80000328: 00e00193 li gp,14
8000032c: 00002517 auipc a0,0x2
80000330: d5450513 addi a0,a0,-684 # 80002080 <test_14_data>
80000334: 00052007 flw ft0,0(a0)
80000338: 00452087 flw ft1,4(a0)
8000033c: 00852107 flw ft2,8(a0)
80000340: 00c52683 lw a3,12(a0)
80000344: 281011d3 fmax.s ft3,ft0,ft1
80000348: e0018553 fmv.x.w a0,ft3
8000034c: 001015f3 fsflags a1,zero
80000350: 00000613 li a2,0
80000354: 1ed51063 bne a0,a3,80000534 <fail>
80000358: 1cc59e63 bne a1,a2,80000534 <fail>
8000035c <test_15>:
8000035c: 00f00193 li gp,15
80000360: 00002517 auipc a0,0x2
80000364: d3050513 addi a0,a0,-720 # 80002090 <test_15_data>
80000368: 00052007 flw ft0,0(a0)
8000036c: 00452087 flw ft1,4(a0)
80000370: 00852107 flw ft2,8(a0)
80000374: 00c52683 lw a3,12(a0)
80000378: 281011d3 fmax.s ft3,ft0,ft1
8000037c: e0018553 fmv.x.w a0,ft3
80000380: 001015f3 fsflags a1,zero
80000384: 00000613 li a2,0
80000388: 1ad51663 bne a0,a3,80000534 <fail>
8000038c: 1ac59463 bne a1,a2,80000534 <fail>
80000390 <test_16>:
80000390: 01000193 li gp,16
80000394: 00002517 auipc a0,0x2
80000398: d0c50513 addi a0,a0,-756 # 800020a0 <test_16_data>
8000039c: 00052007 flw ft0,0(a0)
800003a0: 00452087 flw ft1,4(a0)
800003a4: 00852107 flw ft2,8(a0)
800003a8: 00c52683 lw a3,12(a0)
800003ac: 281011d3 fmax.s ft3,ft0,ft1
800003b0: e0018553 fmv.x.w a0,ft3
800003b4: 001015f3 fsflags a1,zero
800003b8: 00000613 li a2,0
800003bc: 16d51c63 bne a0,a3,80000534 <fail>
800003c0: 16c59a63 bne a1,a2,80000534 <fail>
800003c4 <test_17>:
800003c4: 01100193 li gp,17
800003c8: 00002517 auipc a0,0x2
800003cc: ce850513 addi a0,a0,-792 # 800020b0 <test_17_data>
800003d0: 00052007 flw ft0,0(a0)
800003d4: 00452087 flw ft1,4(a0)
800003d8: 00852107 flw ft2,8(a0)
800003dc: 00c52683 lw a3,12(a0)
800003e0: 281011d3 fmax.s ft3,ft0,ft1
800003e4: e0018553 fmv.x.w a0,ft3
800003e8: 001015f3 fsflags a1,zero
800003ec: 00000613 li a2,0
800003f0: 14d51263 bne a0,a3,80000534 <fail>
800003f4: 14c59063 bne a1,a2,80000534 <fail>
800003f8 <test_20>:
800003f8: 01400193 li gp,20
800003fc: 00002517 auipc a0,0x2
80000400: cc450513 addi a0,a0,-828 # 800020c0 <test_20_data>
80000404: 00052007 flw ft0,0(a0)
80000408: 00452087 flw ft1,4(a0)
8000040c: 00852107 flw ft2,8(a0)
80000410: 00c52683 lw a3,12(a0)
80000414: 281011d3 fmax.s ft3,ft0,ft1
80000418: e0018553 fmv.x.w a0,ft3
8000041c: 001015f3 fsflags a1,zero
80000420: 01000613 li a2,16
80000424: 10d51863 bne a0,a3,80000534 <fail>
80000428: 10c59663 bne a1,a2,80000534 <fail>
8000042c <test_21>:
8000042c: 01500193 li gp,21
80000430: 00002517 auipc a0,0x2
80000434: ca050513 addi a0,a0,-864 # 800020d0 <test_21_data>
80000438: 00052007 flw ft0,0(a0)
8000043c: 00452087 flw ft1,4(a0)
80000440: 00852107 flw ft2,8(a0)
80000444: 00c52683 lw a3,12(a0)
80000448: 281011d3 fmax.s ft3,ft0,ft1
8000044c: e0018553 fmv.x.w a0,ft3
80000450: 001015f3 fsflags a1,zero
80000454: 00000613 li a2,0
80000458: 0cd51e63 bne a0,a3,80000534 <fail>
8000045c: 0cc59c63 bne a1,a2,80000534 <fail>
80000460 <test_30>:
80000460: 01e00193 li gp,30
80000464: 00002517 auipc a0,0x2
80000468: c7c50513 addi a0,a0,-900 # 800020e0 <test_30_data>
8000046c: 00052007 flw ft0,0(a0)
80000470: 00452087 flw ft1,4(a0)
80000474: 00852107 flw ft2,8(a0)
80000478: 00c52683 lw a3,12(a0)
8000047c: 281001d3 fmin.s ft3,ft0,ft1
80000480: e0018553 fmv.x.w a0,ft3
80000484: 001015f3 fsflags a1,zero
80000488: 00000613 li a2,0
8000048c: 0ad51463 bne a0,a3,80000534 <fail>
80000490: 0ac59263 bne a1,a2,80000534 <fail>
80000494 <test_31>:
80000494: 01f00193 li gp,31
80000498: 00002517 auipc a0,0x2
8000049c: c5850513 addi a0,a0,-936 # 800020f0 <test_31_data>
800004a0: 00052007 flw ft0,0(a0)
800004a4: 00452087 flw ft1,4(a0)
800004a8: 00852107 flw ft2,8(a0)
800004ac: 00c52683 lw a3,12(a0)
800004b0: 281001d3 fmin.s ft3,ft0,ft1
800004b4: e0018553 fmv.x.w a0,ft3
800004b8: 001015f3 fsflags a1,zero
800004bc: 00000613 li a2,0
800004c0: 06d51a63 bne a0,a3,80000534 <fail>
800004c4: 06c59863 bne a1,a2,80000534 <fail>
800004c8 <test_32>:
800004c8: 02000193 li gp,32
800004cc: 00002517 auipc a0,0x2
800004d0: c3450513 addi a0,a0,-972 # 80002100 <test_32_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: 281011d3 fmax.s ft3,ft0,ft1
800004e8: e0018553 fmv.x.w a0,ft3
800004ec: 001015f3 fsflags a1,zero
800004f0: 00000613 li a2,0
800004f4: 04d51063 bne a0,a3,80000534 <fail>
800004f8: 02c59e63 bne a1,a2,80000534 <fail>
800004fc <test_33>:
800004fc: 02100193 li gp,33
80000500: 00002517 auipc a0,0x2
80000504: c1050513 addi a0,a0,-1008 # 80002110 <test_33_data>
80000508: 00052007 flw ft0,0(a0)
8000050c: 00452087 flw ft1,4(a0)
80000510: 00852107 flw ft2,8(a0)
80000514: 00c52683 lw a3,12(a0)
80000518: 281011d3 fmax.s ft3,ft0,ft1
8000051c: e0018553 fmv.x.w a0,ft3
80000520: 001015f3 fsflags a1,zero
80000524: 00000613 li a2,0
80000528: 00d51663 bne a0,a3,80000534 <fail>
8000052c: 00c59463 bne a1,a2,80000534 <fail>
80000530: 02301063 bne zero,gp,80000550 <pass>
80000534 <fail>:
80000534: 0ff0000f fence
80000538: 00018063 beqz gp,80000538 <fail+0x4>
8000053c: 00119193 slli gp,gp,0x1
80000540: 0011e193 ori gp,gp,1
80000544: 05d00893 li a7,93
80000548: 00018513 mv a0,gp
8000054c: 00000073 ecall
80000550 <pass>:
80000550: 0ff0000f fence
80000554: 00100193 li gp,1
80000558: 05d00893 li a7,93
8000055c: 00000513 li a0,0
80000560: 00000073 ecall
80000564: c0001073 unimp
80000568: 0000 unimp
8000056a: 0000 unimp
8000056c: 0000 unimp
8000056e: 0000 unimp
80000570: 0000 unimp
80000572: 0000 unimp
80000574: 0000 unimp
80000576: 0000 unimp
80000578: 0000 unimp
8000057a: 0000 unimp
8000057c: 0000 unimp
8000057e: 0000 unimp
80000580: 0000 unimp
80000582: 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

View File

@ -0,0 +1,172 @@
rv32uf-p-ldst: 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: 00000093 li ra,0
80000050: 00000113 li sp,0
80000054: 00000193 li gp,0
80000058: 00000213 li tp,0
8000005c: 00000293 li t0,0
80000060: 00000313 li t1,0
80000064: 00000393 li t2,0
80000068: 00000413 li s0,0
8000006c: 00000493 li s1,0
80000070: 00000513 li a0,0
80000074: 00000593 li a1,0
80000078: 00000613 li a2,0
8000007c: 00000693 li a3,0
80000080: 00000713 li a4,0
80000084: 00000793 li a5,0
80000088: 00000813 li a6,0
8000008c: 00000893 li a7,0
80000090: 00000913 li s2,0
80000094: 00000993 li s3,0
80000098: 00000a13 li s4,0
8000009c: 00000a93 li s5,0
800000a0: 00000b13 li s6,0
800000a4: 00000b93 li s7,0
800000a8: 00000c13 li s8,0
800000ac: 00000c93 li s9,0
800000b0: 00000d13 li s10,0
800000b4: 00000d93 li s11,0
800000b8: 00000e13 li t3,0
800000bc: 00000e93 li t4,0
800000c0: 00000f13 li t5,0
800000c4: 00000f93 li t6,0
800000c8: f1402573 csrr a0,mhartid
800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80>
800000d0: 00000297 auipc t0,0x0
800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94>
800000d8: 30529073 csrw mtvec,t0
800000dc: 18005073 csrwi satp,0
800000e0: 00000297 auipc t0,0x0
800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4>
800000e8: 30529073 csrw mtvec,t0
800000ec: 800002b7 lui t0,0x80000
800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfdf>
800000f4: 3b029073 csrw pmpaddr0,t0
800000f8: 01f00293 li t0,31
800000fc: 3a029073 csrw pmpcfg0,t0
80000100: 30405073 csrwi mie,0
80000104: 00000297 auipc t0,0x0
80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc>
8000010c: 30529073 csrw mtvec,t0
80000110: 30205073 csrwi medeleg,0
80000114: 30305073 csrwi mideleg,0
80000118: 00000193 li gp,0
8000011c: 00000297 auipc t0,0x0
80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector>
80000124: 30529073 csrw mtvec,t0
80000128: 00100513 li a0,1
8000012c: 01f51513 slli a0,a0,0x1f
80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc>
80000134: 0ff0000f fence
80000138: 00100193 li gp,1
8000013c: 05d00893 li a7,93
80000140: 00000513 li a0,0
80000144: 00000073 ecall
80000148: 80000297 auipc t0,0x80000
8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000>
80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118>
80000154: 10529073 csrw stvec,t0
80000158: 0000b2b7 lui t0,0xb
8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
80000160: 30229073 csrw medeleg,t0
80000164: 30005073 csrwi mstatus,0
80000168: 00002537 lui a0,0x2
8000016c: 30052073 csrs mstatus,a0
80000170: 00305073 csrwi fcsr,0
80000174: 00000297 auipc t0,0x0
80000178: 01428293 addi t0,t0,20 # 80000188 <test_2>
8000017c: 34129073 csrw mepc,t0
80000180: f1402573 csrr a0,mhartid
80000184: 30200073 mret
80000188 <test_2>:
80000188: 00002597 auipc a1,0x2
8000018c: e7858593 addi a1,a1,-392 # 80002000 <begin_signature>
80000190: 0045a087 flw ft1,4(a1)
80000194: 0015aa27 fsw ft1,20(a1)
80000198: 0145a503 lw a0,20(a1)
8000019c: 400003b7 lui t2,0x40000
800001a0: 00200193 li gp,2
800001a4: 02751463 bne a0,t2,800001cc <fail>
800001a8 <test_3>:
800001a8: 00002597 auipc a1,0x2
800001ac: e5858593 addi a1,a1,-424 # 80002000 <begin_signature>
800001b0: 0005a087 flw ft1,0(a1)
800001b4: 0015ac27 fsw ft1,24(a1)
800001b8: 0185a503 lw a0,24(a1)
800001bc: bf8003b7 lui t2,0xbf800
800001c0: 00300193 li gp,3
800001c4: 00751463 bne a0,t2,800001cc <fail>
800001c8: 02301063 bne zero,gp,800001e8 <pass>
800001cc <fail>:
800001cc: 0ff0000f fence
800001d0: 00018063 beqz gp,800001d0 <fail+0x4>
800001d4: 00119193 slli gp,gp,0x1
800001d8: 0011e193 ori gp,gp,1
800001dc: 05d00893 li a7,93
800001e0: 00018513 mv a0,gp
800001e4: 00000073 ecall
800001e8 <pass>:
800001e8: 0ff0000f fence
800001ec: 00100193 li gp,1
800001f0: 05d00893 li a7,93
800001f4: 00000513 li a0,0
800001f8: 00000073 ecall
800001fc: c0001073 unimp
80000200: 0000 unimp
80000202: 0000 unimp
Disassembly of section .data:
80002000 <begin_signature>:
80002000: 0000 unimp
80002002: bf80 fsd fs0,56(a5)
80002004: 0000 unimp
80002006: 4000 lw s0,0(s0)
80002008: 0000 unimp
8000200a: 4040 lw s0,4(s0)
8000200c: 0000 unimp
8000200e: c080 sw s0,0(s1)
80002010: deadbeef jal t4,7ffdd5fa <_start-0x22a06>
80002014: babe fsd fa5,368(sp)
80002016: cafe sw t6,84(sp)
80002018: 1dea slli s11,s11,0x3a
8000201a: abad j 80002594 <_end+0x574>
8000201c: d00d beqz s0,80001f3e <fromhost+0xefe>
8000201e: lui t1,0x1

View File

@ -0,0 +1,360 @@
rv32uf-p-move: 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: 00000093 li ra,0
80000050: 00000113 li sp,0
80000054: 00000193 li gp,0
80000058: 00000213 li tp,0
8000005c: 00000293 li t0,0
80000060: 00000313 li t1,0
80000064: 00000393 li t2,0
80000068: 00000413 li s0,0
8000006c: 00000493 li s1,0
80000070: 00000513 li a0,0
80000074: 00000593 li a1,0
80000078: 00000613 li a2,0
8000007c: 00000693 li a3,0
80000080: 00000713 li a4,0
80000084: 00000793 li a5,0
80000088: 00000813 li a6,0
8000008c: 00000893 li a7,0
80000090: 00000913 li s2,0
80000094: 00000993 li s3,0
80000098: 00000a13 li s4,0
8000009c: 00000a93 li s5,0
800000a0: 00000b13 li s6,0
800000a4: 00000b93 li s7,0
800000a8: 00000c13 li s8,0
800000ac: 00000c93 li s9,0
800000b0: 00000d13 li s10,0
800000b4: 00000d93 li s11,0
800000b8: 00000e13 li t3,0
800000bc: 00000e93 li t4,0
800000c0: 00000f13 li t5,0
800000c4: 00000f93 li t6,0
800000c8: f1402573 csrr a0,mhartid
800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80>
800000d0: 00000297 auipc t0,0x0
800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94>
800000d8: 30529073 csrw mtvec,t0
800000dc: 18005073 csrwi satp,0
800000e0: 00000297 auipc t0,0x0
800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4>
800000e8: 30529073 csrw mtvec,t0
800000ec: 800002b7 lui t0,0x80000
800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff>
800000f4: 3b029073 csrw pmpaddr0,t0
800000f8: 01f00293 li t0,31
800000fc: 3a029073 csrw pmpcfg0,t0
80000100: 30405073 csrwi mie,0
80000104: 00000297 auipc t0,0x0
80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc>
8000010c: 30529073 csrw mtvec,t0
80000110: 30205073 csrwi medeleg,0
80000114: 30305073 csrwi mideleg,0
80000118: 00000193 li gp,0
8000011c: 00000297 auipc t0,0x0
80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector>
80000124: 30529073 csrw mtvec,t0
80000128: 00100513 li a0,1
8000012c: 01f51513 slli a0,a0,0x1f
80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc>
80000134: 0ff0000f fence
80000138: 00100193 li gp,1
8000013c: 05d00893 li a7,93
80000140: 00000513 li a0,0
80000144: 00000073 ecall
80000148: 80000297 auipc t0,0x80000
8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000>
80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118>
80000154: 10529073 csrw stvec,t0
80000158: 0000b2b7 lui t0,0xb
8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
80000160: 30229073 csrw medeleg,t0
80000164: 30005073 csrwi mstatus,0
80000168: 00002537 lui a0,0x2
8000016c: 30052073 csrs mstatus,a0
80000170: 00305073 csrwi fcsr,0
80000174: 00000297 auipc t0,0x0
80000178: 01428293 addi t0,t0,20 # 80000188 <test_2>
8000017c: 34129073 csrw mepc,t0
80000180: f1402573 csrr a0,mhartid
80000184: 30200073 mret
80000188 <test_2>:
80000188: 0030d073 csrwi fcsr,1
8000018c: 00001537 lui a0,0x1
80000190: 23450513 addi a0,a0,564 # 1234 <_start-0x7fffedcc>
80000194: 003515f3 fscsr a1,a0
80000198: 00100393 li t2,1
8000019c: 00200193 li gp,2
800001a0: 26759c63 bne a1,t2,80000418 <fail>
800001a4 <test_3>:
800001a4: 00302573 frcsr a0
800001a8: 03400393 li t2,52
800001ac: 00300193 li gp,3
800001b0: 26751463 bne a0,t2,80000418 <fail>
800001b4 <test_4>:
800001b4: 00102573 frflags a0
800001b8: 01400393 li t2,20
800001bc: 00400193 li gp,4
800001c0: 24751c63 bne a0,t2,80000418 <fail>
800001c4 <test_5>:
800001c4: 00215573 fsrmi a0,2
800001c8: 00100393 li t2,1
800001cc: 00500193 li gp,5
800001d0: 24751463 bne a0,t2,80000418 <fail>
800001d4 <test_6>:
800001d4: 00302573 frcsr a0
800001d8: 05400393 li t2,84
800001dc: 00600193 li gp,6
800001e0: 22751c63 bne a0,t2,80000418 <fail>
800001e4 <test_7>:
800001e4: 00127573 csrrci a0,fflags,4
800001e8: 01400393 li t2,20
800001ec: 00700193 li gp,7
800001f0: 22751463 bne a0,t2,80000418 <fail>
800001f4 <test_8>:
800001f4: 00302573 frcsr a0
800001f8: 05000393 li t2,80
800001fc: 00800193 li gp,8
80000200: 20751c63 bne a0,t2,80000418 <fail>
80000204 <test_10>:
80000204: 123455b7 lui a1,0x12345
80000208: 67858593 addi a1,a1,1656 # 12345678 <_start-0x6dcba988>
8000020c: 00000613 li a2,0
80000210: f00580d3 fmv.w.x ft1,a1
80000214: f0060153 fmv.w.x ft2,a2
80000218: 20208053 fsgnj.s ft0,ft1,ft2
8000021c: e0000553 fmv.x.w a0,ft0
80000220: 123453b7 lui t2,0x12345
80000224: 67838393 addi t2,t2,1656 # 12345678 <_start-0x6dcba988>
80000228: 00a00193 li gp,10
8000022c: 1e751663 bne a0,t2,80000418 <fail>
80000230 <test_11>:
80000230: 123455b7 lui a1,0x12345
80000234: 67858593 addi a1,a1,1656 # 12345678 <_start-0x6dcba988>
80000238: fff00613 li a2,-1
8000023c: f00580d3 fmv.w.x ft1,a1
80000240: f0060153 fmv.w.x ft2,a2
80000244: 20208053 fsgnj.s ft0,ft1,ft2
80000248: e0000553 fmv.x.w a0,ft0
8000024c: 923453b7 lui t2,0x92345
80000250: 67838393 addi t2,t2,1656 # 92345678 <_end+0x12343678>
80000254: 00b00193 li gp,11
80000258: 1c751063 bne a0,t2,80000418 <fail>
8000025c <test_12>:
8000025c: 923455b7 lui a1,0x92345
80000260: 67858593 addi a1,a1,1656 # 92345678 <_end+0x12343678>
80000264: 00000613 li a2,0
80000268: f00580d3 fmv.w.x ft1,a1
8000026c: f0060153 fmv.w.x ft2,a2
80000270: 20208053 fsgnj.s ft0,ft1,ft2
80000274: e0000553 fmv.x.w a0,ft0
80000278: 123453b7 lui t2,0x12345
8000027c: 67838393 addi t2,t2,1656 # 12345678 <_start-0x6dcba988>
80000280: 00c00193 li gp,12
80000284: 18751a63 bne a0,t2,80000418 <fail>
80000288 <test_13>:
80000288: 923455b7 lui a1,0x92345
8000028c: 67858593 addi a1,a1,1656 # 92345678 <_end+0x12343678>
80000290: fff00613 li a2,-1
80000294: f00580d3 fmv.w.x ft1,a1
80000298: f0060153 fmv.w.x ft2,a2
8000029c: 20208053 fsgnj.s ft0,ft1,ft2
800002a0: e0000553 fmv.x.w a0,ft0
800002a4: 923453b7 lui t2,0x92345
800002a8: 67838393 addi t2,t2,1656 # 92345678 <_end+0x12343678>
800002ac: 00d00193 li gp,13
800002b0: 16751463 bne a0,t2,80000418 <fail>
800002b4 <test_20>:
800002b4: 123455b7 lui a1,0x12345
800002b8: 67858593 addi a1,a1,1656 # 12345678 <_start-0x6dcba988>
800002bc: 00000613 li a2,0
800002c0: f00580d3 fmv.w.x ft1,a1
800002c4: f0060153 fmv.w.x ft2,a2
800002c8: 20209053 fsgnjn.s ft0,ft1,ft2
800002cc: e0000553 fmv.x.w a0,ft0
800002d0: 923453b7 lui t2,0x92345
800002d4: 67838393 addi t2,t2,1656 # 92345678 <_end+0x12343678>
800002d8: 01400193 li gp,20
800002dc: 12751e63 bne a0,t2,80000418 <fail>
800002e0 <test_21>:
800002e0: 123455b7 lui a1,0x12345
800002e4: 67858593 addi a1,a1,1656 # 12345678 <_start-0x6dcba988>
800002e8: fff00613 li a2,-1
800002ec: f00580d3 fmv.w.x ft1,a1
800002f0: f0060153 fmv.w.x ft2,a2
800002f4: 20209053 fsgnjn.s ft0,ft1,ft2
800002f8: e0000553 fmv.x.w a0,ft0
800002fc: 123453b7 lui t2,0x12345
80000300: 67838393 addi t2,t2,1656 # 12345678 <_start-0x6dcba988>
80000304: 01500193 li gp,21
80000308: 10751863 bne a0,t2,80000418 <fail>
8000030c <test_22>:
8000030c: 923455b7 lui a1,0x92345
80000310: 67858593 addi a1,a1,1656 # 92345678 <_end+0x12343678>
80000314: 00000613 li a2,0
80000318: f00580d3 fmv.w.x ft1,a1
8000031c: f0060153 fmv.w.x ft2,a2
80000320: 20209053 fsgnjn.s ft0,ft1,ft2
80000324: e0000553 fmv.x.w a0,ft0
80000328: 923453b7 lui t2,0x92345
8000032c: 67838393 addi t2,t2,1656 # 92345678 <_end+0x12343678>
80000330: 01600193 li gp,22
80000334: 0e751263 bne a0,t2,80000418 <fail>
80000338 <test_23>:
80000338: 923455b7 lui a1,0x92345
8000033c: 67858593 addi a1,a1,1656 # 92345678 <_end+0x12343678>
80000340: fff00613 li a2,-1
80000344: f00580d3 fmv.w.x ft1,a1
80000348: f0060153 fmv.w.x ft2,a2
8000034c: 20209053 fsgnjn.s ft0,ft1,ft2
80000350: e0000553 fmv.x.w a0,ft0
80000354: 123453b7 lui t2,0x12345
80000358: 67838393 addi t2,t2,1656 # 12345678 <_start-0x6dcba988>
8000035c: 01700193 li gp,23
80000360: 0a751c63 bne a0,t2,80000418 <fail>
80000364 <test_30>:
80000364: 123455b7 lui a1,0x12345
80000368: 67858593 addi a1,a1,1656 # 12345678 <_start-0x6dcba988>
8000036c: 00000613 li a2,0
80000370: f00580d3 fmv.w.x ft1,a1
80000374: f0060153 fmv.w.x ft2,a2
80000378: 2020a053 fsgnjx.s ft0,ft1,ft2
8000037c: e0000553 fmv.x.w a0,ft0
80000380: 123453b7 lui t2,0x12345
80000384: 67838393 addi t2,t2,1656 # 12345678 <_start-0x6dcba988>
80000388: 01e00193 li gp,30
8000038c: 08751663 bne a0,t2,80000418 <fail>
80000390 <test_31>:
80000390: 123455b7 lui a1,0x12345
80000394: 67858593 addi a1,a1,1656 # 12345678 <_start-0x6dcba988>
80000398: fff00613 li a2,-1
8000039c: f00580d3 fmv.w.x ft1,a1
800003a0: f0060153 fmv.w.x ft2,a2
800003a4: 2020a053 fsgnjx.s ft0,ft1,ft2
800003a8: e0000553 fmv.x.w a0,ft0
800003ac: 923453b7 lui t2,0x92345
800003b0: 67838393 addi t2,t2,1656 # 92345678 <_end+0x12343678>
800003b4: 01f00193 li gp,31
800003b8: 06751063 bne a0,t2,80000418 <fail>
800003bc <test_32>:
800003bc: 923455b7 lui a1,0x92345
800003c0: 67858593 addi a1,a1,1656 # 92345678 <_end+0x12343678>
800003c4: 00000613 li a2,0
800003c8: f00580d3 fmv.w.x ft1,a1
800003cc: f0060153 fmv.w.x ft2,a2
800003d0: 2020a053 fsgnjx.s ft0,ft1,ft2
800003d4: e0000553 fmv.x.w a0,ft0
800003d8: 923453b7 lui t2,0x92345
800003dc: 67838393 addi t2,t2,1656 # 92345678 <_end+0x12343678>
800003e0: 02000193 li gp,32
800003e4: 02751a63 bne a0,t2,80000418 <fail>
800003e8 <test_33>:
800003e8: 923455b7 lui a1,0x92345
800003ec: 67858593 addi a1,a1,1656 # 92345678 <_end+0x12343678>
800003f0: fff00613 li a2,-1
800003f4: f00580d3 fmv.w.x ft1,a1
800003f8: f0060153 fmv.w.x ft2,a2
800003fc: 2020a053 fsgnjx.s ft0,ft1,ft2
80000400: e0000553 fmv.x.w a0,ft0
80000404: 123453b7 lui t2,0x12345
80000408: 67838393 addi t2,t2,1656 # 12345678 <_start-0x6dcba988>
8000040c: 02100193 li gp,33
80000410: 00751463 bne a0,t2,80000418 <fail>
80000414: 02301063 bne zero,gp,80000434 <pass>
80000418 <fail>:
80000418: 0ff0000f fence
8000041c: 00018063 beqz gp,8000041c <fail+0x4>
80000420: 00119193 slli gp,gp,0x1
80000424: 0011e193 ori gp,gp,1
80000428: 05d00893 li a7,93
8000042c: 00018513 mv a0,gp
80000430: 00000073 ecall
80000434 <pass>:
80000434: 0ff0000f fence
80000438: 00100193 li gp,1
8000043c: 05d00893 li a7,93
80000440: 00000513 li a0,0
80000444: 00000073 ecall
80000448: c0001073 unimp
8000044c: 0000 unimp
8000044e: 0000 unimp
80000450: 0000 unimp
80000452: 0000 unimp
80000454: 0000 unimp
80000456: 0000 unimp
80000458: 0000 unimp
8000045a: 0000 unimp
8000045c: 0000 unimp
8000045e: 0000 unimp
80000460: 0000 unimp
80000462: 0000 unimp
80000464: 0000 unimp
80000466: 0000 unimp
80000468: 0000 unimp
8000046a: 0000 unimp
8000046c: 0000 unimp
8000046e: 0000 unimp
80000470: 0000 unimp
80000472: 0000 unimp
80000474: 0000 unimp
80000476: 0000 unimp
80000478: 0000 unimp
8000047a: 0000 unimp
8000047c: 0000 unimp
8000047e: 0000 unimp
80000480: 0000 unimp
80000482: 0000 unimp

View File

@ -0,0 +1,190 @@
rv32uf-p-recoding: 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: 00000093 li ra,0
80000050: 00000113 li sp,0
80000054: 00000193 li gp,0
80000058: 00000213 li tp,0
8000005c: 00000293 li t0,0
80000060: 00000313 li t1,0
80000064: 00000393 li t2,0
80000068: 00000413 li s0,0
8000006c: 00000493 li s1,0
80000070: 00000513 li a0,0
80000074: 00000593 li a1,0
80000078: 00000613 li a2,0
8000007c: 00000693 li a3,0
80000080: 00000713 li a4,0
80000084: 00000793 li a5,0
80000088: 00000813 li a6,0
8000008c: 00000893 li a7,0
80000090: 00000913 li s2,0
80000094: 00000993 li s3,0
80000098: 00000a13 li s4,0
8000009c: 00000a93 li s5,0
800000a0: 00000b13 li s6,0
800000a4: 00000b93 li s7,0
800000a8: 00000c13 li s8,0
800000ac: 00000c93 li s9,0
800000b0: 00000d13 li s10,0
800000b4: 00000d93 li s11,0
800000b8: 00000e13 li t3,0
800000bc: 00000e93 li t4,0
800000c0: 00000f13 li t5,0
800000c4: 00000f93 li t6,0
800000c8: f1402573 csrr a0,mhartid
800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80>
800000d0: 00000297 auipc t0,0x0
800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94>
800000d8: 30529073 csrw mtvec,t0
800000dc: 18005073 csrwi satp,0
800000e0: 00000297 auipc t0,0x0
800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4>
800000e8: 30529073 csrw mtvec,t0
800000ec: 800002b7 lui t0,0x80000
800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfef>
800000f4: 3b029073 csrw pmpaddr0,t0
800000f8: 01f00293 li t0,31
800000fc: 3a029073 csrw pmpcfg0,t0
80000100: 30405073 csrwi mie,0
80000104: 00000297 auipc t0,0x0
80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc>
8000010c: 30529073 csrw mtvec,t0
80000110: 30205073 csrwi medeleg,0
80000114: 30305073 csrwi mideleg,0
80000118: 00000193 li gp,0
8000011c: 00000297 auipc t0,0x0
80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector>
80000124: 30529073 csrw mtvec,t0
80000128: 00100513 li a0,1
8000012c: 01f51513 slli a0,a0,0x1f
80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc>
80000134: 0ff0000f fence
80000138: 00100193 li gp,1
8000013c: 05d00893 li a7,93
80000140: 00000513 li a0,0
80000144: 00000073 ecall
80000148: 80000297 auipc t0,0x80000
8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000>
80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118>
80000154: 10529073 csrw stvec,t0
80000158: 0000b2b7 lui t0,0xb
8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7>
80000160: 30229073 csrw medeleg,t0
80000164: 30005073 csrwi mstatus,0
80000168: 00002537 lui a0,0x2
8000016c: 30052073 csrs mstatus,a0
80000170: 00305073 csrwi fcsr,0
80000174: 00000297 auipc t0,0x0
80000178: 01428293 addi t0,t0,20 # 80000188 <reset_vector+0x13c>
8000017c: 34129073 csrw mepc,t0
80000180: f1402573 csrr a0,mhartid
80000184: 30200073 mret
80000188: 00002517 auipc a0,0x2
8000018c: e7852007 flw ft0,-392(a0) # 80002000 <begin_signature>
80000190: 00002517 auipc a0,0x2
80000194: e7452087 flw ft1,-396(a0) # 80002004 <three>
80000198: 1000f0d3 fmul.s ft1,ft1,ft0
8000019c <test_2>:
8000019c: a0102553 feq.s a0,ft0,ft1
800001a0: 00100393 li t2,1
800001a4: 00200193 li gp,2
800001a8: 06751463 bne a0,t2,80000210 <fail>
800001ac <test_3>:
800001ac: a0100553 fle.s a0,ft0,ft1
800001b0: 00100393 li t2,1
800001b4: 00300193 li gp,3
800001b8: 04751c63 bne a0,t2,80000210 <fail>
800001bc <test_4>:
800001bc: a0101553 flt.s a0,ft0,ft1
800001c0: 00000393 li t2,0
800001c4: 00400193 li gp,4
800001c8: 04751463 bne a0,t2,80000210 <fail>
800001cc: d0007053 fcvt.s.w ft0,zero
800001d0: 00100513 li a0,1
800001d4: d00570d3 fcvt.s.w ft1,a0
800001d8: 1000f0d3 fmul.s ft1,ft1,ft0
800001dc <test_5>:
800001dc: a0102553 feq.s a0,ft0,ft1
800001e0: 00100393 li t2,1
800001e4: 00500193 li gp,5
800001e8: 02751463 bne a0,t2,80000210 <fail>
800001ec <test_6>:
800001ec: a0100553 fle.s a0,ft0,ft1
800001f0: 00100393 li t2,1
800001f4: 00600193 li gp,6
800001f8: 00751c63 bne a0,t2,80000210 <fail>
800001fc <test_7>:
800001fc: a0101553 flt.s a0,ft0,ft1
80000200: 00000393 li t2,0
80000204: 00700193 li gp,7
80000208: 00751463 bne a0,t2,80000210 <fail>
8000020c: 02301063 bne zero,gp,8000022c <pass>
80000210 <fail>:
80000210: 0ff0000f fence
80000214: 00018063 beqz gp,80000214 <fail+0x4>
80000218: 00119193 slli gp,gp,0x1
8000021c: 0011e193 ori gp,gp,1
80000220: 05d00893 li a7,93
80000224: 00018513 mv a0,gp
80000228: 00000073 ecall
8000022c <pass>:
8000022c: 0ff0000f fence
80000230: 00100193 li gp,1
80000234: 05d00893 li a7,93
80000238: 00000513 li a0,0
8000023c: 00000073 ecall
80000240: c0001073 unimp
Disassembly of section .data:
80002000 <begin_signature>:
80002000: 0000 unimp
80002002: ff80 fsw fs0,56(a5)
80002004 <three>:
80002004: 0000 unimp
80002006: 4040 lw s0,4(s0)
80002008: 0000 unimp
8000200a: 0000 unimp
8000200c: 0000 unimp
8000200e: 0000 unimp

View File

@ -0,0 +1,83 @@
:0200000480007A
:100000006F00C004732F2034930F8000630AFF0336
:10001000930F90006306FF03930FB0006302FF038A
:10002000170F0080130F0FFE63040F0067000F000F
:10003000732F203463540F006F00400093E19153FD
:10004000171F000023203FFC6FF09FFF930000006C
:10005000130100009301000013020000930200004E
:100060001303000093030000130400009304000036
:10007000130500009305000013060000930600001E
:100080001307000093070000130800009308000006
:100090001309000093090000130A0000930A0000EE
:1000A000130B0000930B0000130C0000930C0000D6
:1000B000130D0000930D0000130E0000930E0000BE
:1000C000130F0000930F0000732540F1631005002B
:1000D000970200009382020173905230735000180F
:1000E000970200009382020273905230B7020080A0
:1000F0009382F2FF7390023B9302F0017390023AF5
:100100007350403097020000938242017390523046
:10011000735020307350303093010000970200007C
:10012000938282EE73905230130510001315F5017F
:10013000634C05000F00F00F930110009308D005E9
:10014000130500007300000097020080938282EB89
:10015000638A020073905210B7B20000938292102B
:100160007390223073500030372500007320053023
:100170007350300097020000938242017390123452
:10018000732540F1730020309301200017250000F3
:10019000130545E707200500872045000721850056
:1001A0008326C500D3711000538501E0F3151000BC
:1001B000130600006310D51E639EC51C930130001A
:1001C00017250000130505E50720050087204500D9
:1001D000072185008326C500D3711000538501E0F7
:1001E000F3151000130610006316D51A6394C51A90
:1001F00093014000172500001305C5E20720050004
:1002000087204500072185008326C500D371100093
:10021000538501E0F315100013061000631CD5167A
:10022000639AC5169301500017250000130585E059
:100230000720050087204500072185008326C5008B
:10024000D3711008538501E0F31510001306000068
:100250006312D5146390C514930160001725000044
:10026000130545DE0720050087204500072185008E
:100270008326C500D3711008538501E0F3151000E3
:10028000130610006318D5106396C5109301700013
:1002900017250000130505DC072005008720450011
:1002A000072185008326C500D3711008538501E01E
:1002B000F315100013061000631ED50C639CC50CCB
:1002C00093018000172500001305C5D907200500FC
:1002D00087204500072185008326C500D3711010B3
:1002E000538501E0F3151000130600006314D50ACE
:1002F0006392C50A9301900017250000130585D766
:100300000720050087204500072185008326C500BA
:10031000D3711010538501E0F3151000130610007F
:10032000631AD5066398C5069301A000172500003F
:10033000130545D5072005008720450007218500C6
:100340008326C500D3711010538501E0F31510000A
:10035000130610006310D504639EC5029301B0001C
:1003600017250000130505D3072005008720450049
:10037000072185008326C500D3711008538501E04D
:10038000F3151000130600016316D5006394C50031
:10039000631030020F00F00F638001009391110091
:1003A00093E111009308D00513850100730000004C
:1003B0000F00F00F930110009308D0051305000003
:1003C00073000000731000C0000000000000000077
:1003D000000000000000000000000000000000001D
:1003E000000000000000000000000000000000000D
:1003F00000000000000000000000000000000000FD
:0404000000000000F8
:1010000000000000000000000000000000000000E0
:1010100000000000000000000000000000000000D0
:1010200000000000000000000000000000000000C0
:1010300000000000000000000000000000000000B0
:081040000000000000000000A8
:10200000000020400000803F000000000000604011
:1020100033639AC4CDCC8C3F0000000000409AC4CA
:10202000DB0F494077CC2B3200000000DB0F49402A
:10203000000020400000803F000000000000C03F82
:1020400033639AC4CDCC8CBF0000000000409AC41A
:10205000DB0F494077CC2B3200000000DB0F4940FA
:10206000000020400000803F0000000000002040F1
:1020700033639AC4CDCC8CBF0000000085D3A94443
:10208000DB0F494077CC2B32000000002DEE0633E9
:102090000000807F0000807F000000000000C07F03
:040000058000000077
:00000001FF

View File

@ -0,0 +1,53 @@
:0200000480007A
:100000006F00C004732F2034930F8000630AFF0336
:10001000930F90006306FF03930FB0006302FF038A
:10002000170F0080130F0FFE63040F0067000F000F
:10003000732F203463540F006F00400093E19153FD
:10004000171F000023203FFC6FF09FFF930000006C
:10005000130100009301000013020000930200004E
:100060001303000093030000130400009304000036
:10007000130500009305000013060000930600001E
:100080001307000093070000130800009308000006
:100090001309000093090000130A0000930A0000EE
:1000A000130B0000930B0000130C0000930C0000D6
:1000B000130D0000930D0000130E0000930E0000BE
:1000C000130F0000930F0000732540F1631005002B
:1000D000970200009382020173905230735000180F
:1000E000970200009382020273905230B7020080A0
:1000F0009382F2FF7390023B9302F0017390023AF5
:100100007350403097020000938242017390523046
:10011000735020307350303093010000970200007C
:10012000938282EE73905230130510001315F5017F
:10013000634C05000F00F00F930110009308D005E9
:10014000130500007300000097020080938282EB89
:10015000638A020073905210B7B20000938292102B
:100160007390223073500030372500007320053023
:100170007350300097020000938242017390123452
:10018000732540F173002030370580FF530505F0DB
:10019000531505E093031000930120006316750EBC
:1001A000370580BF530505F0531505E09303200084
:1001B00093013000631A750C370580801305F5FF35
:1001C000530505F0531505E09303400093014000EB
:1001D000631C750A37050080530505F0531505E0CB
:1001E00093038000930150006310750A130500000B
:1001F000530505F0531505E09303000193016000DA
:1002000063147508370580001305F5FF530505F0E5
:10021000531505E093030002930170006316750601
:100220003705803F530505F0531505E0930300049F
:1002300093018000631A75043705807F530505F02C
:10024000531505E09303000893019000631E7502A7
:100250003705807F13051500530505F0531505E09C
:10026000930300109301A000631075023705C07F4F
:10027000530505F0531505E0930300209301B000EA
:1002800063147500631030020F00F00F63800100EB
:100290009391110093E111009308D005138501009B
:1002A000730000000F00F00F930110009308D005B9
:1002B0001305000073000000731000C00000000070
:0402C000000000003A
:1010000000000000000000000000000000000000E0
:1010100000000000000000000000000000000000D0
:1010200000000000000000000000000000000000C0
:1010300000000000000000000000000000000000B0
:081040000000000000000000A8
:040000058000000077
:00000001FF

View File

@ -0,0 +1,100 @@
:0200000480007A
:100000006F00C004732F2034930F8000630AFF0336
:10001000930F90006306FF03930FB0006302FF038A
:10002000170F0080130F0FFE63040F0067000F000F
:10003000732F203463540F006F00400093E19153FD
:10004000171F000023203FFC6FF09FFF930000006C
:10005000130100009301000013020000930200004E
:100060001303000093030000130400009304000036
:10007000130500009305000013060000930600001E
:100080001307000093070000130800009308000006
:100090001309000093090000130A0000930A0000EE
:1000A000130B0000930B0000130C0000930C0000D6
:1000B000130D0000930D0000130E0000930E0000BE
:1000C000130F0000930F0000732540F1631005002B
:1000D000970200009382020173905230735000180F
:1000E000970200009382020273905230B7020080A0
:1000F0009382F2FF7390023B9302F0017390023AF5
:100100007350403097020000938242017390523046
:10011000735020307350303093010000970200007C
:10012000938282EE73905230130510001315F5017F
:10013000634C05000F00F00F930110009308D005E9
:10014000130500007300000097020080938282EB89
:10015000638A020073905210B7B20000938292102B
:100160007390223073500030372500007320053023
:100170007350300097020000938242017390123452
:10018000732540F1730020309301200017250000F3
:10019000130545E707200500872045000721850056
:1001A0008326C500532510A0F31510001306000088
:1001B0006316D52A6394C52A9301300017250000E1
:1001C000130545E507200500872045000721850028
:1001D0008326C500530510A0F31510001306000078
:1001E000631ED526639CC526930140001725000099
:1001F000130545E3072005008720450007218500FA
:100200008326C500531510A0F31510001306000037
:100210006316D5246394C52493015000172500006C
:10022000130545E1072005008720450007218500CB
:100230008326C500532510A0F315100013060000F7
:10024000631ED520639CC520930160001725000024
:10025000130545DF0720050087204500072185009D
:100260008326C500530510A0F315100013060000E7
:100270006316D51E6394C51E9301700017250000F8
:10028000130545DD0720050087204500072185006F
:100290008326C500531510A0F315100013060000A7
:1002A000631ED51A639CC51A9301800017250000B0
:1002B000130545DB07200500872045000721850041
:1002C0008326C500532510A0F31510001306000067
:1002D0006316D5186394C518930190001725000084
:1002E000130545D907200500872045000721850013
:1002F0008326C500532510A0F31510001306000037
:10030000631ED514639CC5149301A000172500003B
:10031000130545D7072005008720450007218500E4
:100320008326C500532510A0F31510001306000105
:100330006316D5126394C5129301B000172500000F
:10034000130545D5072005008720450007218500B6
:100350008326C500531510A0F315100013060001E5
:10036000631ED50E639CC50E9301C00017250000C7
:10037000130545D307200500872045000721850088
:100380008326C500531510A0F315100013060001B5
:100390006316D50C6394C50C9301D000172500009B
:1003A000130545D10720050087204500072185005A
:1003B0008326C500531510A0F31510001306000185
:1003C000631ED508639CC5089301E0001725000053
:1003D000130545CF0720050087204500072185002C
:1003E0008326C500530510A0F31510001306000165
:1003F0006316D5066394C5069301F0001725000027
:10040000130545CD072005008720450007218500FD
:100410008326C500530510A0F31510001306000134
:10042000631ED502639CC5029301000117250000DD
:10043000130545CB072005008720450007218500CF
:100440008326C500530510A0F31510001306000104
:100450006316D5006394C500631030020F00F00FDF
:10046000638001009391110093E111009308D0057E
:1004700013850100730000000F00F00F93011000BE
:100480009308D0051305000073000000731000C02E
:10049000000000000000000000000000000000005C
:1004A000000000000000000000000000000000004C
:1004B000000000000000000000000000000000003C
:0404C0000000000038
:1010000000000000000000000000000000000000E0
:1010100000000000000000000000000000000000D0
:1010200000000000000000000000000000000000C0
:1010300000000000000000000000000000000000B0
:081040000000000000000000A8
:102000007B14AEBF7B14AEBF0000000001000000D7
:102010007B14AEBF7B14AEBF0000000001000000C7
:102020007B14AEBF7B14AEBF0000000000000000B8
:10203000295CAFBF7B14AEBF0000000000000000B1
:10204000295CAFBF7B14AEBF0000000001000000A0
:10205000295CAFBF7B14AEBF000000000100000090
:10206000FFFFFF7F000000000000000000000000F4
:10207000FFFFFF7FFFFFFF7F000000000000000068
:102080000100807F00000000000000000000000050
:10209000FFFFFF7F000000000000000000000000C4
:1020A000FFFFFF7FFFFFFF7F000000000000000038
:1020B0000100807F00000000000000000000000020
:1020C000FFFFFF7F00000000000000000000000094
:1020D000FFFFFF7FFFFFFF7F000000000000000008
:1020E0000100807F000000000000000000000000F0
:040000058000000077
:00000001FF

View File

@ -0,0 +1,50 @@
:0200000480007A
:100000006F00C004732F2034930F8000630AFF0336
:10001000930F90006306FF03930FB0006302FF038A
:10002000170F0080130F0FFE63040F0067000F000F
:10003000732F203463540F006F00400093E19153FD
:10004000171F000023203FFC6FF09FFF930000006C
:10005000130100009301000013020000930200004E
:100060001303000093030000130400009304000036
:10007000130500009305000013060000930600001E
:100080001307000093070000130800009308000006
:100090001309000093090000130A0000930A0000EE
:1000A000130B0000930B0000130C0000930C0000D6
:1000B000130D0000930D0000130E0000930E0000BE
:1000C000130F0000930F0000732540F1631005002B
:1000D000970200009382020173905230735000180F
:1000E000970200009382020273905230B7020080A0
:1000F0009382F2FF7390023B9302F0017390023AF5
:100100007350403097020000938242017390523046
:10011000735020307350303093010000970200007C
:10012000938282EE73905230130510001315F5017F
:10013000634C05000F00F00F930110009308D005E9
:10014000130500007300000097020080938282EB89
:10015000638A020073905210B7B20000938292102B
:100160007390223073500030372500007320053023
:100170007350300097020000938242017390123452
:10018000732540F1730020309301200017250000F3
:10019000130545E78326050013052000537005D09D
:1001A00073101000530500E0631AD5069301300068
:1001B00017250000130545E5832605001305E0FF1C
:1001C000537005D073101000530500E06318D50478
:1001D0009301400017250000130545E38326050021
:1001E00013052000537015D073101000530500E064
:1001F0006316D5029301500017250000130545E151
:10020000832605001305E0FF537015D0731010000E
:10021000530500E06314D500631030020F00F00FA7
:10022000638001009391110093E111009308D005C0
:1002300013850100730000000F00F00F9301100000
:100240009308D0051305000073000000731000C070
:10025000000000000000000000000000000000009E
:10026000000000000000000000000000000000008E
:10027000000000000000000000000000000000007E
:04028000000000007A
:1010000000000000000000000000000000000000E0
:1010100000000000000000000000000000000000D0
:1010200000000000000000000000000000000000C0
:1010300000000000000000000000000000000000B0
:081040000000000000000000A8
:1020000000000040000000C0000000400000804FC1
:040000058000000077
:00000001FF

View File

@ -0,0 +1,120 @@
:0200000480007A
:100000006F00C004732F2034930F8000630AFF0336
:10001000930F90006306FF03930FB0006302FF038A
:10002000170F0080130F0FFE63040F0067000F000F
:10003000732F203463540F006F00400093E19153FD
:10004000171F000023203FFC6FF09FFF930000006C
:10005000130100009301000013020000930200004E
:100060001303000093030000130400009304000036
:10007000130500009305000013060000930600001E
:100080001307000093070000130800009308000006
:100090001309000093090000130A0000930A0000EE
:1000A000130B0000930B0000130C0000930C0000D6
:1000B000130D0000930D0000130E0000930E0000BE
:1000C000130F0000930F0000732540F1631005002B
:1000D000970200009382020173905230735000180F
:1000E000970200009382020273905230B7020080A0
:1000F0009382F2FF7390023B9302F0017390023AF5
:100100007350403097020000938242017390523046
:10011000735020307350303093010000970200007C
:10012000938282EE73905230130510001315F5017F
:10013000634C05000F00F00F930110009308D005E9
:10014000130500007300000097020080938282EB89
:10015000638A020073905210B7B20000938292102B
:100160007390223073500030372500007320053023
:100170007350300097020000938242017390123452
:10018000732540F1730020309301200017250000F3
:10019000130545E707200500872045000721850056
:1001A0008326C500531500C0F31510001306100078
:1001B0006314D53C6392C53C9301300017250000C1
:1001C000130545E507200500872045000721850028
:1001D0008326C500531500C0F31510001306000058
:1001E000631CD538639AC538930140001725000079
:1001F000130545E3072005008720450007218500FA
:100200008326C500531500C0F31510001306100017
:100210006314D5366392C53693015000172500004C
:10022000130545E1072005008720450007218500CB
:100230008326C500531500C0F315100013061000E7
:10024000631CD532639AC532930160001725000004
:10025000130545DF0720050087204500072185009D
:100260008326C500531500C0F315100013060000C7
:100270006314D5306392C5309301700017250000D8
:10028000130545DD0720050087204500072185006F
:100290008326C500531500C0F31510001306100087
:1002A000631CD52C639AC52C930180001725000090
:1002B000130545DB07200500872045000721850041
:1002C0008326C500531500C0F31510001306000166
:1002D0006314D52A6392C52A930190001725000064
:1002E000130545D907200500872045000721850013
:1002F0008326C500531500C0F31510001306000136
:10030000631CD526639AC5269301C00017250000FB
:10031000130545D7072005008720450007218500E4
:100320008326C500531510C0F315100013060001F5
:100330006314D5246392C5249301D00017250000CF
:10034000130545D5072005008720450007218500B6
:100350008326C500531510C0F315100013060001C5
:10036000631CD520639AC5209301E0001725000087
:10037000130545D307200500872045000721850088
:100380008326C500531510C0F31510001306100086
:100390006314D51E6392C51E9301F000172500005B
:1003A000130545D10720050087204500072185005A
:1003B0008326C500531510C0F31510001306100056
:1003C000631CD51A639AC51A930100011725000012
:1003D000130545CF0720050087204500072185002C
:1003E0008326C500531510C0F31510001306000036
:1003F0006314D5186392C5189301100117250000E6
:10040000130545CD072005008720450007218500FD
:100410008326C500531510C0F315100013061000F5
:10042000631CD514639AC51493012001172500009D
:10043000130545CB072005008720450007218500CF
:100440008326C500531510C0F315100013060001D4
:100450006314D5126392C512930130011725000071
:10046000130545C9072005008720450007218500A1
:100470008326C500531510C0F315100013060000A5
:10048000631CD50E639AC50E97200000938080C729
:1004900087A00000D3F000C0B70300809383F3FF70
:1004A0009301A002639A700C97200000938080C58E
:1004B00087A08000D3F000C0B70300809301C00282
:1004C000639C700A972000009380C0C387A04000FF
:1004D000D3F000C0B70300809383F3FF9301400380
:1004E000639C7008972000009380C0C187A0C00063
:1004F000D3F000C0B70300809383F3FF9301600340
:10050000639C7006972000009380C0BF87A0000006
:10051000D3F010C09303F0FF9301E003639E7004D7
:1005200097200000938000BE87A04000D3F010C049
:100530009303F0FF9301F003639070049720000091
:10054000938040BC87A08000D3F010C093030000CC
:10055000930100046392700297200000938080BA98
:1005600087A0C000D3F010C09303F0FF93011004E4
:1005700063947000631030020F00F00F638001007D
:100580009391110093E111009308D00513850100A8
:10059000730000000F00F00F930110009308D005C6
:1005A0001305000073000000731000C0000000007D
:1005B000000000000000000000000000000000003B
:0405C0000000000037
:1010000000000000000000000000000000000000E0
:1010100000000000000000000000000000000000D0
:1010200000000000000000000000000000000000C0
:1010300000000000000000000000000000000000B0
:081040000000000000000000A8
:10200000CDCC8CBF0000000000000000FFFFFFFFF0
:10201000000080BF0000000000000000FFFFFFFF85
:10202000666666BF000000000000000000000000BF
:102030006666663F0000000000000000000000002F
:102040000000803F000000000000000001000000D0
:10205000CDCC8C3F0000000000000000010000001B
:102060005ED032CF000000000000000000000080C1
:102070005ED0324F0000000000000000FFFFFF7F35
:10208000000040C000000000000000000000000050
:10209000000080BF00000000000000000000000001
:1020A000666666BF0000000000000000000000003F
:1020B0006666663F000000000000000000000000AF
:1020C0000000803F00000000000000000100000050
:1020D000CDCC8C3F0000000000000000010000009B
:1020E0005ED032CF000000000000000000000000C1
:1020F0005ED0324F0000000000000000005ED0B251
:10210000FFFFFFFFFFFFFF7F000080FF0000807FD9
:10211000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F4F
:10212000000000000000F0FF000000000000F07F51
:040000058000000077
:00000001FF

View File

@ -0,0 +1,69 @@
:0200000480007A
:100000006F00C004732F2034930F8000630AFF0336
:10001000930F90006306FF03930FB0006302FF038A
:10002000170F0080130F0FFE63040F0067000F000F
:10003000732F203463540F006F00400093E19153FD
:10004000171F000023203FFC6FF09FFF930000006C
:10005000130100009301000013020000930200004E
:100060001303000093030000130400009304000036
:10007000130500009305000013060000930600001E
:100080001307000093070000130800009308000006
:100090001309000093090000130A0000930A0000EE
:1000A000130B0000930B0000130C0000930C0000D6
:1000B000130D0000930D0000130E0000930E0000BE
:1000C000130F0000930F0000732540F1631005002B
:1000D000970200009382020173905230735000180F
:1000E000970200009382020273905230B7020080A0
:1000F0009382F2FF7390023B9302F0017390023AF5
:100100007350403097020000938242017390523046
:10011000735020307350303093010000970200007C
:10012000938282EE73905230130510001315F5017F
:10013000634C05000F00F00F930110009308D005E9
:10014000130500007300000097020080938282EB89
:10015000638A020073905210B7B20000938292102B
:100160007390223073500030372500007320053023
:100170007350300097020000938242017390123452
:10018000732540F1730020309301200017250000F3
:10019000130545E707200500872045000721850056
:1001A0008326C500D3711018538501E0F3151000A4
:1001B000130610006312D5146390C5149301300028
:1001C00017250000130505E50720050087204500D9
:1001D000072185008326C500D3711018538501E0DF
:1001E000F3151000130610006318D5106396C510A0
:1001F00093014000172500001305C5E20720050004
:1002000087204500072185008326C500D37110187B
:10021000538501E0F315100013060000631ED50C92
:10022000639CC50C9301500017250000130585E061
:100230000720050087204500072185008326C5008B
:10024000D3710058538501E0F31510001306100018
:100250006314D50A6392C50A930160001725000054
:10026000130545DE0720050087204500072185008E
:100270008326C500D3710058538501E0F3151000A3
:1002800013060000631AD5066398C5069301700033
:1002900017250000130505DC072005008720450011
:1002A000072185008326C500D3710058538501E0DE
:1002B000F3151000130600016310D504639EC502F8
:1002C0009301800017250000130505DA07200500BB
:1002D00087204500072185008326C500D37100587B
:1002E000538501E0F3151000130610006316D500C6
:1002F0006394C500631030020F00F00F63800100AB
:100300009391110093E111009308D005138501002A
:10031000730000000F00F00F930110009308D00548
:100320001305000073000000731000C000000000FF
:1003300000000000000000000000000000000000BD
:0403400000000000B9
:1010000000000000000000000000000000000000E0
:1010100000000000000000000000000000000000D0
:1010200000000000000000000000000000000000C0
:1010300000000000000000000000000000000000B0
:081040000000000000000000A8
:10200000DB0F494054F82D4000000000E0EE933F04
:1020100000409AC433639A4400000000A2C57FBF09
:10202000DB0F49400000803F00000000DB0F49400B
:10203000DB0F49400000000000000000C5DFE23F68
:1020400000401C4600000000000000000000C842E4
:10205000000080BF00000000000000000000C07F02
:102060000000000000002B43000000000000000002
:10207000263A51410000000000000000000000006E
:040000058000000077
:00000001FF

View File

@ -0,0 +1,89 @@
:0200000480007A
:100000006F00C004732F2034930F8000630AFF0336
:10001000930F90006306FF03930FB0006302FF038A
:10002000170F0080130F0FFE63040F0067000F000F
:10003000732F203463540F006F00400093E19153FD
:10004000171F000023203FFC6FF09FFF930000006C
:10005000130100009301000013020000930200004E
:100060001303000093030000130400009304000036
:10007000130500009305000013060000930600001E
:100080001307000093070000130800009308000006
:100090001309000093090000130A0000930A0000EE
:1000A000130B0000930B0000130C0000930C0000D6
:1000B000130D0000930D0000130E0000930E0000BE
:1000C000130F0000930F0000732540F1631005002B
:1000D000970200009382020173905230735000180F
:1000E000970200009382020273905230B7020080A0
:1000F0009382F2FF7390023B9302F0017390023AF5
:100100007350403097020000938242017390523046
:10011000735020307350303093010000970200007C
:10012000938282EE73905230130510001315F5017F
:10013000634C05000F00F00F930110009308D005E9
:10014000130500007300000097020080938282EB89
:10015000638A020073905210B7B20000938292102B
:100160007390223073500030372500007320053023
:100170007350300097020000938242017390123452
:10018000732540F1730020309301200017250000F3
:10019000130545E707200500872045000721850056
:1001A0008326C500C3711010538501E0F3151000BC
:1001B000130600006314D5246392C5249301300014
:1001C00017250000130505E50720050087204500D9
:1001D000072185008326C500C3711010538501E0F7
:1001E000F315100013061000631AD5206398C5207C
:1001F00093014000172500001305C5E20720050004
:1002000087204500072185008326C500C371101093
:10021000538501E0F3151000130600006310D51E8E
:10022000639EC51C9301500017250000130585E04F
:100230000720050087204500072185008326C5008B
:10024000CF711010538501E0F31510001306000064
:100250006316D51A6394C51A930160001725000030
:10026000130545DE0720050087204500072185008E
:100270008326C500CF711010538501E0F3151000DF
:1002800013061000631CD516639AC51693017000FF
:1002900017250000130505DC072005008720450011
:1002A000072185008326C500CF711010538501E01A
:1002B000F3151000130600006312D5146390C514E3
:1002C00093018000172500001305C5D907200500FC
:1002D00087204500072185008326C500C7711010BF
:1002E000538501E0F3151000130600006318D510C4
:1002F0006396C5109301900017250000130585D75C
:100300000720050087204500072185008326C500BA
:10031000C7711010538501E0F3151000130610008B
:10032000631ED50C639CC50C9301A000172500002B
:10033000130545D5072005008720450007218500C6
:100340008326C500C7711010538501E0F315100016
:10035000130600006314D50A6392C50A9301B00026
:1003600017250000130505D3072005008720450049
:10037000072185008326C500CB711010538501E04D
:10038000F315100013060000631AD5066398C5061E
:100390009301C000172500001305C5D007200500F4
:1003A00087204500072185008326C500CB711010EA
:1003B000538501E0F3151000130610006310D504F7
:1003C000639EC5029301D00017250000130585CE5A
:1003D0000720050087204500072185008326C500EA
:1003E000CB711010538501E0F315100013060000C7
:1003F0006316D5006394C500631030020F00F00F40
:10040000638001009391110093E111009308D005DE
:1004100013850100730000000F00F00F930110001E
:100420009308D0051305000073000000731000C08E
:1004300000000000000000000000000000000000BC
:0404400000000000B8
:1010000000000000000000000000000000000000E0
:1010100000000000000000000000000000000000D0
:1010200000000000000000000000000000000000C0
:1010300000000000000000000000000000000000B0
:081040000000000000000000A8
:102000000000803F000020400000803F0000604052
:10201000000080BF33639AC4CDCC8C3F66869A445F
:10202000000000400000A0C0000000C0000040C14F
:102030000000803F000020400000803F000060C0A2
:10204000000080BF33639AC4CDCC8C3F66869AC4AF
:10205000000000400000A0C0000000C0000040419F
:102060000000803F000020400000803F0000C03F93
:10207000000080BF33639AC4CDCC8C3F00409A44AB
:10208000000000400000A0C0000000C0000000C12F
:102090000000803F000020400000803F0000C0BFE3
:1020A000000080BF33639AC4CDCC8C3F00409AC4FB
:1020B000000000400000A0C0000000C0000000417F
:040000058000000077
:00000001FF

View File

@ -0,0 +1,115 @@
:0200000480007A
:100000006F00C004732F2034930F8000630AFF0336
:10001000930F90006306FF03930FB0006302FF038A
:10002000170F0080130F0FFE63040F0067000F000F
:10003000732F203463540F006F00400093E19153FD
:10004000171F000023203FFC6FF09FFF930000006C
:10005000130100009301000013020000930200004E
:100060001303000093030000130400009304000036
:10007000130500009305000013060000930600001E
:100080001307000093070000130800009308000006
:100090001309000093090000130A0000930A0000EE
:1000A000130B0000930B0000130C0000930C0000D6
:1000B000130D0000930D0000130E0000930E0000BE
:1000C000130F0000930F0000732540F1631005002B
:1000D000970200009382020173905230735000180F
:1000E000970200009382020273905230B7020080A0
:1000F0009382F2FF7390023B9302F0017390023AF5
:100100007350403097020000938242017390523046
:10011000735020307350303093010000970200007C
:10012000938282EE73905230130510001315F5017F
:10013000634C05000F00F00F930110009308D005E9
:10014000130500007300000097020080938282EB89
:10015000638A020073905210B7B20000938292102B
:100160007390223073500030372500007320053023
:100170007350300097020000938242017390123452
:10018000732540F1730020309301200017250000F3
:10019000130545E707200500872045000721850056
:1001A0008326C500D3011028538501E0F315100004
:1001B000130600006310D538639EC53693013000E6
:1001C00017250000130505E50720050087204500D9
:1001D000072185008326C500D3011028538501E03F
:1001E000F3151000130600006316D5346394C5346C
:1001F00093014000172500001305C5E20720050004
:1002000087204500072185008326C500D3011028DB
:10021000538501E0F315100013060000631CD53070
:10022000639AC5309301500017250000130585E03F
:100230000720050087204500072185008326C5008B
:10024000D3011028538501E0F315100013060000B8
:100250006312D52E6390C52E930160001725000010
:10026000130545DE0720050087204500072185008E
:100270008326C500D3011028538501E0F315100033
:10028000130600006318D52A6396C52A93017000EF
:1002900017250000130505DC072005008720450011
:1002A000072185008326C500D3011028538501E06E
:1002B000F315100013060000631ED526639CC526A7
:1002C0009301C000172500001305C5D907200500BC
:1002D00087204500072185008326C500D3111028FB
:1002E000538501E0F3151000130600006314D524B4
:1002F0006392C5249301D00017250000130585D70C
:100300000720050087204500072185008326C500BA
:10031000D3111028538501E0F315100013060000D7
:10032000631AD5206398C5209301E00017250000CB
:10033000130545D5072005008720450007218500C6
:100340008326C500D3111028538501E0F315100052
:10035000130600006310D51E639EC51C9301F000B8
:1003600017250000130505D3072005008720450049
:10037000072185008326C500D3111028538501E08D
:10038000F3151000130600006316D51A6394C51AFE
:1003900093010001172500001305C5D007200500B3
:1003A00087204500072185008326C500D31110282A
:1003B000538501E0F315100013060000631CD516E9
:1003C000639AC5169301100117250000130585CE09
:1003D0000720050087204500072185008326C500EA
:1003E000D3111028538501E0F31510001306000007
:1003F0006312D5146390C5149301400117250000C2
:10040000130545CC072005008720450007218500FE
:100410008326C500D3111028538501E0F315100081
:10042000130600016318D5106396C510930150019F
:1004300017250000130505CA072005008720450081
:10044000072185008326C500D3111028538501E0BC
:10045000F315100013060000631ED50C639CC50C39
:100460009301E001172500001305C5C7072005000B
:1004700087204500072185008326C500D301102869
:10048000538501E0F3151000130600006314D50A2C
:100490006392C50A9301F00117250000130585C575
:1004A0000720050087204500072185008326C50019
:1004B000D3011028538501E0F31510001306000046
:1004C000631AD5066398C50693010002172500003C
:1004D000130545C307200500872045000721850037
:1004E0008326C500D3111028538501E0F3151000B1
:1004F000130600006310D504639EC5029301100229
:1005000017250000130505C10720050087204500B9
:10051000072185008326C500D3111028538501E0EB
:10052000F3151000130600006316D5006394C50090
:10053000631030020F00F00F6380010093911100EF
:1005400093E111009308D0051385010073000000AA
:100550000F00F00F930110009308D0051305000061
:1005600073000000731000C00000000000000000D5
:10057000000000000000000000000000000000007B
:040580000000000077
:1010000000000000000000000000000000000000E0
:1010100000000000000000000000000000000000D0
:1010200000000000000000000000000000000000C0
:1010300000000000000000000000000000000000B0
:081040000000000000000000A8
:10200000000020400000803F000000000000803FF2
:1020100033639AC4CDCC8C3F0000000033639AC474
:10202000CDCC8C3F33639AC40000000033639AC464
:10203000FFFFFF7F33639AC40000000033639AC43C
:10204000DB0F494077CC2B320000000077CC2B32DD
:10205000000080BF000000C000000000000000C0C1
:10206000000020400000803F0000000000002040F1
:1020700033639AC4CDCC8C3F00000000CDCC8C3FA4
:10208000CDCC8C3F33639AC400000000CDCC8C3F94
:10209000FFFFFF7F33639AC40000000033639AC4DC
:1020A000DB0F494077CC2B3200000000DB0F4940AA
:1020B000000080BF000000C000000000000080BFE2
:1020C0000100807F0000803F000000000000803F92
:1020D000FFFFFF7FFFFFFF7F000000000000C07FC9
:1020E00000000080000000000000000000000080F0
:1020F00000000000000000800000000000000080E0
:10210000000000800000000000000000000000004F
:10211000000000000000008000000000000000003F
:040000058000000077
:00000001FF

View File

@ -0,0 +1,43 @@
:0200000480007A
:100000006F00C004732F2034930F8000630AFF0336
:10001000930F90006306FF03930FB0006302FF038A
:10002000170F0080130F0FFE63040F0067000F000F
:10003000732F203463540F006F00400093E19153FD
:10004000171F000023203FFC6FF09FFF930000006C
:10005000130100009301000013020000930200004E
:100060001303000093030000130400009304000036
:10007000130500009305000013060000930600001E
:100080001307000093070000130800009308000006
:100090001309000093090000130A0000930A0000EE
:1000A000130B0000930B0000130C0000930C0000D6
:1000B000130D0000930D0000130E0000930E0000BE
:1000C000130F0000930F0000732540F1631005002B
:1000D000970200009382020173905230735000180F
:1000E000970200009382020273905230B7020080A0
:1000F0009382F2FF7390023B9302F0017390023AF5
:100100007350403097020000938242017390523046
:10011000735020307350303093010000970200007C
:10012000938282EE73905230130510001315F5017F
:10013000634C05000F00F00F930110009308D005E9
:10014000130500007300000097020080938282EB89
:10015000638A020073905210B7B20000938292102B
:100160007390223073500030372500007320053023
:100170007350300097020000938242017390123452
:10018000732540F17300203097250000938585E7A3
:1001900087A0450027AA150003A54501B703004025
:1001A000930120006314750297250000938585E56F
:1001B00087A0050027AC150003A58501B70380BF04
:1001C0009301300063147500631030020F00F00FCC
:1001D000638001009391110093E111009308D00511
:1001E00013850100730000000F00F00F9301100051
:1001F0009308D0051305000073000000731000C0C1
:0402000000000000FA
:1010000000000000000000000000000000000000E0
:1010100000000000000000000000000000000000D0
:1010200000000000000000000000000000000000C0
:1010300000000000000000000000000000000000B0
:081040000000000000000000A8
:10200000000080BF0000004000004040000080C091
:10201000EFBEADDEBEBAFECAEA1DADAB0DD03713C2
:040000058000000077
:00000001FF

View File

@ -0,0 +1,81 @@
:0200000480007A
:100000006F00C004732F2034930F8000630AFF0336
:10001000930F90006306FF03930FB0006302FF038A
:10002000170F0080130F0FFE63040F0067000F000F
:10003000732F203463540F006F00400093E19153FD
:10004000171F000023203FFC6FF09FFF930000006C
:10005000130100009301000013020000930200004E
:100060001303000093030000130400009304000036
:10007000130500009305000013060000930600001E
:100080001307000093070000130800009308000006
:100090001309000093090000130A0000930A0000EE
:1000A000130B0000930B0000130C0000930C0000D6
:1000B000130D0000930D0000130E0000930E0000BE
:1000C000130F0000930F0000732540F1631005002B
:1000D000970200009382020173905230735000180F
:1000E000970200009382020273905230B7020080A0
:1000F0009382F2FF7390023B9302F0017390023AF5
:100100007350403097020000938242017390523046
:10011000735020307350303093010000970200007C
:10012000938282EE73905230130510001315F5017F
:10013000634C05000F00F00F930110009308D005E9
:10014000130500007300000097020080938282EB89
:10015000638A020073905210B7B20000938292102B
:100160007390223073500030372500007320053023
:100170007350300097020000938242017390123452
:10018000732540F17300203073D030003715000024
:1001900013054523F3153500930310009301200048
:1001A000639C752673253000930340039301300050
:1001B00063147526732510009303400193014000DA
:1001C000631C7524735521009303100093015000A4
:1001D0006314752473253000930340059301600078
:1001E000631C752273751200930340019301700024
:1001F000631475227325300093030005930180007A
:10020000631C7520B755341293858567130600006B
:10021000D38005F0530106F053802020530500E001
:10022000B7533412938383679301A0006316751E3E
:10023000B7553412938585671306F0FFD38005F018
:10024000530106F053802020530500E0B753349249
:10025000938383679301B0006310751CB755349284
:100260009385856713060000D38005F0530106F0DF
:1002700053802020530500E0B753341293838367E3
:100280009301C000631A7518B7553492938585673A
:100290001306F0FFD38005F0530106F053802020B1
:1002A000530500E0B7533492938383679301D000E2
:1002B00063147516B75534129385856713060000CD
:1002C000D38005F0530106F053902020530500E041
:1002D000B75334929383836793014001631E751271
:1002E000B7553412938585671306F0FFD38005F068
:1002F000530106F053902020530500E0B753341209
:10030000938383679301500163187510B755349236
:100310009385856713060000D38005F0530106F02E
:1003200053902020530500E0B753349293838367A2
:10033000930160016312750EB755349293858567FA
:100340001306F0FFD38005F0530106F053902020F0
:10035000530500E0B7533412938383679301700110
:10036000631C750AB7553412938585671306000020
:10037000D38005F0530106F053A02020530500E080
:10038000B7533412938383679301E00163167508B2
:10039000B7553412938585671306F0FFD38005F0B7
:1003A000530106F053A02020530500E0B7533492C8
:1003B000938383679301F00163107506B7553492F8
:1003C0009385856713060000D38005F0530106F07E
:1003D00053A02020530500E0B753349293838367E2
:1003E00093010002631A7502B755349293858567AD
:1003F0001306F0FFD38005F0530106F053A0202030
:10040000530500E0B75334129383836793011002BE
:1004100063147500631030020F00F00F6380010059
:100420009391110093E111009308D0051385010009
:10043000730000000F00F00F930110009308D00527
:100440001305000073000000731000C000000000DE
:10045000000000000000000000000000000000009C
:10046000000000000000000000000000000000008C
:10047000000000000000000000000000000000007C
:040480000000000078
:1010000000000000000000000000000000000000E0
:1010100000000000000000000000000000000000D0
:1010200000000000000000000000000000000000C0
:1010300000000000000000000000000000000000B0
:081040000000000000000000A8
:040000058000000077
:00000001FF

View File

@ -0,0 +1,46 @@
:0200000480007A
:100000006F00C004732F2034930F8000630AFF0336
:10001000930F90006306FF03930FB0006302FF038A
:10002000170F0080130F0FFE63040F0067000F000F
:10003000732F203463540F006F00400093E19153FD
:10004000171F000023203FFC6FF09FFF930000006C
:10005000130100009301000013020000930200004E
:100060001303000093030000130400009304000036
:10007000130500009305000013060000930600001E
:100080001307000093070000130800009308000006
:100090001309000093090000130A0000930A0000EE
:1000A000130B0000930B0000130C0000930C0000D6
:1000B000130D0000930D0000130E0000930E0000BE
:1000C000130F0000930F0000732540F1631005002B
:1000D000970200009382020173905230735000180F
:1000E000970200009382020273905230B7020080A0
:1000F0009382F2FF7390023B9302F0017390023AF5
:100100007350403097020000938242017390523046
:10011000735020307350303093010000970200007C
:10012000938282EE73905230130510001315F5017F
:10013000634C05000F00F00F930110009308D005E9
:10014000130500007300000097020080938282EB89
:10015000638A020073905210B7B20000938292102B
:100160007390223073500030372500007320053023
:100170007350300097020000938242017390123452
:10018000732540F17300203017250000072085E714
:1001900017250000872045E7D3F00010532510A055
:1001A000930310009301200063147506530510A0FB
:1001B0009303100093013000631C7504531510A0C5
:1001C000930300009301400063147504537000D042
:1001D00013051000D37005D0D3F00010532510A0E4
:1001E000930310009301500063147502530510A08F
:1001F0009303100093016000631C7500531510A059
:1002000093030000930170006314750063103002C3
:100210000F00F00F638001009391110093E1110032
:100220009308D00513850100730000000F00F00F44
:10023000930110009308D00513050000730000001F
:04024000731000C077
:1010000000000000000000000000000000000000E0
:1010100000000000000000000000000000000000D0
:1010200000000000000000000000000000000000C0
:1010300000000000000000000000000000000000B0
:081040000000000000000000A8
:10200000000080FF000040400000000000000000D1
:040000058000000077
:00000001FF

View File

@ -90,8 +90,14 @@ class FpuTest extends FunSuite{
val a,b,c = (s.nextLong(16).toInt) val a,b,c = (s.nextLong(16).toInt)
(b2f(a), b2f(b), c, s.nextInt(16)) (b2f(a), b2f(b), c, s.nextInt(16))
} }
def f32_f32 = {
val s = new Scanner(next)
val a,b = (s.nextLong(16).toInt)
(b2f(a), b2f(b), s.nextInt(16))
} }
}
lazy val RAW = build("") lazy val RAW = build("")
lazy val RNE = build("-rnear_even") lazy val RNE = build("-rnear_even")
lazy val RTZ = build("-rminMag") lazy val RTZ = build("-rminMag")
@ -115,8 +121,8 @@ class FpuTest extends FunSuite{
val mul = new TestCase("f32_mul") val mul = new TestCase("f32_mul")
val ui2f = new TestCase("ui32_to_f32") val ui2f = new TestCase("ui32_to_f32")
val i2f = new TestCase("i32_to_f32") val i2f = new TestCase("i32_to_f32")
val f2ui = new TestCase("f32_to_ui32") val f2ui = new TestCase("f32_to_ui32 -exact")
val f2i = new TestCase("f32_to_i32") val f2i = new TestCase("f32_to_i32 -exact")
val eq = new TestCase("f32_eq") val eq = new TestCase("f32_eq")
val lt = new TestCase("f32_lt") val lt = new TestCase("f32_lt")
val le = new TestCase("f32_le") val le = new TestCase("f32_le")
@ -127,6 +133,8 @@ class FpuTest extends FunSuite{
val sgnj = new TestCase("f32_eq") val sgnj = new TestCase("f32_eq")
val sgnjn = new TestCase("f32_eq") val sgnjn = new TestCase("f32_eq")
val sgnjx = new TestCase("f32_eq") val sgnjx = new TestCase("f32_eq")
val sqrt = new TestCase("f32_sqrt")
val div = new TestCase("f32_div")
} }
val cpus = for(id <- 0 until portCount) yield new { val cpus = for(id <- 0 until portCount) yield new {
@ -152,12 +160,17 @@ class FpuTest extends FunSuite{
assert(flagAccumulator == ref, s"Flag missmatch dut=$flagAccumulator ref=$ref $report") assert(flagAccumulator == ref, s"Flag missmatch dut=$flagAccumulator ref=$ref $report")
flagAccumulator = 0 flagAccumulator = 0
} }
def flagClear(): Unit ={
waitUntil(pendingMiaou == 0)
flagAccumulator = 0
}
val flagAggregated = dut.reflectBaseType(s"flagAcc$id").asInstanceOf[Bits] val flagAggregated = dut.reflectBaseType(s"flagAcc$id").asInstanceOf[Bits]
dut.clockDomain.onSamplings{ dut.clockDomain.onSamplings{
val c = dut.io.port(id).completion val c = dut.io.port(id).completion
pendingMiaou -= c.count.toInt pendingMiaou -= c.count.toInt
flagAccumulator |= flagAggregated.toInt flagAccumulator |= flagAggregated.toInt
dut.writeback.randomSim.randomize()
} }
StreamDriver(dut.io.port(id).cmd ,dut.clockDomain){payload => StreamDriver(dut.io.port(id).cmd ,dut.clockDomain){payload =>
@ -228,7 +241,7 @@ class FpuTest extends FunSuite{
cmd.opcode #= opcode cmd.opcode #= opcode
cmd.rs1 #= rs1 cmd.rs1 #= rs1
cmd.rs2 #= rs2 cmd.rs2 #= rs2
cmd.rs3.randomize() cmd.rs3 #= rs3
cmd.rd #= rd cmd.rd #= rd
cmd.arg #= arg cmd.arg #= arg
cmd.roundMode #= rounding cmd.roundMode #= rounding
@ -447,7 +460,6 @@ class FpuTest extends FunSuite{
assert(f2b(v) == f2b(ref), f"## ${a} ${opName} $b = $v, $ref $rounding") assert(f2b(v) == f2b(ref), f"## ${a} ${opName} $b = $v, $ref $rounding")
} }
flagMatch(flag, ref, f"## ${opName} ${a} $b $ref $rounding") flagMatch(flag, ref, f"## ${opName} ${a} $b $ref $rounding")
} }
@ -585,6 +597,37 @@ class FpuTest extends FunSuite{
} }
} }
def testSqrtExact(a : Float, ref : Float, flag : Int, rounding : FpuRoundMode.E): Unit ={
val rs = new RegAllocator()
val rs1, rs2, rs3 = rs.allocate()
val rd = Random.nextInt(32)
load(rs1, a)
sqrt(rd,rs1)
storeFloat(rd){v =>
val error = Math.abs(ref-v)/ref
println(f"sqrt($a) = $v, $ref $error $rounding")
assert(checkFloat(ref, v))
}
}
def testDivExact(a : Float, b : Float, ref : Float, flag : Int, rounding : FpuRoundMode.E): Unit ={
val rs = new RegAllocator()
val rs1, rs2, rs3 = rs.allocate()
val rd = Random.nextInt(32)
load(rs1, a)
load(rs2, b)
div(rd,rs1, rs2)
storeFloat(rd){v =>
val error = Math.abs(ref-v)/ref
println(f"div($a, $b) = $v, $ref $error $rounding")
assert(checkFloat(ref, v))
}
}
def testF2i(a : Float, signed : Boolean): Unit ={ def testF2i(a : Float, signed : Boolean): Unit ={
val rs = new RegAllocator() val rs = new RegAllocator()
val rs1, rs2, rs3 = rs.allocate() val rs1, rs2, rs3 = rs.allocate()
@ -803,8 +846,70 @@ class FpuTest extends FunSuite{
val binaryOps = List[(Int,Int,Int,FpuRoundMode.E) => Unit](add, sub, mul) val binaryOps = List[(Int,Int,Int,FpuRoundMode.E) => Unit](add, sub, mul)
// testSqrt(0.0f)
// testSqrt(1.2f)
// for(a <- fAll) testSqrt(a)
// for(_ <- 0 until 1000) testSqrt(randomFloat())
for(i <- 0 until 1000){
testFma(randomFloat(), randomFloat(), randomFloat())
}
flagClear()
println("fma done") //TODO
testF2iExact(-2.14748365E9f, -2147483648, 0, true, FpuRoundMode.RDN)
testEq(Float.PositiveInfinity,Float.PositiveInfinity,1, 0)
testEq(0f, 0f,1, 0)
for(_ <- 0 until 10000){
val (a,b,i,f) = f32.le.RAW.f32_f32_i32
testLe(a,b,i, f)
}
for(_ <- 0 until 10000){
val (a,b,i,f) = f32.lt.RAW.f32_f32_i32
testLt(a,b,i, f)
}
for(r <- 0 until 10000){
val (a,b,i,f) = f32.eq.RAW.f32_f32_i32
testEq(a,b,i, f)
if(r % 100000 == 0) println(r)
}
println("Cmp done")
for(_ <- 0 until 1000000){
val rounding = FpuRoundMode.elements.randomPick()
val (a,b,f) = f32.f2ui(rounding).f32_i32
testF2iExact(a,b, f, false, rounding)
}
for(_ <- 0 until 1000000){
val rounding = FpuRoundMode.elements.randomPick()
val (a,b,f) = f32.f2i(rounding).f32_i32
testF2iExact(a,b, f, true, rounding)
}
println("f2i done")
for(_ <- 0 until 10000){
val rounding = FpuRoundMode.elements.randomPick()
val (a,b,r,f) = f32.div(rounding).f32_f32_f32
testDivExact(a, b, r, f, rounding)
}
println("f32 div done")
for(_ <- 0 until 10000){
val rounding = FpuRoundMode.elements.randomPick()
val (a,r,f) = f32.sqrt(rounding).f32_f32
testSqrtExact(a, r, f, rounding)
}
println("f32 sqrt done")
flagClear()
for(_ <- 0 until 10000){ for(_ <- 0 until 10000){
testSgnj(b2f(Random.nextInt()), b2f(Random.nextInt())) testSgnj(b2f(Random.nextInt()), b2f(Random.nextInt()))
testSgnjn(b2f(Random.nextInt()), b2f(Random.nextInt())) testSgnjn(b2f(Random.nextInt()), b2f(Random.nextInt()))
@ -848,37 +953,10 @@ class FpuTest extends FunSuite{
} }
println("minMax done") println("minMax done")
for(_ <- 0 until 100000){
val (a,b,i,f) = f32.le.RAW.f32_f32_i32
testLe(a,b,i, f)
}
for(_ <- 0 until 100000){
val (a,b,i,f) = f32.lt.RAW.f32_f32_i32
testLt(a,b,i, f)
}
for(_ <- 0 until 100000){
val (a,b,i,f) = f32.eq.RAW.f32_f32_i32
testEq(a,b,i, f)
}
println("Cmp done")
testF2iExact(-2.14748365E9f, -2147483648, 0, true, FpuRoundMode.RDN)
for(_ <- 0 until 10000){
val rounding = FpuRoundMode.elements.randomPick()
val (a,b,f) = f32.f2ui(rounding).f32_i32
testF2iExact(a,b, f, false, rounding)
}
for(_ <- 0 until 10000){
val rounding = FpuRoundMode.elements.randomPick()
val (a,b,f) = f32.f2i(rounding).f32_i32
testF2iExact(a,b, f, true, rounding)
}
println("f2i done")
for(_ <- 0 until 10000){ for(_ <- 0 until 10000){
val rounding = FpuRoundMode.elements.randomPick() val rounding = FpuRoundMode.elements.randomPick()