Function core::arch::x86_64::_mm_cmpestri 1.27.0[−][src]
pub unsafe fn _mm_cmpestri<const IMM8: i32>(
a: __m128i,
la: i32,
b: __m128i,
lb: i32
) -> i32
This is supported on x86-64 and target feature
sse4.2
only.Expand description
使用 IMM8
中的控件将包装的字符串 a
和 b
与长度 la
和 lb
进行比较,并返回生成的索引。
与 _mm_cmpistri
相似,但 _mm_cmpistri
隐式确定 a
和 b
的长度。
控制方式
IMM8
指定的控件可以是以下一种或多种。
数据大小和签名
比较选项
结果极性
返回位
Examples
#[cfg(target_arch = "x86")] use std::arch::x86::*; #[cfg(target_arch = "x86_64")] use std::arch::x86_64::*; // 我们要在其中找到子字符串的字符串 let haystack = b"Split \r\n\t line "; // 我们要搜索的字符串带有一些我们不想搜索的额外字节。 let needle = b"\r\n\t ignore this "; let a = _mm_loadu_si128(needle.as_ptr() as *const _); let b = _mm_loadu_si128(haystack.as_ptr() as *const _); // Note: 我们明确指定只想在 `b` 中搜索 a 的前 3 个字符。 let idx = _mm_cmpestri(a, 3, b, 15, _SIDD_CMP_EQUAL_ORDERED); assert_eq!(idx, 6);Run