Linkowanie statyczne.

Roman Werpachowski rwerp w gazeta.pl
Czw, 4 Lis 2004, 12:42:00 CET


Pawel Sikora wrote:

>> Tak na marginesie, to co daje? Wg info gcc przeczniki jedynie 
>> umoliwiaj korzystanie z rozszerzonych instrukcji, tak wic nie 
>> wystarczy programu przekompilowa, trzeba go przepisa.
> 
> 
> no bo umozliwiaja. ot prosty przyklad:
> 
> typedef double d2[2];
> d2 x, y, z;
> 
> void test()
> {
>     z[0] = x[0] + y[0];
>     z[1] = x[1] + y[1];
> }
> 
> gcc -s -S e.c -O2 -fomit-frame-pointer -ffast-math -march=pentium4
> 
> test:
>         fldl    y
>         faddl   x
>         fstpl   z
>         fldl    y+8
>         faddl   x+8
>         fstpl   z+8
>         ret
> 
> gcc -s -S e.c -O2 -fomit-frame-pointer -ffast-math -march=pentium4
> -mfpmath=sse
> 
> test:
>         movsd   y, %xmm0
>         addsd   x, %xmm0
>         movsd   %xmm0, z
>         movsd   y+8, %xmm0
>         addsd   x+8, %xmm0
>         movsd   %xmm0, z+8
>         ret
> 
> 
> jak widac kompilator umie skorzystac takze z sseX.

Nie o tym mówiłem. Same -msse2 -mmmx (bez -mpfpmath) nie dają tego, a 
-mfpmath=sse ustawia te przełączniki i tak.

> jednakoz duzo lepsze efekty daje przepisanie kodu pod katem
> rownoleglych obliczen. przydatne sa wtedy typy i metody
> zdefiniowane w plikach:
> 
> /usr/lib/gcc/pentium3-pld-linux/3.4.3/include/emmintrin.h
> /usr/lib/gcc/pentium3-pld-linux/3.4.3/include/mmintrin.h
> /usr/lib/gcc/pentium3-pld-linux/3.4.3/include/pmmintrin.h
> /usr/lib/gcc/pentium3-pld-linux/3.4.3/include/xmmintrin.h








Więcej informacji o liście dyskusyjnej pld-devel-pl