GNOME Bugzilla – Bug 604679
videomixer MMX code doesn't build on fedora12
Last modified: 2009-12-17 09:03:16 UTC
Building on fedora12, with: gcc (GCC) 4.4.2 20091027 (Red Hat 4.4.2-7) I get: CC blend_ayuv.o blend_ayuv.c: In function ‘gst_videomixer_blend_ayuv_ayuv_mmx’: blend_ayuv.c:285: error: can't find a register in class ‘GENERAL_REGS’ while reloading ‘asm’ blend_ayuv.c:285: error: ‘asm’ operand has impossible constraints make: *** [libgstvideomixer_la-blend_ayuv.lo] Error 1
And, oops... forgot to mention: this is x86 (32 bit)
Building on debian 5 (64bit) with: gcc (Debian 4.3.2-1.1) 4.3.2 I get: CC blend_ayuv.o blend_ayuv.c: Assembler messages: blend_ayuv.c:292: Error: Incorrect register `%eax' used with `b' suffix make: *** [libgstvideomixer_la-blend_ayuv.lo] Error 1
commit 0a0f7ecc1646751ea820bd68846f24edc755d352 Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Wed Dec 16 10:50:32 2009 +0100 videomixer: Use movzbl instead of movzxb for moving one byte to a l register For some reason latest gcc/binutils accept movzxb here while movzbl would be correct and is the only thing accepted by older gcc/binutils. Fixes bug #604679.
*** Bug 604805 has been marked as a duplicate of this bug. ***