• pin xue's avatar
    replace movw instruction in ac3dsp_armv6.S · 05c062e9
    pin xue authored
    AS      libavcodec/arm/ac3dsp_armv6.o
    ffmpeg-src/libavcodec/arm/ac3dsp_armv6.S: Assembler messages:
    ffmpeg-src/libavcodec/arm/ac3dsp_armv6.S:40: Error: selected processor
    does not support `movw r8,#0x1fe0'
    make[1]: *** [libavcodec/arm/ac3dsp_armv6.o] Error 1
    
    MOVW is ARMv7 way to load constant:
       * movw, or move wide, will move a 16-bit constant into a register,
    implicitly zeroing the top 16 bits of the target register.
       * movt, or move top, will move a 16-bit constant into the top half
    of a given register without altering the bottom 16 bits
    To load 32 bit constant, movw  lower16; movt upper16; is better than
    ldr if available, because:
    While this approach takes two instructions, it does not require any
    extra space to store the constant so both the movw/movt method and the
    ldr method will end up using the same amount of memory. Memory
    bandwidth is precious in and the movw/movt approach avoids an extra
    read on the data side, not to mention the read could have missed the
    cache.
    
    But here it is armv6 optimization, so that we have to use ldr.
    Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
    05c062e9
Name
Last commit
Last update
doc Loading commit data...
ffpresets Loading commit data...
libavcodec Loading commit data...
libavdevice Loading commit data...
libavfilter Loading commit data...
libavformat Loading commit data...
libavutil Loading commit data...
libpostproc Loading commit data...
libswscale Loading commit data...
mt-work Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
COPYING.GPLv2 Loading commit data...
COPYING.GPLv3 Loading commit data...
COPYING.LGPLv2.1 Loading commit data...
COPYING.LGPLv3 Loading commit data...
CREDITS Loading commit data...
Changelog Loading commit data...
Doxyfile Loading commit data...
INSTALL Loading commit data...
LICENSE Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README Loading commit data...
cmdutils.c Loading commit data...
cmdutils.h Loading commit data...
cmdutils_common_opts.h Loading commit data...
common.mak Loading commit data...
configure Loading commit data...
ffmpeg.c Loading commit data...
ffplay.c Loading commit data...
ffprobe.c Loading commit data...
ffserver.c Loading commit data...
ffserver.h Loading commit data...
subdir.mak Loading commit data...
version.sh Loading commit data...