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