This is the mail archive of the gcc-patches@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]

i386 fix


Hi
This patch marks dirflag and fp status word as fixed regsiters. This
prevents gcc from saving and loading them across the function calls.
Perhaps I am missing something here, because I think the flags register
should be fixed too, but it isn't and making it so produces longer executable.

Anyway this patch fixed crash while compiling spec benchmarks.

Pá červenec 21 01:32:44 CEST 2000  Jan Hubicka  <jh@suse.cz>
	* i386.h (FIXED_REGS): flags and fpsr is fixed. 
*** i386.h.old	Mon Jul 10 15:51:23 2000
--- i386.h	Thu Jul 20 23:16:00 2000
*************** extern int ix86_arch;
*** 629,635 ****
  /*ax,dx,cx,bx,si,di,bp,sp,st,st1,st2,st3,st4,st5,st6,st7*/	\
  {  0, 0, 0, 0, 0, 0, 0, 1, 0,  0,  0,  0,  0,  0,  0,  0,	\
  /*arg,flags,fpsr,dir,frame*/					\
!     1,    0,   0,  0,    1,					\
  /*xmm0,xmm1,xmm2,xmm3,xmm4,xmm5,xmm6,xmm7*/			\
       0,   0,   0,   0,   0,   0,   0,   0,			\
  /*mmx0,mmx1,mmx2,mmx3,mmx4,mmx5,mmx6,mmx7*/			\
--- 629,635 ----
  /*ax,dx,cx,bx,si,di,bp,sp,st,st1,st2,st3,st4,st5,st6,st7*/	\
  {  0, 0, 0, 0, 0, 0, 0, 1, 0,  0,  0,  0,  0,  0,  0,  0,	\
  /*arg,flags,fpsr,dir,frame*/					\
!     1,    0,   1,  1,    1,					\
  /*xmm0,xmm1,xmm2,xmm3,xmm4,xmm5,xmm6,xmm7*/			\
       0,   0,   0,   0,   0,   0,   0,   0,			\
  /*mmx0,mmx1,mmx2,mmx3,mmx4,mmx5,mmx6,mmx7*/			\

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