После использования инструкции по сборке:
pcmpeqd xmm2, xmm7
Результат в реестре xmm2 = 00000000 00000000 FFFFFFFF 00000000
Результат правильный. К сожалению, сравнение не устанавливает никаких флагов, которые можно проверить, чтобы выйти из цикла. Также любое из 4 двойных слов может иметь все свои биты, а не только приведенный здесь пример. Нужно ли загружать каждое из 4 двойных слов в регистр общего назначения для повторного тестирования? Или есть более быстрый способ сделать это?
pmovmskb
, чтобы извлечь старшие биты каждого байта в регистр, а затем использоватьtest
для проверки если установлены какие-либо или все биты. С SSE4.1 вы также можете попробоватьptest
- person chtz   schedule 20.05.2020