Struct core::arch::x86::__m128i 1.27.0[−][src]
#[repr(simd)]pub struct __m128i(_, _);
This is supported on x86 only.
Expand description
128 位宽的整数 vector 类型,特定于 x86
此类型与 Intel 定义的 __m128i
类型相同,代表一个 128 位 SIMD 寄存器。
这种类型的用法通常对应于 sse
和 x86/x86_64 的向上目标功能。
在内部,此类型可以被视为:
i8x16
- 十六个i8
变量包装在一起i16x8
- 八个i16
变量包装在一起i32x4
- 四个i32
变量包装在一起i64x2
- 两个i64
变量包装在一起
(以及未签名的版本)。 每个内联函数可能对内部位的解释不同,请查看内联函数的文档以了解其用法。
请注意,这意味着 __m128i
的实例通常仅表示 “bag of bits”,该 “bag of bits” 留待使用时进行解释。
使用 __m128i
的大多数内联函数都以 _mm_
作为前缀,并且整数类型往往对应于后缀,例如 “epi8” 或 “epi32”。
Examples
#[cfg(target_arch = "x86")] use std::arch::x86::*; #[cfg(target_arch = "x86_64")] use std::arch::x86_64::*; let all_bytes_zero = _mm_setzero_si128(); let all_bytes_one = _mm_set1_epi8(1); let four_i32 = _mm_set_epi32(1, 2, 3, 4);Run
Trait Implementations
This is supported on x86 or x86-64 only.
This is supported on x86 or x86-64 only.
This is supported on x86 or x86-64 only.