This is the mail archive of the
gcc-bugs@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: 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
- Date: 16 Mar 2003 15:56:47 +0100
- Subject: Re: c/10083: alpha: ICE while building swi-prolog-packages
- References: <873clno2lt.fsf@student.uni-tuebingen.de>
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