Commit 50ffe7ad by Jakub Jelinek Committed by Jakub Jelinek

re PR middle-end/85414 (ICE: in ix86_expand_prologue, at config/i386/i386.c:13810 with -Og -fgcse)

	PR middle-end/85414
	* rtlhooks.c (gen_lowpart_if_possible): Don't call gen_lowpart_SUBREG
	on a SUBREG.

	* gcc.dg/pr85414.c: New test.

From-SVN: r259433
parent 5bf31c64
2018-04-17 Jakub Jelinek <jakub@redhat.com>
PR middle-end/85414
* rtlhooks.c (gen_lowpart_if_possible): Don't call gen_lowpart_SUBREG
on a SUBREG.
2018-04-17 Martin Jambor <mjambor@suse.cz>
PR ipa/85421
......
......@@ -123,9 +123,9 @@ gen_lowpart_if_possible (machine_mode mode, rtx x)
return new_rtx;
}
else if (mode != GET_MODE (x) && GET_MODE (x) != VOIDmode
else if (mode != GET_MODE (x) && GET_MODE (x) != VOIDmode && !SUBREG_P (x)
&& validate_subreg (mode, GET_MODE (x), x,
subreg_lowpart_offset (mode, GET_MODE (x))))
subreg_lowpart_offset (mode, GET_MODE (x))))
return gen_lowpart_SUBREG (mode, x);
else
return 0;
......
2018-04-17 Jakub Jelinek <jakub@redhat.com>
PR middle-end/85414
* gcc.dg/pr85414.c: New test.
2018-04-17 Martin Jambor <mjambor@suse.cz>
PR ipa/85421
......
/* PR middle-end/85414 */
/* { dg-do compile { target int128 } } */
/* { dg-options "-Og -fgcse -Wno-uninitialized" } */
int
foo (void)
{
unsigned __int128 c;
return __builtin_mul_overflow_p (59, -c, (short) 0);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment