问题标签 [mmx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
283 浏览

c++ - 将 MMX Intrinsics 转换为 x64 (SSE),我做错了什么?

我了解转换 MMX 32 位 mmx 内在函数不再允许 __m64. 所以我在将这段代码升级到 SSE 时遇到了很大的麻烦。我在另一个 stack-Overflow 帖子上被告知要发布我的代码。也许这个练习也会对其他人有所帮助。

我注释掉了“_mm_empty”,认为这是正确的做法。我在 emmintrin.h 中找到了所有其他 __m128i 操作的类似函数,但仍然有问题。

原32位功能码:

64 位尝试:

0 投票
1 回答
87 浏览

gcc - 执行“emms”MMX 指令时出现总线错误

我正在开发一些带有内联汇编的软件的端口,因为我们从X32下的 Debian 维护者那里获取了一些错误报告。该代码在 X86 和 X64 下都很好。

我们在emms指令中发现了一个总线错误:

根据手册,会引发以下异常:

这是 MMX 状态寄存器中使用的掩码:

我不相信我可以访问控制寄存器来确定实际导致异常的原因,因此我无法定位总线错误的原因。

总线错误的一些潜在原因是什么?或者我该如何进一步解决这个问题?


这是info float

这是来自info registers

这是 MMX 状态寄存器位的细分:

0 投票
1 回答
704 浏览

x86 - 使用 MMX 指令添加压缩字节/字

因此,假设我们有两个包含以下十六进制值的寄存器:AB0890C2, 4598EE50. 使用 MMX 指令添加它们会产生什么结果:

假设不使用饱和算法?

根据我的理解,如果你正常添加两个十六进制值,你会得到F0A17F12,但是我如何使用 MMX 指令为压缩字节和单词添加这个?

0 投票
1 回答
146 浏览

assembly - 汇编器 MMX 错误

我正在做我的学校项目:Visual Studio 中的动态 MASM 汇编程序库,它实现了 CaesarCipher 的方法。当我使用控制台应用程序时,一切正常。当我创建 Windows 窗体 UI 时,MMX 函数开始导致错误。

MMX 函数 - 我的项目的问题。我认为在我的项目中没有使用它的意义,但我必须做的一件事是使用 MMX 代码,即使它没用。

在运行良好的控制台中:

在表单应用程序中,它会导致一般错误。

0 投票
2 回答
221 浏览

c++ - 使用 MMX 指令处理字符串

我正在尝试实现一个高性能的 C++ 程序,每个周期我将 8 个字节加载到 MMX 寄存器然后处理它们,但是当我到达字符串的末尾时我当然想停止。

所以这是我找到的解决方案,每个循环加载8个字节,将每个字节与\0进行比较,如果有\0则采取预防措施。问题是,如果我的数据是 4 个字节,并且在第一个周期中加载 8 个字节,那么我从另一个应用程序内存空间加载 4 个字节。

这会给我带来麻烦吗?或者只是“噪音”来自这些字节,这对我来说是完全可以接受的,因为我一了解 \0 字符就会处理它。

0 投票
1 回答
135 浏览

c - MMX:褪色两个图像结果

我试图淡化两个图像,结果不是预期的(之前用 C 代码做过)。这是 MMX 代码:

f = 100 的 fadeMMX 的结果图像

预期图像

0 投票
3 回答
861 浏览

c++ - 为什么我不能删除 _mm_empty()?

我有一个带有一些 SSE2 指令的 c++ 函数。问题是我在使用 microsoft visual c++ 编译此代码时收到以下链接器错误:

函数“void * __cdecl process(void *)”中引用的未解析外部符号 _m_empty

当我评论 _m_empty 时,我会得到一个运行时错误!但它应该用于 MMX 指令,不是吗?

0 投票
1 回答
316 浏览

assembly - x86_64 ASM:movq 的替代品?

是否有另一种方法可以将 qword 放入 mmx 寄存器?

例如,在此代码段中:

我现在可以将其作为 qword 0xaaaaaaaaaaaaaaaa 使用,并使用它进行 pxor 等操作。还有其他方法可以将这些数据放入寄存器中吗?也许通过推/弹出它?

0 投票
0 回答
234 浏览

assembly - 装配 MMX 夏季 - pshufw - 错误 A2085

我正在使用 Visual Studio 2005 来练习编写一些汇编代码。我使用 .mmx.

这是完整的文件

上线:pshufw mm4, mm0, 00011011b ; Retreive the summed value我收到以下错误:

我知道命令是有效的。谁能告诉我如何解决这个错误。

0 投票
1 回答
382 浏览

c++ - MMX 无效的浮点运算

使用 C++ Builder 6 并尝试运行此代码

获取和异常

但我不执行除以零。这个错误怎么办