sra

Shift right arithmetic

Arithmetic shift the value in xs1 right by the value in the lower 5 bits of xs2, and store the result in xd.

This instruction must have data-independent timing when extension Zkt is enabled.

Assembly format

sra 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 (xlen() == 64) {
  X[xd] = X[xs1] >>> X[xs2][5:0];
} else {
  X[xd] = X[xs1] >>> X[xs2][4:0];
}

Encoding

svg

Defining extension

I

Access

M

Always

Containing profiles

  • Mandatory: RVA20S64, RVA20U64, RVA22S64, RVA22U64, RVA23S64, RVA23U64, RVB23S64, RVB23U64, RVI20U32, RVI20U64

  • Optional: None