\doxysection{src/core/conv\+\_\+acc\+\_\+sse.c File Reference}
\label{conv__acc__sse_8c}\index{src/core/conv\_acc\_sse.c@{src/core/conv\_acc\_sse.c}}


Accelerated Viterbi decoder implementation for architectures with only SSSE3 available.  


{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include \char`\"{}config.\+h\char`\"{}}\newline
{\ttfamily \#include $<$emmintrin.\+h$>$}\newline
{\ttfamily \#include $<$tmmintrin.\+h$>$}\newline
{\ttfamily \#include $<$xmmintrin.\+h$>$}\newline
{\ttfamily \#include $<$conv\+\_\+acc\+\_\+sse\+\_\+impl.\+h$>$}\newline
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \textbf{ SSE\+\_\+\+ALIGN}~16
\item 
\#define \textbf{ SSE\+\_\+\+BROADCAST}(M0)
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+} ((visibility(\char`\"{}hidden\char`\"{})))
\begin{DoxyCompactList}\small\item\em Include common SSE implementation. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Accelerated Viterbi decoder implementation for architectures with only SSSE3 available. 



\doxysubsection{Macro Definition Documentation}
\mbox{\label{conv__acc__sse_8c_a550663711705ad5014910e124d00ee55}} 
\index{conv\_acc\_sse.c@{conv\_acc\_sse.c}!SSE\_ALIGN@{SSE\_ALIGN}}
\index{SSE\_ALIGN@{SSE\_ALIGN}!conv\_acc\_sse.c@{conv\_acc\_sse.c}}
\doxysubsubsection{SSE\_ALIGN}
{\footnotesize\ttfamily \#define SSE\+\_\+\+ALIGN~16}

\mbox{\label{conv__acc__sse_8c_ade08e13a2434f4bd4a4146cdb7b84dda}} 
\index{conv\_acc\_sse.c@{conv\_acc\_sse.c}!SSE\_BROADCAST@{SSE\_BROADCAST}}
\index{SSE\_BROADCAST@{SSE\_BROADCAST}!conv\_acc\_sse.c@{conv\_acc\_sse.c}}
\doxysubsubsection{SSE\_BROADCAST}
{\footnotesize\ttfamily \#define SSE\+\_\+\+BROADCAST(\begin{DoxyParamCaption}\item[{}]{M0 }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\{ \(\backslash\)}
\DoxyCodeLine{        M0 = \_mm\_unpacklo\_epi16(M0, M0); \(\backslash\)}
\DoxyCodeLine{        M0 = \_mm\_unpacklo\_epi32(M0, M0); \(\backslash\)}
\DoxyCodeLine{        M0 = \_mm\_unpacklo\_epi64(M0, M0); \(\backslash\)}
\DoxyCodeLine{\}}

\end{DoxyCode}


\doxysubsection{Function Documentation}
\mbox{\label{conv__acc__sse_8c_a654f220adbb8eaed520587f774ec00d3}} 
\index{conv\_acc\_sse.c@{conv\_acc\_sse.c}!\_\_attribute\_\_@{\_\_attribute\_\_}}
\index{\_\_attribute\_\_@{\_\_attribute\_\_}!conv\_acc\_sse.c@{conv\_acc\_sse.c}}
\doxysubsubsection{\_\_attribute\_\_()}
{\footnotesize\ttfamily \+\_\+\+\_\+attribute\+\_\+\+\_\+ (\begin{DoxyParamCaption}\item[{(visibility(\char`\"{}hidden\char`\"{}))}]{ }\end{DoxyParamCaption})}



Include common SSE implementation. 



References \textbf{ n}, and \textbf{ SSE\+\_\+\+ALIGN}.

