[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] MMX Transform for Win32



Lenard Lindstrom wrote:
Richard Goedeken wrote:
I think I posted it on this email list when it was done; maybe noone merged it into the SVN tree? I don't think I have write access to SVN, otherwise I would have merged it.

I have attached a zip file with the code.

Richard

Jason Ward wrote:
I just looked in transform.c and I haven't seen any asm code at all.
maybe point me to a function name or a code line number
The assembler code is in SVN. The code is in routines: filter_shrink_X_MMX, filter_expand_X_MMX, filter_shrink_Y_MMX and filter_expand_Y_MMX.

Giving this more thought it is too late in the Pygame release cycle to add an Intel translation of the assembly code to Pygame 1.8.0. This would lead to four versions of each of four subroutines. The resulting conditional expressions will be ungainly. Also the Intel translations will need properly tested. The AT&T assembly code has been out for awhile and shows no problems. For the moment a MinGW compiled transform.pyd can be used in the Windows binaries for Pygame 1.8.0. But it is desirable to translate the AT&T assembly code to Intel at some point in the future. If the gcc x86 C compiler truly handle VC style inlined assembly, including C identifiers within assembly code, then the AT&T code can be entirely replaced. Otherwise separate AT&T and Intel versions will need to be maintained. It has also been discussed to reintroduce the original SSE versions of the routines. But this will involve a rethink on how MMX/SSE support is provided.

--
Lenard Lindstrom
<len-l@xxxxxxxxx>