\subsection{\index{rotl}rotl}

\index{rotate left}
ROTation Left


\begin{tabular}{l}
  {\bf rotl r3, r2, r1} \\
  {\bf srotl r3, r2, r1} \\
\end{tabular}

~~~~~~
Computes r1 = r2 {\htmlLt}@ r3

~~~~~~
The value of r3 is truncated to the number of bits needed by the bit shuffler
unit.

\begin{center}

\begin{tabular}{|l|l|l|l|l|l|}
 \hline
\multicolumn{1}{|r| }{size :
} & \multicolumn{1}{c| }{8
} & \multicolumn{1}{c| }{6
} & \multicolumn{1}{c| }{6
} & \multicolumn{1}{c| }{6
} & \multicolumn{1}{c| }{6
 } \\
 \hline
\multicolumn{1}{|r| }{bits :
} & {0 ~ ~ ~ ~ ~ ~ ~ ~ 7
} & {8 ~ ~ ~ ~ ~ ~ 13
} & {14 ~ ~ ~ ~ ~ ~ 19
} & {20 ~ ~ ~ ~ ~ ~ 25
} & {26 ~ ~ ~ ~ ~ ~ 31
 } \\
 \hline
\multicolumn{1}{|r| }{function :
} & \multicolumn{1}{c| }{OP\_ROTL
} & \multicolumn{1}{c| }{Flags
} & \multicolumn{1}{c| }{Reg 3
} & \multicolumn{1}{c| }{Reg 2
} & \multicolumn{1}{c| }{Reg 1
}
\\ \hline

\end{tabular}



\begin{tabular}{|l|l|l|l|}
 \hline
\multicolumn{1}{|c| }{~ ~ Flags ~ ~
} & \multicolumn{1}{c| }{Syntax
} & {Values
} & {Function
 } \\
 \hline
\multicolumn{1}{|c| }{8-9
} & {.q, .d or .b postfix
} & {*
} & {Defines the size parameter
 } \\
 \hline
\multicolumn{1}{|c| }{10
} & {s- prefix
} & {1 if set
} & {Defines if the operation is SIMD
 } \\
 \hline
\multicolumn{1}{|c| }{11
} & {-h postfix
} & {1 if set
} & {Defines if the operation is Half-SIMD (had effect only with SIMD operation)
 } \\
 \hline
\multicolumn{1}{|c| }{12-13
} & {(none yet)
} & {0
} & {Reserved
}
\\ \hline

\end{tabular}


~

{\bf Performance (FC0 only) :}
\end{center}
{\em Execution Unit :} Bit Shuffling Unit\\
{\em Latency :} 1 cycle\\
{\em Throughput :} 1 per cycle per BSU.\\

~

\pagebreak


