[FFmpeg-devel] H.264 Regressions for x86_32/gcc 2.95.3
Loren Merritt
lorenm
Fri Feb 8 15:15:00 CET 2008
On Fri, 8 Feb 2008, Michael Niedermayer wrote:
>
> There where many aligning bugs in gcc. One was that it ignored alignment
> directives for variables on the stack at least sometimes, we had a workaround
> for that which loren removed in r11875 (a wanrnig fix ironically). I do not
> know if this is related to the problem you have. Possibly r11875 just slows
> down the mmx code without really breaking sse*
> Another is that gcc couldnt align anything more than the alignment the
> stack had on entry (main() or for example avcodec_decode_video())
The workaround only provided 8 byte alignment, and can't be extended
because there is no C type that requires more alignment on x86. Unless gcc
obeys alignment attributes of user-defined types even when it ignores
them on variables?
btw, it doesn't stop at 16. Due to cacheline split issues on intel cpus,
some of the mc functions benefit from up to 64byte alignment of the
intermediate arrays.
--Loren Merritt
More information about the ffmpeg-devel
mailing list