Archived

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

ArnoAtWork

Pentium III instructions

Recommended Posts

ArnoAtWork    138
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
a person    118
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
ArnoAtWork    138
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