http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58950

--- Comment #7 from Marc Glisse <glisse at gcc dot gnu.org> ---
Created attachment 31342
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31342&action=edit
patch

The __builtin_shuffle part of the patch seems fine.

For (i+i), I first tried not setting TREE_NOWARNING on things that are not
MODIFY_EXPR (as in the C front-end), but apparently that's how the warning for
logical ops is disabled for a || (b && c), so that's not ok. The current patch
breaks g++.dg/ext/vla13.C (PR 54583), but nothing else covered by the
testsuite, so it is tempting to see if there are other ways to fix PR 54583.

Reply via email to