[Bug tree-optimization/50522] C++ std::valarray vectorization missed optimization

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Sep 26 10:47:00 GMT 2011


Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2011-09-26
     Ever Confirmed|0                           |1

--- Comment #2 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-09-26 10:36:38 UTC ---
(In reply to comment #1)
> Created attachment 25365 [details]
> gcc47-pr50522-hack.patch
> The perhaps safer hack, which handles only pointers initialized from
> casted TYPE_RESTRICT or POINTER_PLUS_EXPR of TYPE_RESTRICT.  Both functions are
> still vectorized.

Looks like a hack ;)

Restrict support was designed to work without the TYPE_RESTRICT checks but
ISTR there were miscompiles without adding them - maybe all latent issues
have been fixed now, but you might run into PR48764 more often.

Restrict will propagate through ptr/int/ptr conversions but should end up
aliased whenever two resulting pointers are based off the same initial
restrict tag.  Thus, if removing TYPE_RESTRICT checks bootstraps and tests
ok, I'd approve that patch ...

More information about the Gcc-bugs mailing list