summary refs log tree commit diff stats
path: root/gitlab/issues_text/target_ppc/host_missing/accel_missing/1780
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues_text/target_ppc/host_missing/accel_missing/1780')
-rw-r--r--gitlab/issues_text/target_ppc/host_missing/accel_missing/178017
1 files changed, 17 insertions, 0 deletions
diff --git a/gitlab/issues_text/target_ppc/host_missing/accel_missing/1780 b/gitlab/issues_text/target_ppc/host_missing/accel_missing/1780
new file mode 100644
index 000000000..3ef1ce9e8
--- /dev/null
+++ b/gitlab/issues_text/target_ppc/host_missing/accel_missing/1780
@@ -0,0 +1,17 @@
+PowerPC mishandles xscmpudp instruction
+Description of problem:
+xscmpudp instruction is mishandled
+Steps to reproduce:
+1. Compile the attached program with VSX (e.g. `RUSTFLAGS=-Ctarget-feature=+vsx cargo build --target=powerpc64-unknown-linux-gnu`)
+2. Run the program and expect assertions to pass.
+3. See assertions fail.
+Additional information:
+When VSX is disabled, the `fcmpu` instruction is emitted instead (and handled properly).  See the offending program:
+```
+pub fn main() {
+    use std::hint::black_box;
+    assert!(black_box(f64::NAN)
+        .clamp(black_box(0f64), black_box(0f64))
+        .is_nan());
+}
+```