On Sat, Dec 21, 2013 at 03:08:21PM +0100, Paolo Bonzini wrote:
> Il 21/12/2013 00:00, Richard Henderson ha scritto:
> > +        if (real_bswap && have_movbe) {
> > +            tcg_out_modrm_offset(s, OPC_MOVBE_GyMy + P_DATA16 + seg,
> > +                                 datalo, base, ofs);
> > +            tcg_out_ext16u(s, datalo, datalo);
> 
> Do partial register stalls still exist on Atom and Haswell?  I don't
> remember exactly what you had to do to prevent them, but IIRC you first
> moved zero to the register and then overwrote the the low 16 bits.

Note that for unsigned 16-bit load you can do either movzw + bswap or 
movbe + movzw.

-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
aurel...@aurel32.net                 http://www.aurel32.net

Reply via email to