From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12918 invoked by alias); 12 Nov 2002 12:09:01 -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 12733 invoked by uid 71); 12 Nov 2002 12:07:47 -0000 Date: Tue, 19 Nov 2002 14:16:00 -0000 Message-ID: <20021112120746.12700.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Falk Hueffner Subject: Re: optimization/8541: Alpha architecture: Wrong code with -O1 and higher (Regression from 2.95) Reply-To: Falk Hueffner X-SW-Source: 2002-11/txt/msg00577.txt.bz2 List-Id: The following reply was made to PR optimization/8541; it has been noted by GNATS. From: Falk Hueffner To: cludwig@cdc.informatik.tu-darmstadt.de Cc: gcc-gnats@gcc.gnu.org Subject: Re: optimization/8541: Alpha architecture: Wrong code with -O1 and higher (Regression from 2.95) Date: 12 Nov 2002 13:01:25 +0100 // a1 * RADIX + a0 = quot * b + RV inline udigit divide (udigit & quot, udigit a1, udigit a0, udigit b) { udigit a[2] = { a0, a1 }; return mpn_divrem_1(", 0, a, 2, b); } [...] udigit accum_l, accum_h, temp_h, temp_l, carry; [...] accum_h = divide(carry, 0, accum_h, pp); It seems to me that mpn_divrem_1 might write 2 words to carry, clobbering random stack memory. Are you sure it doesn't? -- Falk