gcc -O0 -msse i386-sse-1.c /tmp/cc9PodHq.s: Assembler messages: /tmp/cc9PodHq.s:4557: Error: suffix or operands invalid for `movlps' /tmp/cc9PodHq.s:4558: Error: suffix or operands invalid for `movlps' /tmp/cc9PodHq.s:4579: Error: suffix or operands invalid for `movlps' /tmp/cc9PodHq.s:4580: Error: suffix or operands invalid for `movlps'
These movlps errors refer to: _mm_set_ps: pushl %ebp movl %esp, %ebp subl $24, %esp movss 20(%ebp), %xmm1 movss 16(%ebp), %xmm0 unpcklps %xmm0, %xmm1 movss 12(%ebp), %xmm2 movss 8(%ebp), %xmm0 movaps %xmm2, %xmm3 unpcklps %xmm0, %xmm3 (*) movlps %xmm3, %xmm0 (*) movlps %xmm1, %xmm2 movlhps %xmm0, %xmm2 movaps %xmm2, %xmm0 movaps %xmm0, -24(%ebp) movaps -24(%ebp), %xmm0 leave ret and _mm_setr_ps: pushl %ebp movl %esp, %ebp subl $24, %esp movss 8(%ebp), %xmm1 movss 12(%ebp), %xmm0 unpcklps %xmm0, %xmm1 movss 16(%ebp), %xmm2 movss 20(%ebp), %xmm0 movaps %xmm2, %xmm3 unpcklps %xmm0, %xmm3 (*) movlps %xmm3, %xmm0 (*) movlps %xmm1, %xmm2 movlhps %xmm0, %xmm2 movaps %xmm2, %xmm0 movaps %xmm0, -24(%ebp) movaps -24(%ebp), %xmm0 leave ret Note that movlps cannot handle two registers as its operands. -- Summary: Error: suffix or operands invalid for `movlps' Product: gcc Version: 4.0.0 Status: UNCONFIRMED Keywords: ssemmx Severity: normal Priority: P2 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: uros at kss-loka dot si CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19424