Bug in gcc-20011231

Peter Barada pbarada@mail.wm.sps.mot.com
Fri Jan 4 13:28:00 GMT 2002


>I've seen in passing some patches from Jan Hubicka adding precise timing
>information for pentium processors beyond the pentium pro -- suppose
>that in the experimental version the time for multiply (in i386.md) is
>now small enough that the RTL emits the multiply instead of the
>alternate sequence above.
>
>But there has to be something else - because in the 3.0.1 sequence we
>get a QImode multiplier, but 3.1 is using 32 bits.
>
>
>I guess the quick test is to build with -march=pentiumpro or -march=i486
>or some such and see what happens???

-march=pentiumpro fails.
-march=i486       passes.

The char code in the i486 case looks like:

	movl	$0, %eax
	movb	c_val, %al
	movl	$3, %ecx
	movl	$0, %edx
	divw	%cx
	movb	%dl, %al
	cmpb	c_expected, %al


The short code looks like:

.L2:
	movw	s_val, %cx
	movl	$3, %ebx
	movl	$0, %edx
	movl	%ecx, %eax
	divw	%bx
	cmpw	s_expected, %dx

-- 
Peter Barada                                   Peter.Barada@motorola.com
Wizard                                         781-852-2768 (direct)
WaveMark Solutions(wholly owned by Motorola)   781-270-0193 (fax)



More information about the Gcc mailing list