This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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);


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]