Page 1 of 1
Bug with DYNAMICCPU?
Posted: Tue Nov 26, 2013 6:05 pm
by technicorn
It seems there is a problem with the /DYNAMICCPU switch on PB 5.21 LTS on windows 7 64bit.
When I use it with the 32 bit compiler the "Dynamic0", "Dynamic1" and so on labels are missing a colon, so you get an assembler error.
With the 64 Bit compiler there are two errors in the emited asm, first is, there is no code included at the start for checking and setting the procedure pointers.
Second, the indirect call to the procedures are of the form "call dword [f_someProcedureName]", I think the dword should be qword on 64 bit code and the memory place for the pointer is also of only dd size.
Maybe I'm the only one using the dynamic switch, but it would be nice, if someone could confirm this is a bug and if it would be corrected if so.
Greatings
technicorn
Re: Bug with DYNAMICCPU?
Posted: Tue Nov 26, 2013 6:15 pm
by ts-soft
I think, you have misinterpreted this switch!
This switch is to use, for example mmx extension is supported by CPU
and Lib/Userlib!
In the moment, there is IMHO no Userlib, that support this, so the switch is useles
in this time

Re: Bug with DYNAMICCPU?
Posted: Tue Nov 26, 2013 9:49 pm
by technicorn
ts-soft wrote:I think, you have misinterpreted this switch!
This switch is to use, for example mmx extension is supported by CPU
and Lib/Userlib!
In the moment, there is IMHO no Userlib, that support this, so the switch is useles
in this time

It's just what I want to do, writing some user libs that use the most effective instructions on the cpu they are running on, to do some number crunching.
Re: Bug with DYNAMICCPU?
Posted: Wed Nov 27, 2013 9:27 am
by Danilo
ts-soft wrote:In the moment, there is IMHO no Userlib, that support this, so the switch is useles
in this time

Aren't all PB libraries compiled with optimizations for MMX, 3Dnow!, SEE2/3/4 etc.?
Are PB internal libs compiled for 80386 processor only? Where can one find more informations about this?
Re: Bug with DYNAMICCPU?
Posted: Wed Nov 27, 2013 9:55 am
by PB
> Where can one find more informations about this?
The manual says that "No PB functions actually support this feature
for now (it is ignored for them). However, some User Libraries include
such optimisations."
So, it doesn't matter what the CPU Optimisation setting is for apps
without UserLibs: it's not even used.
Re: Bug with DYNAMICCPU?
Posted: Wed Nov 27, 2013 10:01 am
by Danilo
PB wrote:> Where can one find more informations about this?
The manual says that "No PB functions actually support this feature
for now (it is ignored for them). However, some User Libraries include
such optimisations."
So, it doesn't matter what the CPU Optimisation setting is for apps
without UserLibs: it's not even used.
Thanks, just found it and wanted to delete my question.
Anyway, isn't it time to compile the PB libraries additionally with MMX and SSE(2,3,4) support,
just telling the C compiler to do the optimizations?
This could easily double or triple the speed for encryption + packer stuff and many other things,
on modern computers.
Re: Bug with DYNAMICCPU?
Posted: Wed Nov 27, 2013 10:06 am
by ts-soft
Danilo wrote:Aren't all PB libraries compiled with optimizations for MMX, 3Dnow!, SEE2/3/4 etc.?
Are PB internal libs compiled for 80386 processor only? Where can one find more informations about this?
You can take a look on the libfunctions with "PB Tools for PB libs":
http://www.realsource.de/downloads/doc_ ... or-pb-libs
I can't find a function with "functionname_mmx" or "functionname_sse"!