Re: fistp
From: The Wannabee (faq_at_.@.@szmyggenpv.com)
Date: 07/15/04
- Next message: Betov: "Re: A good thread there"
- Previous message: J.Mo: "Re: ASM vs HLL : absurd war"
- In reply to: wolfgang kern: "Re: fistp"
- Next in thread: wolfgang kern: "Re: fistp"
- Reply: wolfgang kern: "Re: fistp"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Thu, 15 Jul 2004 11:57:25 -0700
På Wed, 14 Jul 2004 18:47:19 +0200, skrev wolfgang kern
<nowhere@nevernet.at>:
> "The Wannabee" wrote:
> You sure mean FFREE ST(n) [n: 0..7]
Yes
> try also FDECSTP/FINCSTP (rotate the FPU stack up/dn)
1215/1203
> | FREE ST0 is twice as fast as ADD EAX EAX ?
> Depends on surrounding code dependencies and on CPU-type...
> ADD EAX EAX is four times faster than FFREE(i) here. :)
Oki. Thats weird, but I may add more than 8 instructions between the loop.
But anyway, 300 times, for FINITO, even if somewhat incorrect, is a stop
sign. And you also said it would be slower. At least that was confirmed.
> | Also FREEP doesnt seem to assemble.
> "FFREP"
> I don't have any FFREEP in my Intel list (blank=reserved code),
> but it's mentioned in my AMD-doc's [DF C0+i].
> It seems to be an "AMD only!" instruction.
Ok. I didnt notice the [undoc]. I tried DB 0_FD 0_C0, the programme
dissappeard. What did I do wrong ? Anyway, in RosAsm manual, FFREEP is
listed as FFREE STx with POP. So that I need to replace that, must be
FFREE ST0, and then FDECSTP or FINCSTP.
> Perhaps the used code is an equivalent for FSTP ST0,ST0
> if not, it should be marked as AMD only then?
Its marked 286, FPU, UNDOC
> | 295_582??? Thats insane. It could be renamed to FINITO.
> Then try WBINV (if windoze allow it), this is the time-waster Nr.1.
> You'll find it just once in the installer-section of KESYS.
I dont think thats supported, so I guess windows will not allow it.
Whats the DB code ?
> BTW: Did you get the Intel doc's ?
> (Vol 3 contains a complete description ao all instructions)
Yeah, I have all those, my lazy sob. Just ignore me if it takes to much
time to answer. Reading the answer directly from you, is much more
motivating, at least at the moment. Because currently I work mainly on
other things, I just asked about FINIT.O to be sure. I got some other
advice elsewhere.
> And I use the FPU only on very rare occasions, even its speed
> had improved recently, it always works on floating point 2^-n
> which produce unwanted rounding effects,
> and it wastes a lot of time if used for integer calculation.
Oki. If you say so. Whats a cakewalk to you, of course, is a headache to
me :-)
> Early KESYS used the FBSTP for hex-ASCII conversion,
> but since 1998 I support large integers (up to 512 bytes now)
> with pseudo-DP and 10^n exponents, and therefore the FPU become
> almost completely useless.
> The only time I use it is the creation of the 16-bit Sin/Cos-table
> (graphics-acceleration).
> I think your timing monitor is not what you expect it to be.
> Whenever I'm interested in time-details I use RDTSC before and after...
I will use RDTSC in the future, if available in windows. Using the
Performance counter is good enough in many situations, as indications, on
larger code sections, but as RDTSC is easier to work with (isnt all asm
allmost?), and more reliable, then the HLL Performance counter, I start
using it when needed. I have SO much to spend time on. Like now, I am
spending hours on hours to just USE some of my apps, and make small
changes, so that I can try to find some weird, really weird errors.
Thanks for taking the time.
> __
> wolfgang
>
>
>
>
- Next message: Betov: "Re: A good thread there"
- Previous message: J.Mo: "Re: ASM vs HLL : absurd war"
- In reply to: wolfgang kern: "Re: fistp"
- Next in thread: wolfgang kern: "Re: fistp"
- Reply: wolfgang kern: "Re: fistp"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]