__simd_sto confusion
Marco Leise via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sat Oct 3 18:37:13 PDT 2015
Am Sat, 03 Oct 2015 23:42:22 +0000
schrieb Nachtraaf <nachtraaf80 at gmail.com>:
> I changed the type of result to void16 like this:
>
> float dot_simd1(float4 a, float4 b)
> {
> void16 result = __simd(XMM.DPPS, a, b, 0xFF);
> float value;
> __simd_sto(XMM.STOSS, value, result);
> return value;
> }
>
> and for me this code compiles and runs without any errors now.
> I'm using DMD64 D Compiler v2.068 on Linux. If you got an
> internal compiler error that means that it's a compiler bug
> though I have no clue what. Did you try the same thing I did or
> casting the variable?
> I guess I should file a bugreport for overload resolution if it's
> not a duplicate for now?
Yes. At some point the intrinsics will need a more thorough
rework. Currently none of those that return void, int or set
flags work as they should.
--
Marco
More information about the Digitalmars-d-learn
mailing list