свойственный инструкции mulx
mulx
инструкция была введена с набором команд BMI2, начиная с процессора Haswell.
В соответствии сДокументация Intel должно быть присущеmulx
unsigned __int64 umul128(unsigned __int64 a, unsigned __int64 b, unsigned __int64 * hi);
Однако я не нахожу такойВстроенное руководство Intel в Интернете под ИМТ2 или вообще. Однако я нахожу встроенные функции addcarry из набора инструкций ADX.
В соответствии сэта ссылка внутренняяmulx_u64
но я тоже этого не нахожу.
MSVC добавил_umul128 свойственный в MSVC 2005, но это только производитmul
и неmulx
(и я понятия не имею, как включить BMI2 в MSVC).
Я могу произвестиmulx
инструкция косвенно используя__int128
в GCC с-mbmi2
(или же-march=haswell
) но я бы предпочел сделать это более напрямую, используя встроенный.
Почему существуют встроенные функции ADX, но неmulx
как определено вДокументация Intel?