[Issue 17237] Wrong alignment of 256-bit and 512-bit vectors
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Wed Mar 1 14:11:43 PST 2017
https://issues.dlang.org/show_bug.cgi?id=17237
Iain Buclaw <ibuclaw at gdcproject.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ibuclaw at gdcproject.org
--- Comment #1 from Iain Buclaw <ibuclaw at gdcproject.org> ---
On a mild ranting note, this is the offender in the frontend.
---
// AggregateDeclaration.placeField (aggregate.d)
if ((global.params.is64bit || global.params.isOSX) && memalignsize == 16)
{
}
else if (8 < memalignsize)
memalignsize = 8;
---
For DMD - you seem to have forgotten that you support 256-bit vectors.
For GDC, you're ignoring the target-specific alignment of fields that we
return, instead enforcing that everything must fit your x86 view of ABI.
This piece of code should be moved to Target::fieldalign where it deservedly
belongs.
--
More information about the Digitalmars-d-bugs
mailing list