core.simd woes

Manu turkeyman at gmail.com
Mon Oct 8 14:30:52 PDT 2012


On 9 October 2012 00:18, F i L <witte2008 at gmail.com> wrote:

> Iain Buclaw wrote:
>
>> I fixed them again.
>>
>> https://github.com/D-**Programming-GDC/GDC/commit/**
>> 9402516e0b07031e841a15849f5dc9**4ae81dccdc#L4R1201<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)
>

core.simd just provides what the compiler provides in it's most primal
state. As far as I'm concerned, it's just not meant to be used directly
except by library authors.
It's possible that a uniform suite of names could be made to wrap all the
compiler-specific names (ldc is different again), but that would just get
wrapped a second time one level higher. Hardly seems worth the effort.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20121009/0a7d88b9/attachment.html>


More information about the Digitalmars-d mailing list