On Mon, 21 Oct 2019 08:40:11 +0100
Richard Sandiford wrote:
> Jozef Lawrynowicz writes:
> > I experienced the following ICE when working on a downstream patch for
> > msp430:
> >
> > void
> > foo (unsigned int r, unsigned int y)
> > {
> > __builtin_umul_overflow ((unsigned int) (-1), y, &r);
Jozef Lawrynowicz writes:
> I experienced the following ICE when working on a downstream patch for msp430:
>
> void
> foo (unsigned int r, unsigned int y)
> {
> __builtin_umul_overflow ((unsigned int) (-1), y, &r);
> }
>
>> msp430-elf-gcc -S tester.c -O0
>
> tester.c: In function 'foo':
> tester
00
Subject: [PATCH] Use narrow mode of constant when expanding widening
multiplication
gcc/ChangeLog:
2019-10-18 Jozef Lawrynowicz
* expr.c (expand_expr_real_2): Use op1 in its original narrow mode when
calling expand_mult_highpart_adjust.
---
gcc/expr.c | 7 +--
1 file changed