D1 to be discontinued on December 31, 2012

Timon Gehr timon.gehr at gmx.ch
Thu Dec 15 08:00:13 PST 2011


On 12/15/2011 04:37 PM, bearophile wrote:
> Timon Gehr:
>
>> Fixed array assignment certainly won't cause any trouble.<
>
> I don't know about the D front end, but those arrays have caused performance problems in my D2 code. Later I have taken more care, assigning items one after the other, writing:
>
> int[3] a = void;
> a[0] = ...
> a[1] = ...
> a[2] = ...
>
> Instead of:
> int[3] a = [..., ..., ...];
>

I usually use:

     static _a = [1, 2, 3];
     int[3] a = _a;

This certainly should be fixed, what I wanted to say is, there are not 
many fixed size arrays in a compiler front-end.

>
>> An issue is that 32 bit x86 architectures do not necessarily provide any SSE support.
>
> Most PCs have SSE2 support. Lot of PCs today have SSE3 too.
>
>
>> GCC will not use XMM registers by default either.
>
> LLVM-GCC (and probably Clang too) use SSE registers on default on 32 bit Windows. And with modern GCC-MinGW I usually compile code with those registers too on 32 bit Windows, using the right compiler switches.
>




More information about the Digitalmars-d mailing list