void GSDrawScanlineCodeGenerator::clamp16(const Xmm& a, const Xmm& temp)
{
    packuswb(a, a);

    if(m_cpu.has(util::Cpu::tSSE41))
    {
        pmovzxbw(a, a);
    }
    else
    {
        pxor(temp, temp);
        punpcklbw(a, temp);
    }
}
void GSDrawScanlineCodeGenerator::clamp16(const Xmm& a, const Xmm& temp)
{
#if _M_SSE >= 0x500

    vpackuswb(a, a);
    vpmovzxbw(a, a);

#elif _M_SSE >= 0x401

    packuswb(a, a);
    pmovzxbw(a, a);

#else

    packuswb(a, a);
    pxor(temp, temp);
    punpcklbw(a, temp);

#endif
}