diff options
| author | Ralf Jung <post@ralfj.de> | 2024-09-11 20:26:56 +0200 |
|---|---|---|
| committer | Ralf Jung <post@ralfj.de> | 2024-09-12 08:08:38 +0200 |
| commit | b72b42d36faf301f8cd6c31372525ab69ed752cc (patch) | |
| tree | 5ad2726702344fa12da6d96bcf45e9be88871080 /tests/ui/float | |
| parent | 7f7c73bd9c1f0b27078f65fc16ce79dff9d25827 (diff) | |
| download | rust-b72b42d36faf301f8cd6c31372525ab69ed752cc.tar.gz rust-b72b42d36faf301f8cd6c31372525ab69ed752cc.zip | |
move a test to a better location
Diffstat (limited to 'tests/ui/float')
| -rw-r--r-- | tests/ui/float/int-to-float-miscompile-issue-105626.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/ui/float/int-to-float-miscompile-issue-105626.rs b/tests/ui/float/int-to-float-miscompile-issue-105626.rs new file mode 100644 index 00000000000..8d4a7c308e7 --- /dev/null +++ b/tests/ui/float/int-to-float-miscompile-issue-105626.rs @@ -0,0 +1,17 @@ +//@ run-pass +//@ only-x86 +//@ compile-flags: -Ctarget-feature=+sse2 + +use std::hint::black_box; + +fn main() { + let n: i64 = black_box(0x3fffffdfffffff); + let r = f32::from_bits(0x5a7fffff); + + assert_ne!((n as f64) as f32, n as f32); + + // FIXME: these assertions fail if only x87 is enabled + // see also https://github.com/rust-lang/rust/issues/114479 + assert_eq!(n as i64 as f32, r); + assert_eq!(n as u64 as f32, r); +} |
