https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60818

Arseny Solokha <asolokha at gmx dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |7.0

--- Comment #17 from Arseny Solokha <asolokha at gmx dot com> ---
(In reply to Arseny Solokha from comment #15)
> (In reply to Segher Boessenkool from comment #14)
> > I cannot get any of the testcases to fail with current trunk (but
> > they do fail with GCC 6).  Combine always merges the compare into
> > the if_then_else pattern, and there are no such patterns in rs6000
> > (this could be done with a cmp+isel define_insn_and_split, and is
> > probably a good idea, but we do not have that currently).
> 
> OK, I'll post another one or two the next week. This is still reproducible
> on the trunk, but the actual code pattern causing the ICE seems to be a
> moving target.

int no;

void
gn (int d3)
{
  while (no != 0)
  {
    if ((no > d3) > (no < d3))
      ++no;

    while (d3 != 0)
    {
    }
  }
}

% powerpc-e300c3-linux-gnu-gcc-7.0.0-alpha20170326 -misel -Os -w -c qb3j6i03.c
qb3j6i03.c: In function 'gn':
qb3j6i03.c:15:1: internal compiler error: in validate_condition_mode, at
config/rs6000/rs6000.c:20752
 }
 ^
0x2b53add47a3 validate_condition_mode(rtx_code, machine_mode)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/config/rs6000/rs6000.c:20751
0x2b53b0171a7 branch_comparison_operator(rtx_def*, machine_mode)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/config/rs6000/predicates.md:1243
0x2b53b01731b scc_rev_comparison_operator(rtx_def*, machine_mode)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/config/rs6000/predicates.md:1300
0x2b53b0362d4 recog_10
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/config/rs6000/rs6000.md:344
0x2b53b0362d4 recog_11
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/config/rs6000/altivec.md:224
0x2b53b0362d4 recog_12
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/config/rs6000/rs6000.md:5090
0x2b53b0703e5 recog_137
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/config/rs6000/altivec.md:1760
0x2b53b09ff2b recog_for_combine_1
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/combine.c:11145
0x2b53b0a6aed recog_for_combine
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/combine.c:11401
0x2b53b0b2601 try_combine
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/combine.c:4033
0x2b53b0b8ea0 combine_instructions
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/combine.c:1372
0x2b53b0b8ea0 rest_of_handle_combine
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/combine.c:14650
0x2b53b0b8ea0 execute
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/combine.c:14695

The same for powerpc-e500v2-linux-gnuspe. As before, toggling -fPIC may be
necessary as well.

Reply via email to