diff options
Diffstat (limited to 'gitlab/issues_text/target_ppc/host_missing/accel_missing/1779')
| -rw-r--r-- | gitlab/issues_text/target_ppc/host_missing/accel_missing/1779 | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/gitlab/issues_text/target_ppc/host_missing/accel_missing/1779 b/gitlab/issues_text/target_ppc/host_missing/accel_missing/1779 deleted file mode 100644 index 12d78ef21..000000000 --- a/gitlab/issues_text/target_ppc/host_missing/accel_missing/1779 +++ /dev/null @@ -1,30 +0,0 @@ -PowerPC AltiVec source vector subnormal values are not flushed to zero -Description of problem: -AltiVec specifies that source and result vectors are flushed to zero (in NJ mode). Only result vectors are flushed to zero. -Steps to reproduce: -1. Compile the attached Rust program (e.g. `cargo +nightly build --target powerpc-unknown-linux-gnu`) -2. Run the program and expect assertions to pass. -3. See assertions fail. -Additional information: -See the offending Rust program: - -``` -#![feature(stdsimd, powerpc_target_feature)] - -use std::arch::powerpc::*; - -#[target_feature(enable = "altivec")] -unsafe fn add(x: f32, y: f32) -> f32 { - let array: [f32; 4] = unsafe { std::mem::transmute(vec_add(vec_splats(x), vec_splats(y))) }; - array[0] -} - -pub fn main() { - let result = unsafe { add(-1.0857398e-38, 0.) }; - assert_eq!(result, 0.); - - // if the input is flushed, the result will be +0 - // if only the output is flushed, the result is -0 - assert!(result.is_sign_positive()); -} -``` |