From 1a1e6c8e7358df16e87e9d9f9cdcc5c80dfdeca1 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 20 May 2014 20:24:17 -0700 Subject: std: Move simd to core::simd and reexport. #1457 [breaking-change] --- src/libcore/lib.rs | 3 ++- src/libcore/simd.rs | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 src/libcore/simd.rs (limited to 'src/libcore') diff --git a/src/libcore/lib.rs b/src/libcore/lib.rs index 0ddd3d8fd56..56cbe2e2a30 100644 --- a/src/libcore/lib.rs +++ b/src/libcore/lib.rs @@ -53,7 +53,7 @@ html_root_url = "http://doc.rust-lang.org/")] #![no_std] -#![feature(globs, macro_rules, managed_boxes, phase)] +#![feature(globs, macro_rules, managed_boxes, phase, simd)] #![deny(missing_doc)] #[cfg(test)] extern crate realcore = "core"; @@ -124,6 +124,7 @@ pub mod iter; pub mod option; pub mod raw; pub mod result; +pub mod simd; pub mod slice; pub mod str; pub mod tuple; diff --git a/src/libcore/simd.rs b/src/libcore/simd.rs new file mode 100644 index 00000000000..c0825c3fc29 --- /dev/null +++ b/src/libcore/simd.rs @@ -0,0 +1,62 @@ +// Copyright 2013 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +//! SIMD vectors + +#![allow(non_camel_case_types)] +#![allow(missing_doc)] + +#[experimental] +#[simd] +pub struct i8x16(pub i8, pub i8, pub i8, pub i8, + pub i8, pub i8, pub i8, pub i8, + pub i8, pub i8, pub i8, pub i8, + pub i8, pub i8, pub i8, pub i8); + +#[experimental] +#[simd] +pub struct i16x8(pub i16, pub i16, pub i16, pub i16, + pub i16, pub i16, pub i16, pub i16); + +#[experimental] +#[simd] +pub struct i32x4(pub i32, pub i32, pub i32, pub i32); + +#[experimental] +#[simd] +pub struct i64x2(pub i64, pub i64); + +#[experimental] +#[simd] +pub struct u8x16(pub u8, pub u8, pub u8, pub u8, + pub u8, pub u8, pub u8, pub u8, + pub u8, pub u8, pub u8, pub u8, + pub u8, pub u8, pub u8, pub u8); + +#[experimental] +#[simd] +pub struct u16x8(pub u16, pub u16, pub u16, pub u16, + pub u16, pub u16, pub u16, pub u16); + +#[experimental] +#[simd] +pub struct u32x4(pub u32, pub u32, pub u32, pub u32); + +#[experimental] +#[simd] +pub struct u64x2(pub u64, pub u64); + +#[experimental] +#[simd] +pub struct f32x4(pub f32, pub f32, pub f32, pub f32); + +#[experimental] +#[simd] +pub struct f64x2(pub f64, pub f64); -- cgit 1.4.1-3-g733a5