Archived

This topic is now archived and is closed to further replies.

ArnoAtWork

Pentium III instructions

Recommended Posts

God !!!! I try using Pentium III instructions for my maths library. For that, I installed Pack service 4 and the Processor Pack. Unfortunately, I can''t compile. I have the impression that the value ICL is not defined. Do I have to install a new compiler or the processor pack includes one? However, I error is returned during the compilation. In fact, I can''t use the pentium register directly. I think that mmX registers can not be editable directly. So, I am lost. But as I am developing a 3D engine, I really think that using PIII instructions could speed up my code. Thanks.

Share this post


Link to post
Share on other sites
what is the exact error? and the code that produces the error? are you sure you are using the registers and instructions correctly? what compiler/assembler are you using (guessing its vc++ since you are mentioning a service pack)?

i have used successfully used mmx instructions and registers within vc++ 6.0 with the latest service pack (pretty sure its the latest). i have not tried sse code yet.

i am assume you have the 3d engine working already using c/c++ code. if not, forget asm, and work on getting the engine running, then deal with optimizations.

Share this post


Link to post
Share on other sites
I disagree - for a math library, which is independent of the rest of the engine, it''s OK to optimize it right at the beginning.

What version of VC++ are you using? I wrote MMX code with inline assembly that worked perfectly fine, with VC++ 5.0 and 6.0. I haven''t tried SSE instructions yet, though.

~CGameProgrammer( );

Share this post


Link to post
Share on other sites
In fact, I include fvec.h. So, I use __m128 to use registers of float for my maths library.

However, the problem is that __ICL is not defined. So, the code :

#ifdef __ICL
typedef unsigned long long __m128;
#endif

does not create the type __m128.

So, after that, all functions of the header does not know __m128 and the compilation crashes.

Then, ICL is not defined. However this value defines if the Inter CompiLer exists in the system or not.

So, as I installed Processor Pack and the Service Pack 4, I think that the intel compiler should be added but in fact not.

I am a bit lost. So what should I do?

Thanks.


Share this post


Link to post
Share on other sites