[Issue 16098] align(32) not respected for stack variables
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Jan 30 23:02:48 UTC 2019
https://issues.dlang.org/show_bug.cgi?id=16098
--- Comment #3 from Vladimir Panteleev <dlang-bugzilla at 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]; }
--
More information about the Digitalmars-d-bugs
mailing list