c.andi

And immediate

And an immediate to the value in xd, and store the result in xd. The xd register index should be used as xd+8 (registers x8-x15). C.ANDI expands into andi xd, xd, imm.

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

Assembly format

c.andi xd, imm

Decode Variables

signed Bits<6> imm = sext({$encoding[12], $encoding[6:2]}, 6);
Bits<3> xd = $encoding[9:7];

Execution

X[creg2reg(xd)] = X[creg2reg(xd)] & $signed(imm);

Encoding

svg

Defining extension

Zca

Access

M

Always

Containing profiles

  • Mandatory: None

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