[Openal-devel] x86 cpu capabilites detection routine to be commited
james at infosemi.com
Mon Oct 3 12:10:34 PDT 2005
Prakash Punnoor wrote:
>James Tomaschke schrieb:
>>Prakash Punnoor wrote:
>Thanx a lot! Though the function doesn't exactly do what I wanted, it
>was a nice example, so I could modify it for my needs. I commited my
>changes and also updated INSTALL file.
I'm glad I could help.
>BTW, how far are you with the 64 bit calling conventions? After all it
>would be nice to have the cpu detection gong on 64 bit, as SSE3 isn't
>available CPUS (and 3dNOW not on Intel CPUs). Currently we don't have
>such SIMD code, but may be in future...
I haven't been able to check any of the win32-64 calling convention yet.
I've abstracted the CC parameters into macros but even though it works
I'm not sure it's a good idea. For maintainance reasons it might just
be simpler on everyone if there is a specific asm source for each
platform. If I abstract rdi into %macro PARAM1 then using rdi in the
source later can become confusing. I then tried creating SCRATCHn
macros for leftover registers, like I said, it worked but I don't think
it's clean enough for everyone.
However if the ASM opcodes make little or no use of the GPRs and stick
with mm* registers then we can just use the CC macros and avoid register
abstraction. Also, if a lot of the code body can be shared across
x86/x86_64 platforms, the code could be placed in an include file and
the calling convention could be done in the parent file that wraps it.
>For the time being it would be enough if it worked on 32 and 64 bit
>compiled code for unix/linux, as windows users would hardly use this
If you stick to just x86/x86_64 on posix, it will be easier to share the
same code between them, either through macros or include files. It may
be inevitable to simply put one asm source per platform.
Snr. Software Engineer
More information about the Openal-devel