Мое впечатление точно нет, но, возможно, есть хитрый трюк? Спасибо.
Можно ли использовать регистры XMM для выполнения любой 128-битной целочисленной математики?
Ответы (2)
Не напрямую, но есть 64-битные арифметические операции, которые можно легко комбинировать для выполнения 128-битной (или большей) точности.
person
Paul R
schedule
19.07.2011
Это возможно, но имейте в виду, что здесь нет операций добавления с переносом, поэтому фактическая реализация может быть медленнее, чем скалярная версия.
- person Jasper Bekkers; 19.07.2011
@Jasper: хороший момент - это относительно легко реализовать (хотя и нетривиально), но производительность может быть ненамного лучше, чем просто использование двух 64-битных скалярных ALU, которые есть в большинстве современных процессоров x86.
- person Paul R; 20.07.2011
Регистры xmm могут выполнять арифметические операции с 8-, 16-, 32- и 64-битными целыми числами. Он не создает флаг переноса, поэтому вы не можете расширить точность за пределы 64 бит. Математические библиотеки расширенной точности используют регистры общего назначения, которые являются 32-битными или 64-битными, в зависимости от ОС.
person
A Fog
schedule
26.07.2011
PADDQ
иPSUBQ
), но это все, что нужно. - person Paul R   schedule 19.07.2011