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
This commit is contained in:
parent
5bf31c642e
commit
50ffe7adc0
4 changed files with 23 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
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;
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
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
|
||||
|
|
10
gcc/testsuite/gcc.dg/pr85414.c
Normal file
10
gcc/testsuite/gcc.dg/pr85414.c
Normal file
|
@ -0,0 +1,10 @@
|
|||
/* 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);
|
||||
}
|
Loading…
Add table
Reference in a new issue