gpt4 book ai didi

c - 在 ‘%xmm1’ 中修复未知的寄存器名称 ‘asm’ ?

转载 作者:太空宇宙 更新时间:2023-11-04 00:04:38 26 4
gpt4 key购买 nike

我正在尝试为 ubuntu 14.04 X86 构建项目,但出现以下错误:

error: unknown register name ‘%xmm1’ in ‘asm’
asm volatile (
^
error: unknown register name ‘%xmm0’ in ‘asm’
error: unknown register name ‘%mm1’ in ‘asm’
error: unknown register name ‘%mm0’ in ‘asm’
error: unknown register name ‘%xmm0’ in ‘asm’
asm volatile (
^
error: unknown register name ‘%mm0’ in ‘asm’
asm volatile (

在函数中:

static inline void
hev_bytes_xor_sse (guint8 *data, gsize size, guint8 byte)
{
gsize i = 0, c = 0, p128 = 0, p64 = 0;
guint64 w = (byte << 8) | byte;

asm volatile (
"movq %0, %%mm0\t\n"
"pshufw $0x00, %%mm0, %%mm1\t\n"
"movq2dq %%mm1, %%xmm0\t\n"
"pshufd $0x00, %%xmm0, %%xmm1\t\n"
::"m"(w)
:"%mm0", "%mm1", "%xmm0", "%xmm1"
);

海湾合作委员会版本 4.8.2

最佳答案

您可以检查 gcc 使用的目标特定选项,使用:gcc -Q --help=targetgcc -O3 -Q --help=target-O3 执行相同的操作。

为了编译此代码,您需要启用-mmmx-msse2。如果不是这种情况,您可以通过命令行传递它们:gcc -mmmx -msse2 ...

关于c - 在 ‘%xmm1’ 中修复未知的寄存器名称 ‘asm’ ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29333185/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com