Can we rely on LDC respecting "align" (for avx) ??

Tejas notrealemail at gmail.com
Wed Sep 8 04:55:28 UTC 2021


On Wednesday, 8 September 2021 at 04:43:31 UTC, Tejas wrote:
> On Wednesday, 8 September 2021 at 04:32:50 UTC, james.p.leblanc 
> wrote:
>> [...]
>
> Yes you are correct (to my understanding)
>
> DMD only respects `align` keyword upto the value 16,ie, until 
> `align(16)`, the code behaves the way you expect it to. It is 
> 100% a bug(don't have the link on me right now)
>
> Try the following code on DMD, then LDC. See for yourself
>
> ```d
> import std.stdio:writeln;
>
> void main()
> {
>     align(16) int[100] a;
>     align(1024) int[100] b;
>     writeln(cast(ulong)&a[0] % 16);
>     writeln(cast(ulong)&b[0] % 1024);
> }
> ```

Here's the link:
https://issues.dlang.org/show_bug.cgi?id=16098


More information about the Digitalmars-d-learn mailing list