aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-loop-manip.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@linaro.org>2018-01-03 07:13:57 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2018-01-03 07:13:57 +0000
commitfba05d9e9a0321c812ddbda7b4caa3977e1db4ef (patch)
treefcb44ccf099df984033df19505fd84e7a39d4e7b /gcc/tree-vect-loop-manip.c
parent0f26839a0a779caa6c81d9fb3c31699f6ca86790 (diff)
downloadgcc-fba05d9e9a0321c812ddbda7b4caa3977e1db4ef.zip
gcc-fba05d9e9a0321c812ddbda7b4caa3977e1db4ef.tar.gz
gcc-fba05d9e9a0321c812ddbda7b4caa3977e1db4ef.tar.bz2
match.pd handling of three-constant bitops
natch.pd tries to reassociate two bit operations if both of them have constant operands. However, with the polynomial integers added later, there's no guarantee that a bit operation on two integers can be folded at compile time. This means that the pattern can trigger for operations on three constants, and as things stood could endlessly oscillate between the two associations. This patch keeps the existing pattern for the normal case of a non-constant first operand. When all three operands are constant it tries to find a pair of constants that do fold. If none do, it keeps the original expression as-was. 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * match.pd: Handle bit operations involving three constants and try to fold one pair. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r256125
Diffstat (limited to 'gcc/tree-vect-loop-manip.c')
0 files changed, 0 insertions, 0 deletions