Предварительное примечание: Фактически, когда я заканчивал писать вопрос, который я видел, this answer обращался к моему делу. Тем не менее, поскольку я уже потратил время на создание всех ссылок на необходимую документацию, может быть полезно опубликовать его в любом случае. Кроме того, там могут быть лучшие ответы.Как сохранить 4 байта из моего 16-байтового регистра после использования встроенных средств, используя до SSSE3
Вот вопрос:
В конце моей обработки у меня будет __mm128i
содержащий:
r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 rA rB rC rD rE rF
я должен хранить в памяти uint32_t
так:
r0 r4 r8 rC
Или, альтернативно (это зависит от того, как я выполняю последние 2 шага предыдущего вычисления с)
r3 r7 rB rF
Как я могу сделать это эффективно, используя инструкции SSSE3?