LDC 0.16.0 alpha3 is out! Get it, test it, give feedback!

Marco Leise via digitalmars-d-ldc digitalmars-d-ldc at puremagic.com
Sat Sep 19 11:09:52 PDT 2015


What can I say, it works nicely for me. I just see issues in
arcane fields of SIMD, but could work around it with inline
assembly that compiles to a lot shorter instructions than the
corresponding sequence of intrinsics:

m_sse = __asm!(const(ubyte16)*)("
    sub        $2, $1
    1:
    add        $2, $1
    vpcmpistri $3, ($1), $4
    cmp        $2, %ecx
    je         1b
    add        %rcx, $1
    ", "=r,0,I,K,x,~{ecx}", m_sse, 16, mode, SIMDFromString!cs);

It is just not very intelligible nor portable. Is there a way
to turn the %rcx into a wild card or %rcx/%ecx depending on
pointer width?

-- 
Marco



More information about the digitalmars-d-ldc mailing list