Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 2 additions & 6 deletions src/riscv.c
Original file line number Diff line number Diff line change
Expand Up @@ -112,16 +112,12 @@ int rv_extract_bits(int imm, int i_start, int i_end, int d_start, int d_end)

int rv_hi(int val)
{
if ((val & (1 << 11)) != 0)
return val + 4096;
return val;
return val + ((val & (1 << 11)) << 1);
}

int rv_lo(int val)
{
if ((val & (1 << 11)) != 0)
return (val & 0xFFF) - 4096;
return val & 0xFFF;
return (val & 0xFFF) - ((val & (1 << 11)) << 1);
}

int rv_encode_R(rv_op op, rv_reg rd, rv_reg rs1, rv_reg rs2)
Expand Down