core.simd woes

F i L witte2008 at gmail.com
Mon Oct 8 14:18:00 PDT 2012


Iain Buclaw wrote:
> I fixed them again.
>
> https://github.com/D-Programming-GDC/GDC/commit/9402516e0b07031e841a15849f5dc94ae81dccdc#L4R1201
>
>
> float a = 1, b = 2, c = 3, d = 4;
> float4 f = [a,b,c,d];
>
> ===>
>         movss   -16(%rbp), %xmm0
>         movss   -12(%rbp), %xmm1

Nice, not even DMD can do this yet. Can these changes be pushed 
upstream?

On a side note, I understand GDC doesn't support the 
core.simd.__simd(...) command, and I'm sure you have good reasons 
for this. However, it would still be nice if:

a) this interface was supported through function-wrappers, or..
b) DMD/LDC could find common ground with GDC in SIMD instructions

I just think this sort of difference should be worked out early 
on. If this simply can't or won't be changed, would you mind 
giving a short explanation as to why? (Please forgive if you've 
explained this already before). Is core.simd designed to really 
never be used and Manu's std.simd is really the starting place 
for libraries? (I believe I remember him mentioning that)



More information about the Digitalmars-d mailing list