gcc认为MMX寄存器是"错误的寄存器名称" s

时间:2015-09-27 21:13:32

标签: cpu-architecture

我试图通过使用MMX和SSE扩展中包含的寄存器和指令来优化点积的计算。

当我插入下面看到的行时,gcc给出了一个关于%xxmX寄存器的错误寄存器名称的错误

 .L3:
    movl    -8(%ebp), %eax
    leal    0(,%eax,4), %edx
    movl    8(%ebp), %eax
    addl    %edx, %eax
    movups  (%eax), %xxm0       <--------------------
    flds    (%eax)
    movl    -8(%ebp), %eax
    leal    0(,%eax,4), %edx
    movl    12(%ebp), %eax
    addl    %edx, %eax
    flds    (%eax)
    fmulp   %st, %st(1)
    flds    -4(%ebp)
    faddp   %st, %st(1)
    fstps   -4(%ebp)
    addl    $1, -8(%ebp)

编译时
 gcc -m32 -march=corei7 dot_product.s

我得到了

 dot_product.s: Assembler messages:
 dot_product.s:24: Error: bad register name `%xxm0'

我有如下所示的corei7架构

 dpkg --print-foreign-architectures

产量

 i386
 corei7

任何想法为什么gcc会抛出错误?

0 个答案:

没有答案