Evitando que o GCC use automaticamente as instruções do AVX e do FMA quando compilado com -mavx e -mfma
Como posso desabilitar a vetorização automática com as instruções do AVX e do FMA? Eu ainda preferiria que o compilador empregasse SSE e SSE2 automaticamente, mas não FMA e AVX.
Meu código que usa o AVX verifica sua disponibilidade, mas o GCC não faz isso quando vetorizar automaticamente. Então, se eu compilar com-mfma
e executar o código em qualquer CPU antes de Haswell eu receboSIGILL
. Como resolver este problema?