diff options
| author | Seo Sanghyeon <sanxiyn@gmail.com> | 2013-05-02 21:33:41 +0900 |
|---|---|---|
| committer | Seo Sanghyeon <sanxiyn@gmail.com> | 2013-05-07 23:35:33 +0900 |
| commit | c5a7be624a85e876ac8dacf0e53d64f0916112d1 (patch) | |
| tree | 7ee2fdefaf07bcdd3f643c8cea4db58f26d71164 | |
| parent | f3217a5c9c2e838cacaf68fe9d54230be7faca6c (diff) | |
| download | rust-c5a7be624a85e876ac8dacf0e53d64f0916112d1.tar.gz rust-c5a7be624a85e876ac8dacf0e53d64f0916112d1.zip | |
Add core::simd and define SIMD vector types
| -rw-r--r-- | src/libcore/core.rc | 1 | ||||
| -rw-r--r-- | src/libcore/simd.rs | 43 |
2 files changed, 44 insertions, 0 deletions
diff --git a/src/libcore/core.rc b/src/libcore/core.rc index 127d6dbc774..5c05c83e35a 100644 --- a/src/libcore/core.rc +++ b/src/libcore/core.rc @@ -164,6 +164,7 @@ pub mod nil; pub mod bool; pub mod char; pub mod tuple; +pub mod simd; pub mod vec; pub mod at_vec; diff --git a/src/libcore/simd.rs b/src/libcore/simd.rs new file mode 100644 index 00000000000..a05f6e8af5a --- /dev/null +++ b/src/libcore/simd.rs @@ -0,0 +1,43 @@ +// 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 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +//! SIMD vectors + +#[allow(non_camel_case_types)]; + +#[simd] +pub struct i8x16(i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8); + +#[simd] +pub struct i16x8(i16, i16, i16, i16, i16, i16, i16, i16); + +#[simd] +pub struct i32x4(i32, i32, i32, i32); + +#[simd] +pub struct i64x2(i64, i64); + +#[simd] +pub struct u8x16(u8, u8, u8, u8, u8, u8, u8, u8, u8, u8, u8, u8, u8, u8, u8, u8); + +#[simd] +pub struct u16x8(u16, u16, u16, u16, u16, u16, u16, u16); + +#[simd] +pub struct u32x4(u32, u32, u32, u32); + +#[simd] +pub struct u64x2(u64, u64); + +#[simd] +pub struct f32x4(f32, f32, f32, f32); + +#[simd] +pub struct f64x2(f64, f64); |
