[Bug target/19653] x87 reg allocated for constants for -mfpmath=sse

uros at kss-loka dot si gcc-bugzilla@gcc.gnu.org
Wed Feb 9 13:11:00 GMT 2005


------- Additional Comments From uros at kss-loka dot si  2005-02-09 07:30 -------
(In reply to comment #4)
> rth hacked the constraints recently to have better ra for some fp cases.  Can
> you see if the bug is still there today on mainline?

gcc version 4.0.0 20050209 (experimental)
'-O2 -march=pentium4 -mfpmath=sse -ffast-math -D__NO_MATH_INLINES'

	...
	comisd	.LC2, %xmm0
	jb	.L2
	fld1                        <- load of 1 into SSE reg
	fstpl	-112(%ebp)
	movsd	-112(%ebp), %xmm2
	fldz                        <- load of 0 into SSE reg
	fstl	-112(%ebp)
	movsd	-112(%ebp), %xmm1
	movapd	%xmm1, %xmm0
.L4:
	fldl	32(%ebx)               movsd 32(%ebx), %xmm3
	fstpl	-96(%ebp)              movsd %xmm3, -96(%ebp)
	movsd	-96(%ebp), %xmm3       [ -not needed- ]
	mulsd	%xmm2, %xmm3
	subsd	%xmm0, %xmm3
	fldl	24(%ebx)            <-move to temporary, this is OK
	fstpl	-88(%ebp)
	mulsd	-88(%ebp), %xmm2
	xorpd	.LC4, %xmm2
	movsd	-88(%ebp), %xmm4
	mulsd	%xmm1, %xmm4
	...

The bug is still there (it manifests itself also in a couple of other places).
Could somebody confirm this bug? A testcase is attached.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19653



More information about the Gcc-bugs mailing list