SIMD целочисленный магазин
Я пишу программу с использованием инструкций SSE для умножения и добавления целочисленных значений. Я сделал ту же программу с плавающей точкой, но мне не хватает инструкции для моей целочисленной версии.
С помощью float, после того, как я завершил все свои операции, я возвращаю значения de обратно в обычный массив float, выполняя:
_mm_store_ps(temp4,temp3);
temp4 - это число с плавающей точкой *, а temp3 - __m128.
Проблема в том, что я не могу найти аналогичную присущую для целых чисел. Как я должен вернуть значения обратно в обычный массив?
Большое спасибо за ваши ответы;)
1 ответ
Увидеть _mm_load_si128
, _mm_store_si128
(выровненный) и _mm_loadu_si128
_mm_storeu_si128
(Выровненный).
Возможно, вы упустили это из виду, потому что по какой-то причине типы отличаются от внутренних. Это то, что ниже movdqa
/movdqu
что ты хочешь.