それぞれ、Shift Left Logical、Shift Right Logical、Shift Right Arithmeticの略であり、末尾にIがつくものはシフトする量を指定するものが、レジスタオペランドではなく即値になった命令です。rs1番のレジスタを読み出した値をrs2番のレジスタを読み出した値、あるいは即値のビット数だけシフトした結果をrd番のレジスタに書き込む動作をします。
logical left shift とは、ビット列を左にシフトすることを意味します。左とは、上位ビット方向を意味します。左にシフトし、レジスタの幅からはみ出した値は捨てられます。一方、右にできた空間は0で埋められます。計算結果が桁あふれを起こさない場合、符号なし整数の$`N`$ bitの左シフトは、その整数に$`2^N`$を掛けた符号なし整数を求めることに使えます。
logical right shift とは、ビット列を右にシフトすることを意味します。左右が逆転したこと以外は左シフトと同様です。符号なし整数の$`N`$ bitの左シフトは、その整数を$`2^N`$で割った値の商を符号なし整数として求めることに使えます。
arithmetic right shift とは、ビット列を右にシフトする別の方法です。logical right shift では左にできた空間を常に0で埋めていましたが、もとのビット列での最上位ビットと同じもので埋めるのがarithmetic right shiftです。符号付き整数の$`N`$ bitの左シフトは、その整数を$`2^N`$で割った時の商を求めることに使えます。小数点以下は0に向かって丸められるのではなく、負の無限大方向に丸められるなど、最近のC言語における割り算と必ずしも挙動が一致しない点には注意が必要です。