[FFmpeg-devel] Nasm/yasm support and x264 asm
Tue Jul 29 20:31:04 CEST 2008
On Tue, Jul 29, 2008 at 08:53:12AM -0600, Loren Merritt wrote:
> On Tue, 29 Jul 2008, Michael Niedermayer wrote:
> > One thing for example that i would not accept in unshared code is
> > the numbered registers, the registers have names and hiding them behind
> > numbers is idiotic. using new names for the native 32/64 bit size makes
> > sense but they should be based on the historic names of the registers.
> > nax, nbx, ... would be a random option
> > If one would rename the registers per function so the code would be
> > more readable and use thing like src, dst, stride, ... that would be
> > nice but changing eax/ebx/... to r0/r1/... really is not, unless for the
> > occasional case where a r0 really maps to different physical registers
> > at different points in a function but in that case it almost certainly
> > should have some more descriptive name ...
> Interesting. I see no point in inventing a new name like "nax". When I
> want to refer to the native size of register "a", I just use "rax" which
> is defined to "eax" on x86_32 and not defined on x86_64.
Indeed ive missed that, rax==eax on 32bit is a fine solution as well.
> The point of the numbered registers is that they don't have a fixed
> correspondence to the lettered registers, they correspond to function
> arguments. I didn't immediately see a way to allocate named function
> arguments; maybe I should spend some more time looking. (To be precise, I
> do see how to add a parameter list to a function declaration, but not how
> to cleanup the definitions at the end of the function. Afaict yasm lacks
> sufficient control over dereferencing (this is shared by several other
> languages, like C preprocessor and shell).)
I cant really say anything here as ive never worked with YASM and the last
time i coded for NASM was very long ago.
But i would suspect that some "non concise" solution exists like
(in C preprocessor)
#define dst "%eax"
#define src "%ebx"
Iam not sure though that it would be worth the extra code, maybe for large
and complex functions the gain in readability might be worth it.
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Concerning the gods, I have no means of knowing whether they exist or not
or of what sort they may be, because of the obscurity of the subject, and
the brevity of human life -- Protagoras
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: Digital signature
More information about the ffmpeg-devel