core.simd woes

Iain Buclaw ibuclaw at ubuntu.com
Mon Oct 8 14:30:41 PDT 2012


On 8 October 2012 22:18, F i L <witte2008 at gmail.com> wrote:
> 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)
>

I'm refusing to implement any intrinsic that is tied to a specific architecture.

-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';


More information about the Digitalmars-d mailing list