And at the risk of getting this topic back on track:

On Wednesday, 16 May 2018 at 20:34:26 UTC, Walter Bright wrote:
Linkers already do that. Alignment is specified on all symbols emitted by the compiler, and the linker uses that info.

Mea culpa. Upon further thinking, two things strike me:

1) As suggested, there's no way to instruct the front-end to align functions to byte boundaries outside of "optimise for speed" command line flags

2) I would have heavily relied on incremental linking to iterate on these tests when trying to work out how the processor behaved. I expect MSVC's incremental linker would turn out to be just rubbish enough to not care about how those flags originally behaved.

On Wednesday, 16 May 2018 at 20:36:10 UTC, Walter Bright wrote:
It would be nice to get this technique put into std.algorithm!

The code I wrote originally was C++ code with intrinsics. But I can certainly look at adapting it to DMD/LDC. The DMD frontend providing natural mappings for Intel's published intrinsics would be massively beneficial here.

Reply via email to