bext

Single-Bit extract (Register)

Returns a single bit extracted from xs1 at the index specified in xs2. The index is read from the lower log2(XLEN) bits of xs2.

Assembly format

bext xd, xs1, xs2

Decode Variables

Bits<5> xs2 = $encoding[24:20];
Bits<5> xs1 = $encoding[19:15];
Bits<5> xd = $encoding[11:7];

Execution

if (implemented?(ExtensionName::B) && (CSR[misa].B == 1'b0)) {
  raise(ExceptionCode::IllegalInstruction, mode(), $encoding);
}
XReg index = X[xs2] & (xlen() - 1);
X[xd] = (X[xs1] >> index) & 1;

Exceptions

This instruction may result in the following synchronous exceptions:

  • IllegalInstruction

Encoding

svg

Defining extension

Zbs

Access

M

Always

Containing profiles

  • Mandatory: RVA22S64, RVA22U64, RVA23S64, RVA23U64, RVB23S64, RVB23U64

  • Optional: None