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

mas*_*sec 1 assembly x86-64

SHA1MSG1是Intel指令,用于计算用于计算SHA1哈希值的步骤。我使用它的方式如下(采用AT&T语法):

sha1msg1    %xmm14, %xmm13
Run Code Online (Sandbox Code Playgroud)

我可以编译我的代码。当我运行我的代码时,它给出一个错误:

Illegal instruction (core dumped)
Run Code Online (Sandbox Code Playgroud)

我使用调试了代码ida pro,但此指令出现错误,如下所示:

401839: got SIGILL signal (Illegal instruction) (exc.code 4, tid 48292)
Run Code Online (Sandbox Code Playgroud)

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

顺便说一句,我正在使用Ubuntu 64位。

zx4*_*485 5

看来您的处理器不支持SHA1MSG1指令。
它是在Goldmont微体系结构中引入的,因此其服务器处理器必须是Denverton系列(2016年)或更高版本。

您的Intel®Xeon®CPU E5645来自Westmere家族(2010),因此它不支持该指令。

维基百科列出了不同的微体系结构