This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
CONST fixes
- To: rth at cygnus dot com, gcc-patches at gcc dot gnu dot org
- Subject: CONST fixes
- From: Jan Hubicka <jh at suse dot cz>
- Date: Tue, 1 Aug 2000 10:45:49 +0200
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)))])]