This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/29440] 4.2 20061007 experimental misscompiles libavcodec/h264.o
- From: "poirierg at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 12 Oct 2006 15:03:34 -0000
- Subject: [Bug middle-end/29440] 4.2 20061007 experimental misscompiles libavcodec/h264.o
- References: <bug-29440-9939@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #6 from poirierg at gmail dot com 2006-10-12 15:03 -------
(In reply to comment #4)
> (In reply to comment #3)
> > Does it work when compiled with -O0 instead of -O4? How about -O1?
> >
> > Besies above, I noticed that the asm in get_cabac looks to be clobbering memory
> > but is not marked as such.
> >
>
> Andrew, this testcase violates aliasing rules.
>
> h264.c: In function 'filter_mb_fast':
> h264.c:7074: warning: dereferencing type-punned pointer will break
> strict-aliasing rules
For what it's worth, the code around line 7074 compiled correctly with snapshot
4.2-20060909 and has been in FFmpeg since Mon Aug 28 09:33:01 2006 UTC, so IMHO
it shouldn't be the cause of the problem I'm reporting today.
However, if you have a suggestion to improve this code, I'm all ears
Guillaume
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29440