The following code: float f(float a, float b) { float c = a + b; float d = c - b; return d; } unnecessarily stores c into memory when it could be left in an XMM register. Compile with -m32 -O.
@WalterBright created dlang/dmd pull request #12103 "fix Issue 21527 - Unnecessary store to memory in SIMD code" fixing this issue: - fix Issue 21527 - Unnecessary store to memory in SIMD code https://github.com/dlang/dmd/pull/12103
dlang/dmd pull request #12103 "fix Issue 21527 - Unnecessary store to memory in SIMD code" was merged into master: - 4de894dcd8022925132674643c47d2108443765f by Walter Bright: fix Issue 21527 - Unnecessary store to memory in SIMD code https://github.com/dlang/dmd/pull/12103