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.