This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Fix for k6 crash
> On Thu, Jun 21, 2001 at 01:24:11PM -0700, Richard Henderson wrote:
> > > * i386.md (movsi_1): Fix constraints. (PR target/2676)
> >
> > Ok for mainline. The branch isn't open yet I don't think.
>
> Scrach that -- the branch unfroze today. Ok there too.
Actually after more experimenting, I've found the loop instruction to be
cause for bootstrap failure on K6. Our instruction length estimation code
is bogus on the branch, as it executes before reg-stack, so I would propose
to disable that feature temporarily for 3.0.x.
For 3.1.x I will re-send patches to fix length attribute computation problems
and try to investigate the bootstrap failure.
Michael: you are the autor of transformation for low overhead loops. Do you
have any clue what is going wrong? Missoptimizations of gcc are dificult
to track down.
Fri Jun 22 11:15:53 CEST 2001 Jan HUbicka <jh@suse.cz>
* i386.c (x86_use_loop): Disable for K6 temporarily.
Index: i386.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/i386/i386.c,v
retrieving revision 1.268
diff -c -3 -p -r1.268 i386.c
*** i386.c 2001/06/14 13:41:22 1.268
--- i386.c 2001/06/22 09:13:48
*************** const int x86_deep_branch = m_PPRO | m_K
*** 293,299 ****
const int x86_branch_hints = m_PENT4;
const int x86_use_sahf = m_PPRO | m_K6 | m_PENT4;
const int x86_partial_reg_stall = m_PPRO;
! const int x86_use_loop = m_K6;
const int x86_use_fiop = ~(m_PPRO | m_ATHLON | m_PENT);
const int x86_use_mov0 = m_K6;
const int x86_use_cltd = ~(m_PENT | m_K6);
--- 293,300 ----
const int x86_branch_hints = m_PENT4;
const int x86_use_sahf = m_PPRO | m_K6 | m_PENT4;
const int x86_partial_reg_stall = m_PPRO;
! const int x86_use_loop = 0; /* Should be set to K6 and i386, but is broken
! and temporarily disabled for 3.0.x. */
const int x86_use_fiop = ~(m_PPRO | m_ATHLON | m_PENT);
const int x86_use_mov0 = m_K6;
const int x86_use_cltd = ~(m_PENT | m_K6);