ppc: 0.979 graphic: 0.882 architecture: 0.816 device: 0.724 network: 0.589 semantic: 0.561 vnc: 0.436 debug: 0.427 peripherals: 0.418 boot: 0.398 performance: 0.395 PID: 0.393 socket: 0.311 kernel: 0.246 permissions: 0.230 arm: 0.225 x86: 0.192 TCG: 0.182 register: 0.176 risc-v: 0.175 assembly: 0.172 hypervisor: 0.161 user-level: 0.141 mistranslation: 0.130 i386: 0.114 virtual: 0.101 files: 0.097 VMM: 0.082 KVM: 0.040 -------------------- ppc: 0.999 performance: 0.590 assembly: 0.481 TCG: 0.296 debug: 0.263 architecture: 0.084 files: 0.083 register: 0.068 semantic: 0.055 kernel: 0.032 user-level: 0.020 peripherals: 0.014 PID: 0.012 device: 0.005 virtual: 0.003 boot: 0.003 mistranslation: 0.003 graphic: 0.002 hypervisor: 0.002 network: 0.001 VMM: 0.001 permissions: 0.001 socket: 0.001 risc-v: 0.001 vnc: 0.001 arm: 0.000 KVM: 0.000 x86: 0.000 i386: 0.000 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()); } ```