Browse Source

[riscv|insns] Fix zbs immediate instructions: bclri, bexti, binvi, and besti for shamt condition

pull/1907/head
kassas 1 year ago
parent
commit
2687fa3c48
  1. 1
      riscv/insns/bclri.h
  2. 1
      riscv/insns/bexti.h
  3. 1
      riscv/insns/binvi.h
  4. 1
      riscv/insns/bseti.h

1
riscv/insns/bclri.h

@ -1,3 +1,4 @@
require_extension(EXT_ZBS);
require(SHAMT < xlen);
int shamt = SHAMT & (xlen-1);
WRITE_RD(sext_xlen(RS1 & ~(1LL << shamt)));

1
riscv/insns/bexti.h

@ -1,3 +1,4 @@
require_extension(EXT_ZBS);
require(SHAMT < xlen);
int shamt = SHAMT & (xlen-1);
WRITE_RD(sext_xlen(1 & (RS1 >> shamt)));

1
riscv/insns/binvi.h

@ -1,3 +1,4 @@
require_extension(EXT_ZBS);
require(SHAMT < xlen);
int shamt = SHAMT & (xlen-1);
WRITE_RD(sext_xlen(RS1 ^ (1LL << shamt)));

1
riscv/insns/bseti.h

@ -1,3 +1,4 @@
require_extension(EXT_ZBS);
require(SHAMT < xlen);
int shamt = SHAMT & (xlen-1);
WRITE_RD(sext_xlen(RS1 | (1LL << shamt)));

Loading…
Cancel
Save