sbitmap is a simple bitmap and the memory allocated is not cleared
on creation; you have to clear it or set it to all ones before using
it. This is unlike bitmap which is a sparse bitmap and the entries are
cleared as created.
The code added in
r13-4044-gdc95e1e9702f2f missed that.
This patch fixes that mistake.
Committed as obvious after a bootstrap and test on x86_64-linux-gnu.
gcc/ChangeLog:
PR middle-end/107734
* match.pd (perm + vector op pattern): Clear the sbitmap before
use.
if (sel.encoding ().encoded_full_vector_p ())
{
auto_sbitmap seen (nelts);
+ bitmap_clear (seen);
+
unsigned HOST_WIDE_INT count = 0, i;
for (i = 0; i < nelts; i++)