| #![feature(core_intrinsics)] | |
| // Requires the use of the nightly rust | |
| // Compile with -O | |
| pub fn max_array(x: &mut[f64; 65536], y: &[f64; 65536]) { | |
| unsafe { | |
| std::intrinsics::assume(x.as_ptr() as usize % 64 == 0); | |
| std::intrinsics::assume(y.as_ptr() as usize % 64 == 0); | |
| } | |
| for i in 0..65536 { | |
| x[i] = if y[i] > x[i] { y[i] } else { x[i] }; | |
| } | |
| } |