On 9 October 2012 00:30, Iain Buclaw <ibuc...@ubuntu.com> wrote: > On 8 October 2012 22:18, F i L <witte2...@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. >
GCC offers perfectly good intrinsics anyway. And they're superior to the DMD intrinsics too.