Compare commits
1 Commits
12ccfc055a
...
a53ee42e13
Author | SHA1 | Date | |
---|---|---|---|
a53ee42e13 |
@ -2187,12 +2187,11 @@ typename vm_base<ARCH>::virt_addr_t vm_impl<ARCH>::execute_inst(finish_cond_e co
|
|||||||
*NEXT_PC = *PC + 2;
|
*NEXT_PC = *PC + 2;
|
||||||
// execute instruction
|
// execute instruction
|
||||||
{
|
{
|
||||||
uint32_t offs = *(X+2) + uimm;
|
|
||||||
int32_t read_res = super::template read_mem<int32_t>(traits::MEM, offs);
|
|
||||||
if(this->core.trap_state) goto TRAP_CLWSP;
|
|
||||||
int32_t res = read_res;
|
|
||||||
if(rd % traits::RFS) {
|
if(rd % traits::RFS) {
|
||||||
*(X+rd % traits::RFS) = res;
|
int32_t read_res = super::template read_mem<int32_t>(traits::MEM, *(X+2) + uimm);
|
||||||
|
if(this->core.trap_state) goto TRAP_CLWSP;
|
||||||
|
int32_t res = read_res;
|
||||||
|
*(X+rd % traits::RFS) = (int32_t)res;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
raise(0, 2);
|
raise(0, 2);
|
||||||
|
Reference in New Issue
Block a user