#[repr(simd)]pub struct __m128(_, _, _, _);
Available on x86 and (x86 or x86-64) only.
Expand description
四种 f32
类型的 128 位宽集,特定于 x86
此类型与 Intel 定义的 __m128
类型相同,代表一个 128 位 SIMD 寄存器,该寄存器内部由四个包装的 f32
实例组成。
这种类型的用法通常对应于 x86/x86_64 的 sse
和 up 目标特性。
请注意,与 __m128i
(128 位寄存器的整数版本) 不同,此 __m128
类型具有 one 解释。
__m128
的每个实例始终与 f32x4
或包装在一起的四种 f32
类型相对应。
大多数使用 __m128
的内部函数都以 _mm_
为前缀,并以 “ps” 为后缀 (或另外包含 “ps”)。
不要与用于 __m128d
的 “pd” 混淆。
Examples
#[cfg(target_arch = "x86")]
use std::arch::x86::*;
#[cfg(target_arch = "x86_64")]
use std::arch::x86_64::*;
let four_zeros = _mm_setzero_ps();
let four_ones = _mm_set1_ps(1.0);
let four_floats = _mm_set_ps(1.0, 2.0, 3.0, 4.0);
Run