This is the mail archive of the gcc-bugs@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]
Other format: [Raw text]

Re: optimization/6703: optimized memset fills incorrect number ofbytes for void** parameter


http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=6703
This patch extracted from cvs diff -r 1.386 -r 1.387 seems to fix the problem:

ChangeLog
===================================================================
Tue Apr 23 14:24:25 CEST 2002  Jan Hubicka  <jh@suse.cz>

	* i386.c (ix86_expand_clrstr): Fix typo.

Index: i386.c
===================================================================
RCS file: /cvsroot/gcc/gcc/gcc/config/i386/i386.c,v
retrieving revision 1.368.2.9
diff -c -3 -p -r1.368.2.9 i386.c
*** i386.c	23 Apr 2002 08:11:22 -0000	1.368.2.9
--- i386.c	20 May 2002 09:30:28 -0000
*************** ix86_expand_clrstr (src, count_exp, alig
*** 9420,9426 ****
   		 
	 gen_rtx_SUBREG (SImode, zeroreg, 0)));
         if (TARGET_64BIT && (align <= 4 || count == 0))
   	{
! 	  rtx label = ix86_expand_aligntest (destreg, 2);
   	  emit_insn (gen_strsetsi (destreg,
   		 
	   gen_rtx_SUBREG (SImode, zeroreg, 0)));
   	  emit_label (label);
--- 9420,9426 ----
   		 
	 gen_rtx_SUBREG (SImode, zeroreg, 0)));
         if (TARGET_64BIT && (align <= 4 || count == 0))
   	{
! 	  rtx label = ix86_expand_aligntest (countreg, 2);
   	  emit_insn (gen_strsetsi (destreg,
   		 
	   gen_rtx_SUBREG (SImode, zeroreg, 0)));
   	  emit_label (label);
*************** ix86_expand_clrstr (src, count_exp, alig
*** 9431,9437 ****
   		 
	 gen_rtx_SUBREG (HImode, zeroreg, 0)));
         if (align <= 2 || count == 0)
   	{
! 	  rtx label = ix86_expand_aligntest (destreg, 2);
   	  emit_insn (gen_strsethi (destreg,
   		 
	   gen_rtx_SUBREG (HImode, zeroreg, 0)));
   	  emit_label (label);
--- 9431,9437 ----
   		 
	 gen_rtx_SUBREG (HImode, zeroreg, 0)));
         if (align <= 2 || count == 0)
   	{
! 	  rtx label = ix86_expand_aligntest (countreg, 2);
   	  emit_insn (gen_strsethi (destreg,
   		 
	   gen_rtx_SUBREG (HImode, zeroreg, 0)));
   	  emit_label (label);
*************** ix86_expand_clrstr (src, count_exp, alig
*** 9442,9448 ****
   		 
	 gen_rtx_SUBREG (QImode, zeroreg, 0)));
         if (align <= 1 || count == 0)
   	{
! 	  rtx label = ix86_expand_aligntest (destreg, 1);
   	  emit_insn (gen_strsetqi (destreg,
   		 
	   gen_rtx_SUBREG (QImode, zeroreg, 0)));
   	  emit_label (label);
--- 9442,9448 ----
   		 
	 gen_rtx_SUBREG (QImode, zeroreg, 0)));
         if (align <= 1 || count == 0)
   	{
! 	  rtx label = ix86_expand_aligntest (countreg, 1);
   	  emit_insn (gen_strsetqi (destreg,
   		 
	   gen_rtx_SUBREG (QImode, zeroreg, 0)));
   	  emit_label (label);


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