Re: [PATCH] rs6000 PR83660 fix ICE with vec_extract
On Mon, Apr 23, 2018 at 11:36:20AM -0500, Aaron Sawdey wrote: > This also affects gcc 7 and is fixed by the same patch. I've tested the > backport to 7 on ppc64le and it causes no new fails. OK for backport to > 7 (and 6 if it's also needed there)? Yes please (for both). Thanks! Segher > On Fri, 2018-04-13 at 15:37 -0500, Aaron Sawdey wrote: > > Per the discussion on the 83660, I've come to a minimal patch to > > prevent this. Basically marking the vec_extract tree as having side > > effects later makes sure that it gets all the cleanup points it needs > > so that gimplify_cleanup_point_expr () is happy. Also because > > vec_insert puts a MODIFY_EXPR in there, it has side effects and this > > problem will not occur. > > > > Doing bootstrap/regtest on ppc64le with -mcpu=power7 since that is > > where this issue arises. OK for trunk if everything passes? > > > > Thanks, > >Aaron > > > > > > 2018-04-13 Aaron Sawdey > > > > PR target/83660 > > * config/rs6000/rs6000-c.c > > (altivec_resolve_overloaded_builtin): Mark > > vec_extract expression as having side effects to make sure it > > gets > > a cleanup point. > > > > 2018-04-13 Aaron Sawdey > > > > PR target/83660 > > * gcc.target/powerpc/pr83660.C: New test.
Re: [PATCH] rs6000 PR83660 fix ICE with vec_extract
This also affects gcc 7 and is fixed by the same patch. I've tested the backport to 7 on ppc64le and it causes no new fails. OK for backport to 7 (and 6 if it's also needed there)? Thanks, Aaron On Fri, 2018-04-13 at 15:37 -0500, Aaron Sawdey wrote: > Per the discussion on the 83660, I've come to a minimal patch to > prevent this. Basically marking the vec_extract tree as having side > effects later makes sure that it gets all the cleanup points it needs > so that gimplify_cleanup_point_expr () is happy. Also because > vec_insert puts a MODIFY_EXPR in there, it has side effects and this > problem will not occur. > > Doing bootstrap/regtest on ppc64le with -mcpu=power7 since that is > where this issue arises. OK for trunk if everything passes? > > Thanks, >Aaron > > > 2018-04-13 Aaron Sawdey > > PR target/83660 > * config/rs6000/rs6000-c.c > (altivec_resolve_overloaded_builtin): Mark > vec_extract expression as having side effects to make sure it > gets > a cleanup point. > > 2018-04-13 Aaron Sawdey > > PR target/83660 > * gcc.target/powerpc/pr83660.C: New test. > -- Aaron Sawdey, Ph.D. acsaw...@linux.vnet.ibm.com 050-2/C113 (507) 253-7520 home: 507/263-0782 IBM Linux Technology Center - PPC Toolchain
Re: [PATCH] rs6000 PR83660 fix ICE with vec_extract
Hi! On Fri, Apr 13, 2018 at 03:37:08PM -0500, Aaron Sawdey wrote: > Per the discussion on the 83660, I've come to a minimal patch to > prevent this. Basically marking the vec_extract tree as having side > effects later makes sure that it gets all the cleanup points it needs > so that gimplify_cleanup_point_expr () is happy. Also because > vec_insert puts a MODIFY_EXPR in there, it has side effects and this > problem will not occur. > > Doing bootstrap/regtest on ppc64le with -mcpu=power7 since that is > where this issue arises. OK for trunk if everything passes? > --- testsuite/gcc.target/powerpc/pr83660.C(nonexistent) > +++ testsuite/gcc.target/powerpc/pr83660.C(working copy) > @@ -0,0 +1,14 @@ > +/* PR target/83660 */ > +/* { dg-do compile } */ > +/* { dg-options "-mcpu=power7" } */ You'll need to skip this test if the user overrides -mcpu=; see the many other testcases that do this. With that fixed, okay for trunk. Thanks! Segher