[Issue 15154] Wrong overload resolution with implicit conversion of other vectorized parameter __vector(void[16])

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Tue Jan 17 07:06:47 PST 2017


https://issues.dlang.org/show_bug.cgi?id=15154

bitter.taste at gmx.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |bitter.taste at gmx.com
         Resolution|---                         |INVALID

--- Comment #1 from bitter.taste at 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.

--


More information about the Digitalmars-d-bugs mailing list