This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

SSE2 operands mismatch (paddd)


	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;

}



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]