21 changed files with 39 additions and 39 deletions
@ -1 +1 @@ |
|||
WRITE_RD(sext_xprlen(RS1 + RS2)); |
|||
WRITE_RD(sext_xlen(RS1 + RS2)); |
|||
|
|||
@ -1 +1 @@ |
|||
WRITE_RD(sext_xprlen(RS1 + insn.i_imm())); |
|||
WRITE_RD(sext_xlen(RS1 + insn.i_imm())); |
|||
|
|||
@ -1 +1 @@ |
|||
WRITE_RD(sext_xprlen(insn.u_imm() + pc)); |
|||
WRITE_RD(sext_xlen(insn.u_imm() + pc)); |
|||
|
|||
@ -1,4 +1,4 @@ |
|||
int csr = validate_csr(insn.csr(), true); |
|||
reg_t old = p->get_pcr(csr); |
|||
p->set_pcr(csr, old & ~RS1); |
|||
WRITE_RD(sext_xprlen(old)); |
|||
WRITE_RD(sext_xlen(old)); |
|||
|
|||
@ -1,4 +1,4 @@ |
|||
int csr = validate_csr(insn.csr(), true); |
|||
reg_t old = p->get_pcr(csr); |
|||
p->set_pcr(csr, old & ~(reg_t)insn.rs1()); |
|||
WRITE_RD(sext_xprlen(old)); |
|||
WRITE_RD(sext_xlen(old)); |
|||
|
|||
@ -1,4 +1,4 @@ |
|||
int csr = validate_csr(insn.csr(), insn.rs1() != 0); |
|||
reg_t old = p->get_pcr(csr); |
|||
p->set_pcr(csr, old | RS1); |
|||
WRITE_RD(sext_xprlen(old)); |
|||
WRITE_RD(sext_xlen(old)); |
|||
|
|||
@ -1,4 +1,4 @@ |
|||
int csr = validate_csr(insn.csr(), true); |
|||
reg_t old = p->get_pcr(csr); |
|||
p->set_pcr(csr, old | insn.rs1()); |
|||
WRITE_RD(sext_xprlen(old)); |
|||
WRITE_RD(sext_xlen(old)); |
|||
|
|||
@ -1,4 +1,4 @@ |
|||
int csr = validate_csr(insn.csr(), true); |
|||
reg_t old = p->get_pcr(csr); |
|||
p->set_pcr(csr, RS1); |
|||
WRITE_RD(sext_xprlen(old)); |
|||
WRITE_RD(sext_xlen(old)); |
|||
|
|||
@ -1,4 +1,4 @@ |
|||
int csr = validate_csr(insn.csr(), true); |
|||
reg_t old = p->get_pcr(csr); |
|||
p->set_pcr(csr, insn.rs1()); |
|||
WRITE_RD(sext_xprlen(old)); |
|||
WRITE_RD(sext_xlen(old)); |
|||
|
|||
@ -1,8 +1,8 @@ |
|||
sreg_t lhs = sext_xprlen(RS1); |
|||
sreg_t rhs = sext_xprlen(RS2); |
|||
sreg_t lhs = sext_xlen(RS1); |
|||
sreg_t rhs = sext_xlen(RS2); |
|||
if(rhs == 0) |
|||
WRITE_RD(UINT64_MAX); |
|||
else if(lhs == INT64_MIN && rhs == -1) |
|||
WRITE_RD(lhs); |
|||
else |
|||
WRITE_RD(sext_xprlen(lhs / rhs)); |
|||
WRITE_RD(sext_xlen(lhs / rhs)); |
|||
|
|||
@ -1,6 +1,6 @@ |
|||
reg_t lhs = zext_xprlen(RS1); |
|||
reg_t rhs = zext_xprlen(RS2); |
|||
reg_t lhs = zext_xlen(RS1); |
|||
reg_t rhs = zext_xlen(RS2); |
|||
if(rhs == 0) |
|||
WRITE_RD(UINT64_MAX); |
|||
else |
|||
WRITE_RD(sext_xprlen(lhs / rhs)); |
|||
WRITE_RD(sext_xlen(lhs / rhs)); |
|||
|
|||
@ -1 +1 @@ |
|||
WRITE_RD(sext_xprlen(RS1 * RS2)); |
|||
WRITE_RD(sext_xlen(RS1 * RS2)); |
|||
|
|||
@ -1,8 +1,8 @@ |
|||
sreg_t lhs = sext_xprlen(RS1); |
|||
sreg_t rhs = sext_xprlen(RS2); |
|||
sreg_t lhs = sext_xlen(RS1); |
|||
sreg_t rhs = sext_xlen(RS2); |
|||
if(rhs == 0) |
|||
WRITE_RD(lhs); |
|||
else if(lhs == INT64_MIN && rhs == -1) |
|||
WRITE_RD(0); |
|||
else |
|||
WRITE_RD(sext_xprlen(lhs % rhs)); |
|||
WRITE_RD(sext_xlen(lhs % rhs)); |
|||
|
|||
@ -1,6 +1,6 @@ |
|||
reg_t lhs = zext_xprlen(RS1); |
|||
reg_t rhs = zext_xprlen(RS2); |
|||
reg_t lhs = zext_xlen(RS1); |
|||
reg_t rhs = zext_xlen(RS2); |
|||
if(rhs == 0) |
|||
WRITE_RD(sext_xprlen(RS1)); |
|||
WRITE_RD(sext_xlen(RS1)); |
|||
else |
|||
WRITE_RD(sext_xprlen(lhs % rhs)); |
|||
WRITE_RD(sext_xlen(lhs % rhs)); |
|||
|
|||
@ -1 +1 @@ |
|||
WRITE_RD(sext_xprlen(RS1 << (RS2 & (xprlen-1)))); |
|||
WRITE_RD(sext_xlen(RS1 << (RS2 & (xlen-1)))); |
|||
|
|||
@ -1 +1 @@ |
|||
WRITE_RD(sext_xprlen(sext_xprlen(RS1) >> (RS2 & (xprlen-1)))); |
|||
WRITE_RD(sext_xlen(sext_xlen(RS1) >> (RS2 & (xlen-1)))); |
|||
|
|||
@ -1 +1 @@ |
|||
WRITE_RD(sext_xprlen(RS1 - RS2)); |
|||
WRITE_RD(sext_xlen(RS1 - RS2)); |
|||
|
|||
Loading…
Reference in new issue