3.60: Functional TOP but ASM-Doku still about NASM

Got an idea for enhancing PureBasic? New command(s) you'd like to see?
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by theogott.

Besides there is no place in the help that shows
some informations about usable mnemonics, examples etc.

I have the german version.



*************************
The best time to do things is now !
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by theogott.

Just searching for the new "Shell-compiler options" for
"ALL CPU", "SSE2" etc. cannot find a line.

What is "All CPU" ? Is it for SMP-Systems ?

My Athlon XP has SSE & 3DNOw can I use both ?

When do i use "dynamic CPU" ?

Why no sentence in the Doku ?
I guess the Doku is not really ready.



*************************
The best time to do things is now !
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by Rings.

Sorry Theo, but you have to use the FASM-Help !
You can everything (Mostly) do that fasm can.
Use the ! sign for include directly into asm

!MOV eax,EDX

!macro .......

etc. pp.


Its a long way to the top if you wanna .....CodeGuru
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by fred.
What is "All CPU" ? Is it for SMP-Systems ?

My Athlon XP has SSE & 3DNOw can I use both ?

When do i use "dynamic CPU" ?
Ok, my mistake I've forget to udpate some things in the docs. If you see the size of it, you will may be understand better. That's not like a 'Readme' to udpate. Ok so I will explain a bit more these features:

- All CPU: the program is compiled to work on all CPU, like previous PB. No CPU specific routines or optimizations are included.

- Dynamic CPU: the program embbed ALL specific CPU routines in the executable, making it bigger. The good point is than an auto CPU detection code is added at the program and the right routine will be used depending on the CPU. This is of course interresting for programs where the speed is critical and size doesn't matter. For example, the same program can embbed 2 routines for 'DisplayTranslucideSprite()', one for MMX and one for SSE and the good one will be choosen at the program start, depending on the CPU.

- MMX, SSE, 3DNOW, SSE2: build a specific exec, which will run only on the processor with these extensions (ie: smaller than dynamic but much less flexible)

Ok, I hope I cleared up the thing. Note: for now, no optimizations are done, but all is described on the SDK and actually works. So we could see quickly some third-part libs using these technologies. Regular PB commands, like string manipulations etc will be step by step enhanced to take advantages of new CPU (and generated code of course).



Fred - AlphaSND
Post Reply