Skip to content

Commit fb9d13a

Browse files
committed
Fix emulation of misaligned c.swsp/c.sdsp with rd=x0
1 parent 48e96c0 commit fb9d13a

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

machine/misaligned_ldst.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,12 +116,12 @@ void misaligned_store_trap(uintptr_t* regs, uintptr_t mcause, uintptr_t mepc)
116116
# if __riscv_xlen >= 64
117117
else if ((insn & MASK_C_SD) == MATCH_C_SD)
118118
len = 8, val.intx = GET_RS2S(insn, regs);
119-
else if ((insn & MASK_C_SDSP) == MATCH_C_SDSP && ((insn >> SH_RD) & 0x1f))
119+
else if ((insn & MASK_C_SDSP) == MATCH_C_SDSP)
120120
len = 8, val.intx = GET_RS2C(insn, regs);
121121
# endif
122122
else if ((insn & MASK_C_SW) == MATCH_C_SW)
123123
len = 4, val.intx = GET_RS2S(insn, regs);
124-
else if ((insn & MASK_C_SWSP) == MATCH_C_SWSP && ((insn >> SH_RD) & 0x1f))
124+
else if ((insn & MASK_C_SWSP) == MATCH_C_SWSP)
125125
len = 4, val.intx = GET_RS2C(insn, regs);
126126
# ifdef PK_ENABLE_FP_EMULATION
127127
else if ((insn & MASK_C_FSD) == MATCH_C_FSD)

0 commit comments

Comments
 (0)