On Wednesday, 29 January 2014 at 18:05:41 UTC, Stanislav Blinov wrote:

Yep, doesn't seem to be simd-related:

struct S(T) { T v1, v2; }

void main() {
        alias T = double; // integrals and float are ok :\
        version (workaround) {
                S!T[1] p = void;
        } else {
                S!T[1] p;
        }
}

Anyway, here's the revised (and bugfixed :o)) code, if anyone's interested:

http://dpaste.dzfl.pl/52d9e1fdc0fd

On my machine, dmd -release -O -inline -noboundscheck is only 6 times slower than that C++ version :D

I'll try to get around to making it work with ldc on the weekend.

Reply via email to