aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns/sraiw_u.h
blob: 3559d7fa1409c27ef5a0667f7428536691065d42 (plain)
1
2
3
4
5
6
7
8
9
require_rv64;
require_extension(EXT_ZPN);

reg_t sa = insn.p_imm5();
if (sa != 0) {
  WRITE_RD(sext32(((P_SW(RS1, 0) >> (sa - 1)) + 1) >> 1));
} else {
  WRITE_RD(sext32(P_SW(RS1, 0)));
}