[MPlayer-users] [BUG] asm uses too many registers in swscale_template.c?

Reimar Döffinger Reimar.Doeffinger at stud.uni-karlsruhe.de
Sun Jun 19 10:51:03 CEST 2005


Hi,
On Sat, Jun 18, 2005 at 09:58:01PM -0700, Pandora wrote:
> Hello, I was trying out the nifty new gcc compiler (version 3.4.4,
> SSP, PIE) when I discovered that mplayer wouldn't compile!  This is
> the error I ran across:
> 
> swscale_template.c: In function `swScale_MMX2':
> swscale_template.c:2522: error: can't find a register in class `GENERAL_REGS' while reloading `asm'
> swscale_template.c:2522: error: can't find a register in class `GENERAL_REGS' while reloading `asm'

We won't fix it (because we can't really, at least not without sacrificing
speed). Use gcc 2.95, I never heard that kind of problem with those.
3.4.3 always worked for me , too....

> I did some looking into it, and apparantly some registers are
> 'reserved' for use outside of inline assembly code.  The compiler
> tries to account for people using them inside the code, but when it
> runs out of registers well... it chokes.  *points above*  I got CVS

It can't run out of registers, it just would have to spill them to
memory (like it does in about every other case, like function calls).

> https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=127699
> If this is any help, page down to what Richard Henderson says.  That's
> all the information I could find on this problem, sorry for being so
> asm clueless.  ^.^()  

No, that's disinformation. He's talking sh**, that's all I'm going to
say. But the gcc developer recently seem to simple close bugs they don't
want to fix (see Michael Niedermayer's sig...)

> There's a thing in the gcc manual on GENERAL_REGS, but I didn't
> understand what it was saying...

GENERAL_REGS just signifies the "general purpose" registers,
i.e. those with which you can do about anything your CPU can do (add,
multiple etc.).

Greetings,
Reimar Döffinger




More information about the MPlayer-users mailing list