Когда я использую Visual Studio для создания инструкций сбора AVX2 с помощью встроенного компилятора, он не вставляет инструкции VXORPS, чтобы разорвать зависимость между предыдущей инструкцией, которая записывает этот регистр YMM, и сбором.
Однако компилятор Intel делает это, и конечным результатом является заметное улучшение производительности из-за нарушения зависимости от данных.
По причинам, в которые я не хочу вдаваться, я не могу использовать компилятор Intel, поэтому есть ли способ «заставить» Visual Studio вставить эту инструкцию VXORPS?
Я уже пытался создать промежуточный __m256i и вызвать для него VXORPS, но это не сработало.
-mabi=ms
, затем преобразовать объектный файл ELF64 в COFF64 и связать его с MSVC. Если вы продолжите использовать MSVC для оптимизации, особенно с AVX/AVX2/FMA, это будет разочаровывать вас снова и снова. - person Z boson   schedule 27.10.2015