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