This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
SSE2 operands mismatch (paddd)
- To: binutils at sources dot redhat dot com
- Subject: SSE2 operands mismatch (paddd)
- From: paul rodriguez <prodrig at eece dot unm dot edu>
- Date: Wed, 7 Feb 2001 13:00:02 -0700 (MST)
Hi. I am trying to use the sse2 extension in a P4, but when I
compile my program (at the end of the mail is the code, it is a C
program with __inline__ assembly) I get this error:
Assembler messages:
Error: operands given don't match any known 386 instruction
I am using binutils-010123, on a linux 2.4.1 box. I search on the
mail list and there is no comment about this.
I also check the file binutils/include/opcode/i386.h for the
'paddd' opcode
{"paddd", 2, 0x660ffe,X,CpuSSE2,FP|Modrm, { RegXMM|LLongMem,RegXMM, 0 } }
Does anyone have an idea about what is happening?
Thanks.
Paul
static __inline__ void sse2_intsum(u_int *In_1,u_int *In_2,u_int *Out)
{
__asm__ __volatile__(
"movups 0x00(%0),%%xmm0\n\t"
"movups 0x00(%1),%%xmm1\n\t"
"paddd %%xmm1,%%xmm0 \n\t"
"movups %%xmm0,0x00(%2)\n\t"
:
: "r" (In_1), "r" (In_2),
"r" (Out)
: "memory");
return;
}