Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
每当我检查 GCC 为使用 __m128i 类型的代码生成的汇编代码时,我都会看到看起来像是一场灾难。有大量无用的冗余指令。
然而,作为一名汇编程序员,我宁愿使用 asm{},但 GCC 阻止我在 asm{} 中使用 XMM 寄存器。
让 GCC 使用 XMM 是否有一些技巧,或者我需要等待未来的版本吗?我有 4.3.4。
您是否在启用优化的情况下进行编译,例如 -O3 ?如果是这样,那么 gcc 通常会从内在函数生成相当不错的 SSE 代码。大多数内在函数都映射到一个 SSE 指令。你能举一个你认为效率特别低的例子吗?
另外,我不确定您所说的“GCC 阻止我在 asm {} 中使用 XMM 寄存器”是什么意思——同样,如果您提供一个具体示例,那么也许有一个简单的解决方案。