clz

Count leading zero bits

This instruction is defined by:

Encoding

svg

Synopsis

This instruction counts the number of 0’s before the first 1, starting at the most-significant bit (i.e., XLEN-1) and progressing to bit 0. Accordingly, if the input is 0, the output is XLEN, and if the most-significant bit of the input is a 1, the output is 0.

Access

M

HS

U

VS

VU

Always

Always

Always

Always

Always

Decode Variables

Bits<5> rs1 = $encoding[19:15];
Bits<5> rd = $encoding[11:7];
idl

Execution

X[rd] = (63) - $signed(highest_set_bit(X[rs1]));
idl