LSL#

Format: LSL dest, source1, source2

Phase0: LSL FT2, S2, S1

Phase1: -

Phase2: LSL FT5, FT4, S4

Description: Left Shift (Phase0)

FT2 = S2 << S1

Note

If S1 is greater than 32, then shift it by the modulo width.

Left shift (Phase2)

FT5 = FT4 << S4

Example:

uniform highp int a;
uniform highp int b;

void main()
{
    fragColor = vec4(a << b);
}
1    : mov ft0, ft1, c0, c0
       mov ft2, sh0
       cbs ft3, sh0
       or ft4, _, ft2, _, c0
       lsl ft5, ft4, i0
       mov i0, ft5;