Распаковка данных
XMM-команды распаковки попарно объединяют элементы данных из обоих операндов в более длинные элементы выходного операнда. Этими командами можно пользоваться для увеличения числа значащих разрядов при вычислениях.
Мнемоника | Описание |
UNPCKHPS | UNPaCK High Packed Single precision float point data Параллельное перемещение старших двойных слов из операнда-источника и операнда-приемника в операнд-приемник.Пример: |
UNPCKLPS | UNPaCK Low Packed Single precision float point data Параллельное перемещение младших двойных слов из операнда-источника и операнда-приемника в операнд-приемник. Пример: |
SHUFPS | UNPaCK Low Packed Single precision float point data Параллельная перестановка 32-разрядных упакованных операндов в соответствии с заданной маской. Команда имеет три операнда: входной, выходной и операнд-маску. Маска представляет собой непосредственное 8-разрядное значение, задающее порядок перестановки операндов. Каждая пара битов маски определяет номер упакованного 32-разрядного операнда в приемнике или источнике, который должен помещаться в операнд-приемник. При этом порядок размещения 32-разрядных операндов таков: младшие 4 бита маски указывают номера двух упакованных чисел приемника, которые становятся младшими упакованными значениями результата, а старшие 4 бита — номера упакованных чисел источника, которые становятся старшими упакованными значениями результата. Пример: |