https://issues.dlang.org/show_bug.cgi?id=16098

--- Comment #3 from Vladimir Panteleev <dlang-bugzi...@thecybershadow.net> ---
Well, this is annoying.

Broken code:

    align(16) uint[128] state;
    asm { fxsave state; }

"Fixed" code:

    uint[128 + 4] buf;
    auto state = cast(uint*)((cast(size_t)buf.ptr + 0xF) & ~size_t(0xF));
    version (X86_64)
        asm { mov RAX, state; fxsave 0[RAX]; }
    else
        asm { mov EAX, state; fxsave 0[EAX]; }

--

Reply via email to