SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
Logical Shift Left by Register Value
SHL src1, src2, dst
Functional unit = L
16 bit
15 | 13 | 12 | 10 | 9 | 7 | 6 | 0 |
dst | src2 | src1 | 0 | 1 | 1 | 1 | 1 | 0 | 1 |
3 | 3 | 3 | opcode |
src2 is left shifted by an unsigned value (src1) and the result is stored to dst. The shift in value is 0. If the src1 value is greater than 31, dst is cleared to 0.
CSR[2] EQ = (dst == 0)
dst = (src1 > 31) ? 0: (src2 << src1)