simulated_packed_simd 0.0.1

Simulated SIMD for Stable channel. Effort to make the `packed_simd` crate work on stable channel.
Documentation
/// Slightly modify the example on crate `simd` to make it work on stable channel 
/// Reference link : https://github.com/rust-lang-nursery/simd

extern crate ssimd;
use ssimd::f32x4;

#[inline(never)]
pub fn convert_scalar(x: &mut [i32], y: &[f32]) {
    assert_eq!(x.len(), y.len());

    let mut i = 0;
    while i < x.len() & !3 {
        x[i] = y[i] as i32;
        i += 1;
    }
}

#[inline(never)]
pub fn convert(x: &mut [i32], y: &[f32]) {
    assert_eq!(x.len(), y.len());

    let mut i = 0;
    while i < x.len() & !3 {
        let v = f32x4::load(y, i);
        v.to_i().store(x, i);
        i += 4
    }
}

fn main() {
    let x = &mut [0; 12];
    let y = [1.0; 12];
    convert(x, &y);
    convert_scalar(x, &y);
    println!("{:?}", x);
    let x = &mut [0; 16];
    let y = [1.0; 16];
    convert(x, &y);
    convert_scalar(x, &y);
    println!("{:?}", x);
}