mirror of
https://github.com/rust-lang/rust.git
synced 2025-10-08 05:06:52 +00:00
26 lines
632 B
Rust
26 lines
632 B
Rust
#![feature(target_feature)]
|
|
|
|
extern crate stdsimd;
|
|
|
|
use std::env;
|
|
use stdsimd::simd;
|
|
|
|
#[inline(never)]
|
|
#[target_feature = "-sse2"]
|
|
fn myop(
|
|
(x0, x1, x2, x3): (u64, u64, u64, u64),
|
|
(y0, y1, y2, y3): (u64, u64, u64, u64),
|
|
) -> (u64, u64, u64, u64) {
|
|
let x = simd::u64x4::new(x0, x1, x2, x3);
|
|
let y = simd::u64x4::new(y0, y1, y2, y3);
|
|
let r = x * y;
|
|
(r.extract(0), r.extract(1), r.extract(2), r.extract(3))
|
|
}
|
|
|
|
fn main() {
|
|
let x = env::args().nth(1).unwrap().parse().unwrap();
|
|
let y = env::args().nth(2).unwrap().parse().unwrap();
|
|
let r = myop((x, x, x, x), (y, y, y, y));
|
|
println!("{:?}", r);
|
|
}
|