• Christophe Gisquet's avatar
    x86 dsputil: provide SSE2/SSSE3 versions of bswap_buf · 6b039003
    Christophe Gisquet authored
    
    
    While pshufb allows emulating bswap on XMM registers for SSSE3, more
    shuffling is needed for SSE2. Alignment is critical, so specific codepaths
    are provided for this case.
    
    For the huffyuv sequence "angels_480-huffyuvcompress.avi":
    C (using bswap instruction): ~ 55k cycles
    SSE2:                        ~ 40k cycles
    SSSE3 using unaligned loads: ~ 35k cycles
    SSSE3 using aligned loads:   ~ 30k cycles
    Signed-off-by: default avatarDiego Biurrun <diego@biurrun.de>
    6b039003
dsputil_mmx.c 120 KB