Function core::arch::x86_64::_mm_mpsadbw_epu8
1.27.0 · source · pub unsafe fn _mm_mpsadbw_epu8(
a: __m128i,
b: __m128i,
const IMM8: i32
) -> __m128i
Available on (x86 or x86-64) and target feature
sse4.1
and x86-64 only.Expand description
减去 8 位无符号整数值,然后将差的绝对值计算为目标中的相应位。
然后,根据立即操作数中的位字段返回绝对差之和。
执行以下算法:
ⓘ
i = IMM8[2] * 4
j = IMM8[1:0] * 4
for k := 0 to 7
d0 = abs(a[i + k + 0] - b[j + 0])
d1 = abs(a[i + k + 1] - b[j + 1])
d2 = abs(a[i + k + 2] - b[j + 2])
d3 = abs(a[i + k + 3] - b[j + 3])
r[k] = d0 + d1 + d2 + d3
RunArguments:
a
-__m128i
类型的 128 位 vector。b
-__m128i
类型的 128 位 vector。IMM8
- 一个 8 位 immediate 操作数,指定如何计算绝对差[2]
位指定操作数a
的偏移量[1:0]
位指定操作数b
的偏移量
Returns:
__m128i
vector 包含两个操作数之间的绝对差集的总和。