GCC对XMM寄存器的支持严重受损?

时间:2011-03-11 14:54:58

标签: gcc sse2

每当我检查GCC为使用__m128i类型的代码生成的汇编代码时,我就会看到看起来像灾难的东西。有大量的冗余指令没有用处。

然而,作为汇编程序员,我宁愿使用asm {}但是GCC阻止我在asm {}中使用XMM寄存器。

是否有一些技巧让GCC使用XMM或我是否需要等待将来的发布? 我有4.3.4。

1 个答案:

答案 0 :(得分:2)

您是否在启用优化的情况下进行编译,例如-O3?如果是这样,那么gcc通常会从内在函数生成相当不错的SSE代码。大多数内在函数映射到一个SSE指令。你能给出一个你认为特别低效的例子吗?

另外,我不确定你的意思是“GCC阻止我在asm {}中使用XMM寄存器” - 再次,如果你提供一个具体的例子,那么也许有一个简单的解决方案。