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