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]

CONST fixes


Const is Pmode.

Tue Aug  1 00:35:49 CEST 2000  Jan Hubicka  <jh@suse.cz>
	* i386.c (legitimize_pic_address): CONST is Pmode.
	(print_operand_address): Likewise.
	* i386.md (casei): Likewise.

*** i386.c.old	Mon Jul 10 15:51:23 2000
--- i386.c	Mon Jul 31 23:58:48 2000
*************** legitimize_pic_address (orig, reg)
*** 2581,2587 ****
  
        current_function_uses_pic_offset_table = 1;
        new = gen_rtx_UNSPEC (VOIDmode, gen_rtvec (1, addr), 7);
!       new = gen_rtx_CONST (VOIDmode, new);
        new = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, new);
  
        if (reg != 0)
--- 2673,2679 ----
  
        current_function_uses_pic_offset_table = 1;
        new = gen_rtx_UNSPEC (VOIDmode, gen_rtvec (1, addr), 7);
!       new = gen_rtx_CONST (Pmode, new);
        new = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, new);
  
        if (reg != 0)
*************** legitimize_pic_address (orig, reg)
*** 2597,2603 ****
  
        current_function_uses_pic_offset_table = 1;
        new = gen_rtx_UNSPEC (VOIDmode, gen_rtvec (1, addr), 6);
!       new = gen_rtx_CONST (VOIDmode, new);
        new = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, new);
        new = gen_rtx_MEM (Pmode, new);
        RTX_UNCHANGING_P (new) = 1;
--- 2689,2695 ----
  
        current_function_uses_pic_offset_table = 1;
        new = gen_rtx_UNSPEC (VOIDmode, gen_rtvec (1, addr), 6);
!       new = gen_rtx_CONST (Pmode, new);
        new = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, new);
        new = gen_rtx_MEM (Pmode, new);
        RTX_UNCHANGING_P (new) = 1;
*************** legitimize_pic_address (orig, reg)
*** 2634,2640 ****
  	      current_function_uses_pic_offset_table = 1;
  	      new = gen_rtx_UNSPEC (VOIDmode, gen_rtvec (1, op0), 7);
  	      new = gen_rtx_PLUS (VOIDmode, new, op1);
! 	      new = gen_rtx_CONST (VOIDmode, new);
  	      new = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, new);
  
  	      if (reg != 0)
--- 2726,2732 ----
  	      current_function_uses_pic_offset_table = 1;
  	      new = gen_rtx_UNSPEC (VOIDmode, gen_rtvec (1, op0), 7);
  	      new = gen_rtx_PLUS (VOIDmode, new, op1);
! 	      new = gen_rtx_CONST (Pmode, new);
  	      new = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, new);
  
  	      if (reg != 0)
*************** print_operand_address (file, addr)
*** 3465,3471 ****
  		  && GET_CODE (XEXP (XEXP (disp, 0), 1)) == CONST_INT)
  		{
  		  offset = XEXP (XEXP (disp, 0), 1);
! 		  disp = gen_rtx_CONST (VOIDmode,
  					XEXP (XEXP (disp, 0), 0));
  		}
  
--- 3561,3567 ----
  		  && GET_CODE (XEXP (XEXP (disp, 0), 1)) == CONST_INT)
  		{
  		  offset = XEXP (XEXP (disp, 0), 1);
! 		  disp = gen_rtx_CONST (Pmode,
  					XEXP (XEXP (disp, 0), 0));
  		}
  
*** i386.md.can	Mon Jul 31 20:41:56 2000
--- i386.md	Tue Aug  1 00:30:38 2000
***************
*** 8325,8331 ****
  	   (minus:SI (match_dup 8)
  	     (mem:SI (plus:SI (plus:SI (mult:SI (match_dup 6) (const_int 4))
  			      (match_dup 8))
! 		     (const (unspec [(label_ref (match_operand 3 "" ""))] 7))))))
        (clobber (reg:CC 17))])
     (parallel [(set (pc) (match_dup 7))
  	      (use (label_ref (match_dup 3)))])]
--- 8299,8305 ----
  	   (minus:SI (match_dup 8)
  	     (mem:SI (plus:SI (plus:SI (mult:SI (match_dup 6) (const_int 4))
  			      (match_dup 8))
! 		     (const:SI (unspec [(label_ref (match_operand 3 "" ""))] 7))))))
        (clobber (reg:CC 17))])
     (parallel [(set (pc) (match_dup 7))
  	      (use (label_ref (match_dup 3)))])]

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