获取SHA1MSG1指令的非法指令错误

时间:2018-04-04 15:44:46

标签: assembly x86-64

SHA1MSG1是用于计算计算SHA1哈希值的步骤的英特尔指令。我使用它如下(在AT& T语法中):

sha1msg1    %xmm14, %xmm13

我可以编译我的代码。当我运行我的代码时,它会出错:

Illegal instruction (core dumped)

我使用ida pro调试了我的代码,我收到的错误如下:

401839: got SIGILL signal (Illegal instruction) (exc.code 4, tid 48292)

我试图找到使用此指令的示例,但我没有找到任何指令。我想我根据MDN正确使用了它。知道我做错了吗?

BTW,我使用的是Ubuntu 64bit。

1 个答案:

答案 0 :(得分:4)

看起来您的处理器不支持SHA1MSG1指令 它是随enter image description here引入的,因此其服务器处理器必须是Goldmont microarchitecture(2016)或更高。

您的英特尔(R)Xeon(R)CPU E5645来自Denverton family(2010),因此它不支持该指令。

维基百科有Westmere family