When running the code below, the float 2 should be stored yet it isn't. On Linux, the output is 4 lines of -nan, on Mac, the output is 4 lines of 0.0: import core.simd; import std.conv; import std.stdio; void main() { float4 fl = 2; foreach(f; fl.array) writefln("%f", f); }
2.059 Win32 PS E:\DigitalMars\dmd2\samples> dmd bug.d Internal error: ..\ztc\cg87.c 1699 See also http://d.puremagic.com/issues/show_bug.cgi?id=7507
See also: http://d.puremagic.com/issues/show_bug.cgi?id=7413 This is preventing a lot of work from being able to be done on the simd libraries. Algorithms like sin, cos, require a lot of literal constants to function, let alone several hundreds of constants for a comprehensive set of unit tests.
This has been fixed for a while now / can not reproduce.