Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Question: SIMD extensions on IA32 processors (and WindowsXP)

Author: Gerd Isenberg

Date: 12:10:53 01/03/04

Go up one level in this thread


On January 03, 2004 at 06:06:22, Daniel Mehrmannn wrote:

>Hello all,
>
>i have, for some experts, a stupid questions. I'm playing a little bit with SIMD
>extensions on my AthlonXP. I wanna use some mmx (testing sse/sse2) comands for
>my chessengine.
>
>I know linux support that new extensions above 2.4.18 so far (see /proc/cpuinfo
>flags). But what about WindowsXP ? I don't find the right websites at the
>moment.
>
>Of course everybody knows that we can use only this extenions if the OS support
>this. The taskmanager save/set the register which the processes used (task
>switching).

Hi Daniel,

MMX-registers are shared with x87 floating point registers and they are
saved/restored during context switch under all 32-bit windows as well as
linux32/64?, but afaik not any longer in the coming windows for AMD64, where
floating point is done with SSE-instructions and XMM-registers.

>
>Who tested the automatic intrinsics vector function/support of icc and gcc ? Is
>it  good to use this or should this code write as asm inline code ? I'm a
>beginner with asm, so ut would be better if i could use the support of compiler
>;)
>

The new ms-compiler don't supports inline assembler anymore.

With MMX/SSE2, i have chiefly experience with msc6.0 compiler - and inline
assembly for MMX-instructions (AthlonXp under W2K).

I played a bit with intrinsics (same compiler) and found MMX-instrinsics tend to
have a lot of not necessary load/store instructions around. But that seems not a
problem with SSE2 instrinsics.

With MSC my favorite way to use SSE2-intricsics for fill algos seem to be a
128-bit C++ wrapper class derived from a base containing a union of intrinsics
and standard-data types. Depending on the date-type, the register incarnation is
either a pair of general purpose registers (AMD64) or one 128-bit XMM-register.

Cheers,
Gerd


>I know that the icc have, i know only 7.0, problems with intrinsics vectors
>because it only used this on sharps with a same datastream (e.g. for(....)).
>
>thanks
>daniel



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.