diff options
| author | 2025-12-07 12:29:27 +0100 | |
|---|---|---|
| committer | 2025-12-07 12:29:27 +0100 | |
| commit | 4d4e61e82cd693d2800bf409c8e3dde1ac2b75a5 (patch) | |
| tree | a2a531dd53648dd3037fb02f0f2d1c5e6fa21113 /ir/abi0.c | |
| parent | f7d68175fc2b52230b8f78bf78145c7f1d0ad9c5 (diff) | |
amd64: use XORPS for floating point negation
Previously `neg x` was being turned into `sub 0, x`. But this gives the
wrong result for zero/negative zero (-0.0 == -0.0 but 0.0 - 0.0 == 0.0),
so it wasn't IEEE compliant or correct. Do what every other compiler
does instead and flip the sign bit with an exclusive or.
Should implement someway of deduplicating small data constants like the
ones used here though.
Diffstat (limited to 'ir/abi0.c')
0 files changed, 0 insertions, 0 deletions