[Bug target/19424] New: Error: suffix or operands invalid for `movlps'

uros at kss-loka dot si gcc-bugzilla@gcc.gnu.org
Thu Jan 13 13:29:00 GMT 2005


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



More information about the Gcc-bugs mailing list