Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: icc 8.1: compile messages

Author: Gerd Isenberg

Date: 01:32:21 01/03/05

Go up one level in this thread


On January 02, 2005 at 19:59:18, Daniel Mehrmannn wrote:

>Hi :)
>
>I'm playing a little bit ping pong with my intel compiler 8.1.
>
>After added /QxW i got the message "remark: LOOP WAS VECTORIZED."
>What does it mean ?
>
>ps: engine runs without any problems :)
>
>thanks :)

Hi Daniel,

i am not familar with icc but i guess this message means i kind of loop
unrolling, probably using mmx- or sse-vector instructions (byte, 16-bit words or
32-bit dwords). Would be interesting to inspect the assembly. For instance if
you have following loop:

unsigned char a[16], b[16], c[16];
...
for (int i=0; i < 16; i++)
   c[i] = max (a[i], b[i]); // or other binary operations

it might be possible to do it with a few sse2 simd instructions:

movdqa xmm0, [a] ; addresses should be 16 Byte aligned
pmaxub xmm0, [b]
movdqa [c], xmm0

As i said - only a guess.

Gerd



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.