Я использую VS2005 (на работе) и мне нужен встроенный SSE, который делает следующее:
У меня есть уже существующий __m128i
n, заполненный 16-битными целыми числами a_1,a_2,....,a_8
.
Поскольку для некоторых вычислений, которые я сейчас хочу выполнить, требуется 32 бита вместо 16, я хочу извлечь два набора из четырех 16-битных целых чисел из n и поместить их в два разделенных __m128i
, которые содержат a_1,...,a_4
и a_5,...,a_8
соответственно.
Я мог бы сделать это вручную, используя различные встроенные функции _mm_set
, но это привело бы к восьми mov
в сборке, и я надеялся, что будет более быстрый способ сделать это.