程序收到信号Sigill非法指令



我是第一次在新计算机上运行一个应用程序,但得到:

程序收到信号sigill,非法指令

当我做

x/i $ pc

我得到:

=> 0x7fffe98b8f5b <_ZNSt10_HashtableImSt4pairIKmPN4ICE211t_orderInfoEESaIS5_ENSt8__detail10_Select1stESt8equal_toImESt4hashImENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEEC2Ev+
147>:       vmovss 0x84b4d(%rip),%xmm0        # 0x7fffe993dab0

认为机器可能没有AVX,但是检查PROC/CPUINFO同时显示可用的AVX和AVX2架构。

该框上没有编译代码,我以前从未使用过此框。当我静态和动态链接时,我会遇到问题。

任何人都有任何技巧可能是什么?是计算机上的C 运行时库版本吗?

更新:似乎这是AVX512指令,这完全很奇怪。该代码是由海湾合作委员会哈希生成的。没有AVX512内联装配。

如果单击英特尔内在指南中的任何功能,则说vmovss需要AVX-512F。AVX和AVX-2还不够。

最新更新