Сохранение регистров XMM в переменные - PullRequest
0 голосов
/ 21 апреля 2020

Есть ли вызов функции C (я использую g cc), который сохранит регистр XMM в указанной переменной __m128? Я хотел бы избежать прямой сборки, если это возможно.

В данном случае я пишу обработчик исключений для распечатки информации о полученных сигналах; в этом случае я получаю недопустимую операцию с плавающей запятой в высокооптимизированной программе, поэтому трудно точно знать, где происходит исключение. А поскольку недопустимая операция FPE может быть любой из множества причин, я хочу иметь возможность распечатывать шестнадцатеричные значения всех регистров SSE, чтобы помочь сузить причину. Следовательно, необходимо скопировать переменные XMM * в C, которые затем можно отправить в другое место для ведения журнала.

Я думаю, что _mm_storeu_ps () может быть intrinsi c, который мне нужен, но неясно мне, как это используется (каков синтаксис для указания, какой регистр XMM?), и я не могу найти никаких примеров.

...