c/10083: alpha: ICE while building swi-prolog-packages

Falk Hueffner falk.hueffner@student.uni-tuebingen.de
Sun Mar 16 17:06:00 GMT 2003


Falk Hueffner <falk.hueffner@student.uni-tuebingen.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



More information about the Gcc-bugs mailing list