[FFmpeg-devel] [PATCH] Fix ff_imdct_calc_sse() on gcc-4.6.
Sun Jan 30 11:13:24 CET 2011
On Sun, Jan 30, 2011 at 01:22:05AM -0800, Alex Converse wrote:
> On Sun, Jan 30, 2011 at 1:08 AM, Alex Converse <alex.converse at gmail.com> wrote:
> > Gcc 4.6 only preserves the first value when using a vector with an "m"
> > constraint.
> > ---
> > ?libavcodec/x86/fft_sse.c | ? ?4 ++--
> > ?1 files changed, 2 insertions(+), 2 deletions(-)
> oops this generates an extra indirection. Those of you who like to
> defend inline asm, please step up and make some suggestions.
Use what would be your _only_ option (conceptually, not in implementation
of course) if you didn't use inline asm:
MANGLE and change DECLARE_ALIGNED to DECLARE_ASM_CONST
There's also the option of a gcc bug report, I have some doubts that is
a valid optimization (though there are constraints to make gcc load
directly into a xmm register, but both that and the current code have
needlessly unpredictable performance).
More information about the ffmpeg-devel