From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10429 invoked by alias); 20 May 2002 09:56:04 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 10415 invoked by uid 71); 20 May 2002 09:56:04 -0000 Date: Mon, 20 May 2002 02:56:00 -0000 Message-ID: <20020520095604.10414.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Glen Nakamura Subject: Re: optimization/6703: optimized memset fills incorrect number of bytes for void** parameter Reply-To: Glen Nakamura X-SW-Source: 2002-05/txt/msg00585.txt.bz2 List-Id: The following reply was made to PR optimization/6703; it has been noted by GNATS. From: Glen Nakamura To: gcc-gnats@gcc.gnu.org, gcc-prs@gcc.gnu.org, dbaron@fas.harvard.edu, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org Cc: Subject: Re: optimization/6703: optimized memset fills incorrect number of bytes for void** parameter Date: Sun, 19 May 2002 23:48:23 -1000 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 * 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);