DMD 32 bit Linux code gen now uses XMM for float & double

9il ilyayaroshenko at gmail.com
Tue May 28 01:46:50 UTC 2019


On Tuesday, 28 May 2019 at 01:23:18 UTC, Walter Bright wrote:
> 32 Bit Linux now uses XMM registers for float and double rather 
> than the x87.
>
> This should substantially speed up routine float and double 
> processing.
> SIMD vector operations, however, are still not support on 32 
> bit Linux code
> because of issues with 16 byte stack alignment.
>
> This means that generated code will no longer work on older x86 
> processors that
> do not have XMM registers. If this is an issue, please file a 
> bug report.
>
> https://github.com/dlang/dmd/pull/9895
>
> DMD always had that capability, it just wasn't enabled for 
> backwards compatibility with older processors.

Thanks a lot. I expect it resolves some ancient issues I had with 
math functions when compiled with DMD.

Does DMD still use x87 for float/double on other targets?


More information about the Digitalmars-d-announce mailing list