[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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



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



Reply to: