c.and

And

This instruction is defined by:

Encoding

svg

Synopsis

And xd with xs2, and store the result in xd The xd and xs2 register indexes should be used as xd+8 and xs2+8 (registers x8-x15). C.AND expands into and xd, xd, xs2.

Access

M

HS

U

VS

VU

Always

Always

Always

Always

Always

Decode Variables

Bits<3> xs2 = $encoding[4:2];
Bits<3> xd = $encoding[9:7];

Execution

  • Pruned, XLEN == 64

  • Original

XReg t0 = X[creg2reg(xd)];
XReg t1 = X[creg2reg(xs2)];
X[creg2reg(xd)] = t0 & t1;
XReg t0 = X[creg2reg(xd)];
XReg t1 = X[creg2reg(xs2)];
X[creg2reg(xd)] = t0 & t1;