[Bug rtl-optimization/94344] [9/10 Regression] Rotate pattern not recognized anymore
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Mar 31 09:03:28 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94344
--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:56f0b32476c0c261c8e08525f9e47fe87492447a
commit r10-7469-g56f0b32476c0c261c8e08525f9e47fe87492447a
Author: Jakub Jelinek <jakub@redhat.com>
Date: Tue Mar 31 11:02:47 2020 +0200
forwprop: Pattern recognize more rotates [PR94344]
The following patch adjusts simplify_rotate to recognize more rotates,
basically we allow even some same precision integral -> integral
conversions, with the requirement that the RSHIFT_EXPR operand has to be
done in unsigned type (i.e. logical right shift), so that we compensate for
the combiner no longer being able to simplify those into rotates on some
targets.
2020-03-31 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/94344
* tree-ssa-forwprop.c (simplify_rotate): Handle also same precision
conversions, either on both operands of |^+ or just one. Handle
also extra same precision conversion on RSHIFT_EXPR first operand
provided RSHIFT_EXPR is performed in unsigned type.
* gcc.dg/pr94344.c: New test.
More information about the Gcc-bugs
mailing list