[fpc-devel] SSE in FPC
Florian Klaempfl
florian at freepascal.org
Sun Nov 30 20:24:10 CET 2008
Dariusz Mazur schrieb:
> Florian Klaempfl pisze:
>> Dariusz Mazur schrieb:
>>
>>> Jonas Maebe pisze:
>>>
>>>>> Of course tSSEVector should be declared in System unit.
>>>>> Then any one can use SSE intentionally
>>>>>
>>>> Why can't you now? It's not like multiplication has any other meaning
>>>> for arrays. And declaring "magic compiler types" in the system unit is
>>>> something that should be avoided as much as possible (it makes both
>>>> the compiler and rtl harder to adapt and understand).
>>>>
>>> Of course, but SIMD is thing, which has more and more impact to
>>> performance. And compiler should respect it (and do this, as Florian
>>> said). But till now nobody know, where compiler use SSE instruction.
>>
>> Of course one knows. For array operations as shown SSE/SSE2 is used if
>> enabled.
>> _______________________________________________
>>
> Ok. I only want to discover how to use it.
> if I write
>
> type
> tSSEVector = array[0..1] of double
> var
> d1 : tSSeVector;
> d2 : array[0..1]of tSSEVector;
> begin
> d1:=d2[0]*d2[1];
> end;
>
> will be work too?
Yes.
>
> Or something like this:
>
> function f ;
>
> var
>
> d1,d2,d3 : array[0..4] of integer;
> begin
>
> d1:=d2*d3;
>
> end;
No. Not yet implemented iirc.
More information about the fpc-devel
mailing list