This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/69489] missed vectorization for boolean loop, missed if-conversion
- From: "amker at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 21 Apr 2016 14:40:39 +0000
- Subject: [Bug tree-optimization/69489] missed vectorization for boolean loop, missed if-conversion
- Auto-submitted: auto-generated
- References: <bug-69489-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69489
--- Comment #10 from amker at gcc dot gnu.org ---
(In reply to Andreas Schwab from comment #7)
> The second commit triggers this ICE on ia64:
>
> $ gcc/xgcc -Bgcc/ ../../gcc/gcc/testsuite/gcc.dg/pr70725.c -O3 -S
> ../../gcc/gcc/testsuite/gcc.dg/pr70725.c: In function âfn1â:
> ../../gcc/gcc/testsuite/gcc.dg/pr70725.c:13:1: internal compiler error: in
> phi_convertible_by_degenerating_args, at tree-if-conv.c:605
> fn1 ()
> ^~~
> 0x4000000001c26b3f phi_convertible_by_degenerating_args
> ../../gcc/tree-if-conv.c:605
> 0x4000000001c2727f if_convertible_phi_p
> ../../gcc/tree-if-conv.c:662
> 0x4000000001c3675f if_convertible_loop_p_1
> ../../gcc/tree-if-conv.c:1408
> 0x4000000001c3700f if_convertible_loop_p
> ../../gcc/tree-if-conv.c:1466
> 0x4000000001c374cf tree_if_conversion
> ../../gcc/tree-if-conv.c:2774
> 0x4000000001c37d9f execute
> ../../gcc/tree-if-conv.c:2875
(In reply to rguenther@suse.de from comment #9)
> On Thu, 21 Apr 2016, schwab@linux-m68k.org wrote:
>
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69489
> >
> > --- Comment #7 from Andreas Schwab <schwab@linux-m68k.org> ---
> > The second commit triggers this ICE on ia64:
> >
> > $ gcc/xgcc -Bgcc/ ../../gcc/gcc/testsuite/gcc.dg/pr70725.c -O3 -S
> > ../../gcc/gcc/testsuite/gcc.dg/pr70725.c: In function âfn1â:
> > ../../gcc/gcc/testsuite/gcc.dg/pr70725.c:13:1: internal compiler error: in
> > phi_convertible_by_degenerating_args, at tree-if-conv.c:605
> > fn1 ()
> > ^~~
> > 0x4000000001c26b3f phi_convertible_by_degenerating_args
> > ../../gcc/tree-if-conv.c:605
> > 0x4000000001c2727f if_convertible_phi_p
> > ../../gcc/tree-if-conv.c:662
> > 0x4000000001c3675f if_convertible_loop_p_1
> > ../../gcc/tree-if-conv.c:1408
> > 0x4000000001c3700f if_convertible_loop_p
> > ../../gcc/tree-if-conv.c:1466
> > 0x4000000001c374cf tree_if_conversion
> > ../../gcc/tree-if-conv.c:2774
> > 0x4000000001c37d9f execute
> > ../../gcc/tree-if-conv.c:2875
>
> Isn't that what was reported in PR70725 for its fix? Does r235341 fix it?
I will check this. Also I have a following patch handling general cases in
which PHIs can be degenerated and have more than one arguments.