diff options
author | Andrew Pinski <apinski@marvell.com> | 2023-05-12 16:33:44 -0700 |
---|---|---|
committer | Andrew Pinski <apinski@marvell.com> | 2023-05-12 20:10:19 -0700 |
commit | 99488a6048745a7b999c22f46e5814d02ebf88d9 (patch) | |
tree | 70c4e859f73f651d4c204359ef2c1b587f44a5c2 /libgcc | |
parent | 20ca33db817cecb11661caad4a90c0aeced9130b (diff) | |
download | gcc-99488a6048745a7b999c22f46e5814d02ebf88d9.zip gcc-99488a6048745a7b999c22f46e5814d02ebf88d9.tar.gz gcc-99488a6048745a7b999c22f46e5814d02ebf88d9.tar.bz2 |
MATCH: Fix PR 109834, ICE with popcount combined with bswap
After r14-673-gc0dd80e4c4c3, there was a check in the match
patterns which was checking the type is unsigned but
instead of using the type, the patch used the expression.
This adds the needed TREE_TYPE so get the correct answer and don't ICE.
Committed as obvious after a bootstrap/test on x86_64-linux-gnu.
PR tree-optimization/109834
gcc/ChangeLog:
* match.pd (popcount(bswap(x))->popcount(x)): Fix up unsigned type checking.
(popcount(rotate(x,y))->popcount(x)): Likewise.
gcc/testsuite/ChangeLog:
* gcc.c-torture/compile/pr109834-1.c: New test.
* gcc.dg/tree-ssa/pr109834-1.c: New test.
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions