Ответ 1
В сообщении об ошибке сообщается, что ваша программа была скомпилирована с инструкциями, которые у вашего процессора нет, и посмотрите на свою строку сборки, что заставляет меня подозревать -mavx2
и -mfma
, которые AFAIK реализованы только в довольно недавних (и высокопроизводительных) end).
Обратите внимание: gcc будет скомпилировать только с флагами для инструкций, которые ваш процессор не поддерживает, но программа не будет запускаться на вашем компьютере.
Чтобы убедиться, что ваш процессор поддерживает эти флаги, запустите в bash gcc -march=native -Q --help=target | grep enabled
и убедитесь, что на выходе содержатся все флаги сборки, которые вы хотите использовать (за исключением -mfpmath
, который не отображается как включен или отключен, так как он позволяет выводить список результатов. Для этого вам нужно будет проверить полный вывод команды gcc -march=...
).
Чтобы ответить на ваш окончательный комментарий, нет возможности "включить" эти инструкции, они реализованы на аппаратном обеспечении, либо они доступны на вашем процессоре, либо нет.