Richard Boulton wrote:
>
> Guys,
Hi,
>
> I'm having trouble getting the current CVS version to compile. Specifically,
> the file motion.c in plugins/mpeg2/mpeg2enc/
>
> It looks like a problem with libmmx: initially I get the following errors...
>
> (Sorry for the long error trails here.)
>
> This is all happening on a P-166 MMX running Debian (potato - frozen),
> with:
>
> idle:~$ gcc -v
> Reading specs from /usr/lib/gcc-lib/i386-linux/2.95.2/specs
> gcc version 2.95.2 20000116 (Debian GNU/Linux)
I'm using:
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/specs
gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
Do the same errors appear in video.c in the mpeg_play element? It has a similar
type of mmx asm.
> motion.c:2434: warning: unused variable `v'
> motion.c:2433: warning: unused variable `i'
> motion.c: In function `variance':
> motion.c:2680: warning: unused variable `i'
> motion.c: In function `dpfield_estimate':
> motion.c:1169: warning: `imino' might be used uninitialized in this function
> motion.c:1169: warning: `jmino' might be used uninitialized in this function
> motion.c:1169: warning: `imindmv' might be used uninitialized in this function
> motion.c:1169: warning: `jmindmv' might be used uninitialized in this function
> motion.c: At top level:
> motion.c:1363: warning: `PACKED_0' defined but not used
> motion.c:1364: warning: `PACKED_1' defined but not used
> motion.c:1365: warning: `PACKED_2' defined but not used
OK, the warnings are OK.
> /tmp/ccwG7VeD.s: Assembler messages:
> /tmp/ccwG7VeD.s:3087: Error: suffix or operands invalid for `pand'
> /tmp/ccwG7VeD.s:3098: Error: suffix or operands invalid for `pand'
> /tmp/ccwG7VeD.s:3138: Error: suffix or operands invalid for `pand'
> /tmp/ccwG7VeD.s:3149: Error: suffix or operands invalid for `pand'
> /tmp/ccwG7VeD.s:3185: Error: suffix or operands invalid for `pand'
> /tmp/ccwG7VeD.s:3196: Error: suffix or operands invalid for `pand'
any chance you could send me a copy of that /tmp file? a few lines
around 3087 should be enough to see what happens.
>
> Guessing, from looking at include/mmx.h, that this is due to a borken
> parallel and, I tried defining BROKEN_PAND. This threw up errors due to
> a missing ; on line 533 of include/mmx.h, which I'll commit to the CVS in
> a moment. After correcting this, I get:
>
The pandn instruction is worse, it is broken on my compiler. :-(
Wim