__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