rust/library
Trevor Gross 4c264c96ae Update CmpResult to use a pointer-sized return type
As seen at [1], LLVM uses `long long` on LLP64 (to get a 64-bit integer
matching pointer size) and `long` on everything else, with exceptions
for AArch64 and AVR. Our current logic always uses an `i32`. This
happens to work because LLVM uses 32-bit instructions to check the
output on x86-64, but the GCC checks the full 64-bit register so garbage
in the upper half leads to incorrect results.

Update our return type to be `isize`, with exceptions for AArch64 and
AVR.

Fixes: https://github.com/rust-lang/compiler-builtins/issues/919

[1]: 0cf3c437c1/compiler-rt/lib/builtins/fp_compare_impl.inc (L11-L27)
2025-05-28 02:58:42 -04:00
..
2025-05-12 15:33:37 +02:00
2025-05-07 13:08:19 +08:00
2025-05-12 15:33:41 +02:00
2025-05-01 20:01:43 +05:30
2025-05-01 20:01:43 +05:30
2025-05-07 13:08:19 +08:00
2025-05-15 11:20:13 +02:00