Я собираю большую систему HPC, написанную на Фортране, используя компилятор Intel (ifort).Существует около нескольких сотен отдельных модулей, и все они прекрасно компилируются, но компоновщик выдает эту ошибку:
phys_grid.o(.text+0x91b2): In function `phys_grid_mp_assign_chunks_':
: undefined reference to `_mm_idivrem_epi32'
_mm_idivrem_epi32
представляется результатом автоматической векторизации компилятора, но если компилятор сгенерировалпочему я получаю эту ошибку?Нужно ли ссылаться на какую-то дополнительную библиотеку?
Обновление:
Используя nm
, я смог отследить функцию до libsvml
, но связавшись с нейне помоглоТеперь здесь, похоже, кроется проблема: ia32intrin.h
объявляет функцию следующим образом:
__m128i __cdecl _mm_idivrem_epi32(__m128i * r, __m128i v1, __m128i v2); //__svml_idivrem4
Но из вывода nm
символ в библиотеке равен __svml_idivrem4
.Согласно заголовочному файлу, это те же функции, но могу ли я сообщить это компоновщику?