Add core::simd and define SIMD vector types
This commit is contained in:
parent
f3217a5c9c
commit
c5a7be624a
2 changed files with 44 additions and 0 deletions
|
@ -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
43
src/libcore/simd.rs
Normal 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);
|
Loading…
Reference in a new issue