]> git.lizzy.rs Git - rust.git/commitdiff
Add core::simd and define SIMD vector types
authorSeo Sanghyeon <sanxiyn@gmail.com>
Thu, 2 May 2013 12:33:41 +0000 (21:33 +0900)
committerSeo Sanghyeon <sanxiyn@gmail.com>
Tue, 7 May 2013 14:35:33 +0000 (23:35 +0900)
src/libcore/core.rc
src/libcore/simd.rs [new file with mode: 0644]

index 127d6dbc774328fc8eda5cfe5aec585e48a7ae41..5c05c83e35aae6a11fd55749dc7cd9c1780280e7 100644 (file)
@@ -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 (file)
index 0000000..a05f6e8
--- /dev/null
@@ -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);