void GSDrawScanlineCodeGenerator::modulate16(const Xmm& a, const Operand& f, int shift)
{
#if _M_SSE >= 0x500

    if(shift == 0)
    {
        vpmulhrsw(a, f);
    }
    else
    {
        vpsllw(a, shift + 1);
        vpmulhw(a, f);
    }

#else

    if(shift == 0 && m_cpu.has(util::Cpu::tSSSE3))
    {
        pmulhrsw(a, f);
    }
    else
    {
        psllw(a, shift + 1);
        pmulhw(a, f);
    }

#endif
}
void GPUDrawScanlineCodeGenerator::modulate16(const Xmm& a, const Operand& f)
{
	if(shift == 0 && m_cpu.has(util::Cpu::tSSSE3))
	{
		pmulhrsw(a, f);
	}
	else
	{
		psllw(a, shift + 1);
		pmulhw(a, f);
	}
}