[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

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.).

Reimar Döffinger

More information about the MPlayer-users mailing list