This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: c/10083: alpha: ICE while building swi-prolog-packages
- From: Falk Hueffner <falk dot hueffner at student dot uni-tuebingen dot de>
- To: nobody at gcc dot gnu dot org
- Cc: gcc-prs at gcc dot gnu dot org,
- Date: 16 Mar 2003 15:06:01 -0000
- Subject: Re: c/10083: alpha: ICE while building swi-prolog-packages
- Reply-to: Falk Hueffner <falk dot hueffner at student dot uni-tuebingen dot de>
The following reply was made to PR c/10083; it has been noted by GNATS.
From: Falk Hueffner <falk dot hueffner at student dot uni-tuebingen dot de>
To: gcc-gnats at gcc dot gnu dot org
Cc: 184749 at bugs dot debian dot org, gcc-bugs at gcc dot gnu dot org, rmurray at debian dot org
Subject: Re: c/10083: alpha: ICE while building swi-prolog-packages
Date: 16 Mar 2003 15:56:47 +0100
Falk Hueffner <falk dot hueffner at student dot uni-tuebingen dot de> writes:
> a slightly smaller test case is:
>
> static unsigned long getTimeEvent(unsigned long time)
> {
> return time % ((1UL << 62) - 1);
> }
The problem is that expand_divmod generates a zero extension of a
constant, which is VOIDmode:
(insn 11 10 12
(nil)
(set (reg:DI 72)
(truncate:DI (lshiftrt:TI (mult:TI (zero_extend:TI (reg/v:DI 70 [time]))
(zero_extend:TI (const_int 65 [0x41])))
(const_int 64 [0x40])))) -1 (nil)
(nil))
Should expand_divmod not generate this, or should
simplify_unary_operation be able to handle it?
--
Falk