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 }