最近在使用sse指令集優化代碼的時候,編譯出錯,報一堆類似如下的錯誤,
/usr/lib/gcc/x86_64-linux-gnu/7/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline ‘__m256 _mm256_fmadd_ps(__m256, __m256, __m256)’: target specific option mismatch _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
這個問題 添加編譯選項
-mfma
就解決了
類似其他 “__mm256_XXXXXX_XX ”函數,通過查找對應的SSE指令集即可,
網址為https://software.intel.com/sites/landingpage/IntrinsicsGuide/#expand=3828,301,2553
搜索框輸入對應函數即可找到對應編譯flag
參考:
https://blog.csdn.net/willib/article/details/52386087
https://software.intel.com/sites/landingpage/IntrinsicsGuide/#expand=3828,301,2553