Mail Archives: djgpp/2000/04/18/04:41:15
Dieter Buerssner wrote:
>
> [followup set]
>
> Alexei A. Frounze wrote:
>
> >I forgot about one important thing. W/o FIDIVRL executed in parallel to
> >the span() function he wouldn't get such a result. This trick is
> >unchanged by him.
>
> This is wrong. Repeating it, doesn't make it correct.
Well, well, well.
Remember, you wrote:
-------------------8<------------------------
If you
#define USEC 0
#define USEC2 0
you'll get your original code. With
#define USEC 1
#define USEC2 0
you'll get the code, that is actually faster
with my computer, than
your original. I have to compile it with -O
and not -O2, to get it
faster. All the other modules, I have let
compiled with -O2.
With
#define USEC 1
#define USEC2 1
you'll get the version with one line of inline
assembly. Again I used
-O only
-------------------8<------------------------
Right now I'm running your source...
USEC=1,USEC2=0 makes engine as fast as original and there _is_ FIDIVRL trick
with USEC2=0. Max FPS is 70.
USEC=1,USEC2=1 makes engine slower. Max FPS is 62. And there is _no_ FIFIVRL
trick.
In both cases I used -O.
> Quick proof for the source, #defined for "Level II", without
> any of your inline assembly.
>
> E:\test\a2>gcc -O -S tmapping.c
>
> E:\test\a2>grep -i fidivrl tmapping.s
Finds it for the USEC=1,USEC2=0 case and doesn't find it for the USEC=1,USEC2=1
case.
> If you don't understand, RTFM.
I really don't understand. Which FM do you mean?
bye.
Alexei A. Frounze
-----------------------------------------
Homepage: http://alexfru.chat.ru
Mirror: http://members.xoom.com/alexfru
- Raw text -