optimization/8541: Alpha architecture: Wrong code with -O1 and higher (Regression from 2.95)

Falk Hueffner falk.hueffner@student.uni-tuebingen.de
Tue Nov 19 14:16:00 GMT 2002


The following reply was made to PR optimization/8541; it has been noted by GNATS.

From: Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
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(&quot, 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



More information about the Gcc-prs mailing list