Commit graph

6 commits

Author SHA1 Message Date
Martin Kinkelin
7816e7730a
Win64: Use LLVM's vector calling convention for extern(D) (#2714)
I.e., pass and return vectors in registers. With the default C calling
convention (and the Win64 TargetABI not touching any vectors), vectors
are returned in XMM0, but inefficiently passed as ref to hidden copy
(automatically by LLVM).

Microsoft's vector calling convention, introduced opt-in with VS 2013,
additionally puts HFAs and HVAs (Homogeneous Float/Vector Aggregates)
into registers, see
https://blogs.msdn.microsoft.com/vcblog/2013/07/11/introducing-vector-calling-convention/.
2018-05-31 01:44:46 +02:00
Martin Kinkelin
ecbc36d372
Win32: Add extra underscore for mangled names of D symbols (#2598)
DMD 2.079 introduces this breaking ABI change. Just like on 32-bit OSX,
the mangled names of D symbols now include the platform-specific
underscore prefix.
2018-04-02 02:27:09 +02:00
Martin
bda56b7263 Adapt lit-tests to new mangling scheme
Only those failing on Win64 so far.
2017-11-05 21:58:12 +01:00
Martin
d53ffb6ebb Adapt lit-tests to new Win32 D mangling 2017-10-07 14:06:17 +02:00
Johan Engelen
aeac3d5e9c Fix name hashing tests for Windows x86. 2016-05-24 21:23:10 +02:00
Johan Engelen
776e32d801 Add experimental -hash-threshold option to hash very long symbol names. 2016-05-24 11:39:08 +02:00