首页 > 解决方案 > 有没有办法在一条指令中比较 2 个压缩的 qwords?

问题描述

我正在尝试SSE/AVX扩展,现在正在查看pcmpxstrx指令系列。正如 Intel 指令参考中所指定的,它提供了比较存储在xmm寄存器中的 2 个字符串的能力。所以例如

mov rax, 0x22223333
movq xmm0, rax

mov rax, 0x22221111
movq xmm1, rax

pcmpistri xmm0, xmm1, 0001b

结果设置rcx为值1。这在单词上效果很好,但我正在寻找一种方法来packed qwordsymm寄存器中执行这种比较。据我所知,甚至AVX没有提升pcmpistri到 256 位

VPCMPISTRI xmm1, xmm2/m128, imm8        AVX

所以唯一的方法是使用VPCMPEQQBSF2条指令)?

标签: assemblyx86x86-64avx

解决方案


推荐阅读