Предотвращение автоматического использования GCC инструкций AVX и FMA при компиляции с -mavx и -mfma
Как я могу отключить автоматическую векторизацию с помощью инструкций AVX и FMA? Я бы все же предпочел, чтобы компилятор использовал SSE и SSE2 автоматически, но не FMA и AVX.
Мой код, который использует AVX, проверяет его доступность, но GCC не делает это при автоматической векторизации. Так что, если я скомпилирую с-mfma
и запустить код на любом процессоре до Haswell, я получаюSIGILL
, Как решить эту проблему?