Я использую умножение (с добавлением других операций) в качестве замены для целочисленного деления. Мое решение в конечном итоге требует, чтобы я умножил 2 32-битных числа вместе и взял верхние 32 бита (точно так же, как функцию mulhi), но AVX2 не предлагает 32-битный вариант _mm256_mulhi_epu16 (например: нет функции _mm256_mulhi_epu32 ').
Я пробовал различные методы, такие как проверка функций AVX512 или даже манипулирование 32-разрядными целыми числами, чтобы они были 16-разрядными целыми числами типа hi / lo. Я очень новичок в работе с низкоуровневым программированием, поэтому я не знаю, что является оптимальным или даже просто возможным.