[Bug middle-end/29440] 4.2 20061007 experimental misscompiles libavcodec/h264.o
poirierg at gmail dot com
gcc-bugzilla@gcc.gnu.org
Thu Oct 12 14:53:00 GMT 2006
------- Comment #5 from poirierg at gmail dot com 2006-10-12 14:53 -------
Hello,
(In reply to comment #3)
> Does it work when compiled with -O0 instead of -O4? How about -O1?
The code compiles and produces the expected result with -O1, O2, but can't be
compiled with -O0:
In file included from h264.c:36:
cabac.h: In function 'get_cabac':
cabac.h:454: error: can't find a register in class 'GENERAL_REGS' while
reloading 'asm'
cabac.h:454: error: 'asm' operand has impossible constraints
h264.c: In function 'decode_cabac_residual':
h264.c:6120: warning: initialization from incompatible pointer type
> Besies above, I noticed that the asm in get_cabac looks to be clobbering memory
> but is not marked as such.
I can't really comment on that as I'm not too inline-asm fluent... however, I
can say that this code can't be compiled without -fomit-frame-pointer.
Is GCC supposed to produce valid code with this source to begin with?
Guillaume
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29440
More information about the Gcc-bugs
mailing list