https://issues.dlang.org/show_bug.cgi?id=15154
bitter.ta...@gmx.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bitter.ta...@gmx.com Resolution|--- |INVALID --- Comment #1 from bitter.ta...@gmx.com --- Not much of a bug here, in the first snippet you're calling __simd_sto with [XMM, float, float4] which is a MATCHconvert for both the overloads of the __simd_sto. On the other hand when you explicitly cast the vector to void16 we get a MATCHconvert for the [XMM, double, void16] overload (note the float -> double conversion) and a MATCHperfect for [XMM, float, void16] so that's what is picked. --