private InstructionPayload ComposeLoad(Instruction ins, RvcPayload payload) { // Set the opcode, type and coding InstructionPayload p = new InstructionPayload(ins, payload.Coding); if (payload.Op == 2 && payload.Funct3 == CLWSP) { parser32.ParseLwSp(payload, p); } if (payload.Op == 2 && payload.Funct3 == CLDSP) { parser64.ParseLdSp(payload, p); } if (payload.Op == 0 && payload.Funct3 == CLW) { parser32.ParseLw(payload, p); } if (payload.Op == 0 && payload.Funct3 == CLD) { parser64.ParseLd(payload, p); } return(p); }
private InstructionPayload ComposeLoad(Instruction ins, RvcPayload payload) { // Set the opcode, type and coding InstructionPayload p = new InstructionPayload(ins, payload.Coding); if (payload.Op == 0 && payload.Funct3 == CLW) { parser32.ParseLw(payload, p); } // Now do the rest according to the F3 type if (payload.Op == 2 && payload.Funct3 == CLWSP) { parser32.ParseLwSp(payload, p); } return(p); }