Add core::simd and define SIMD vector types

This commit is contained in:
Seo Sanghyeon 2013-05-02 21:33:41 +09:00
parent f3217a5c9c
commit c5a7be624a
2 changed files with 44 additions and 0 deletions

View 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;

43
src/libcore/simd.rs Normal file
View file

@ -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);