shl

Hi,
I got a question about the SDNode “shl”

def shl : SDNode<“ISD::SHL” , SDTIntShiftOp>;

Does it stand for “shift logical” and in what direction does it shift?
How to shift in the other direction?

Thanks.

That stands for “shift left”. Shift right is sra for arithmetic shift right and srl for logical shift right. Not sure why we don’t use ashr and lshr like IR. Instead we seem to be using the X86 mnemonic names.

Hi,
I got a question about the SDNode "shl"

def shl : SDNode<"ISD::SHL" , SDTIntShiftOp>;

Does it stand for "shift logical" and in what direction does it shift?

shift left

How to shift in the other direction?

ISD::SRA (arithmetic), ISD::SRL (logical)
See https://llvm.org/doxygen/ISDOpcodes_8h_source.html#l00429

Thanks.

Roman.

SHift Left.

The corresponding right shifts are SRA (Shift Right Arithmetic) and SRL (Shift Right Logical). The former shifts in copies of the sign bit at the top, the latter shifts in zeroes.

-Fabian