From: Andrew Pinski <apin...@marvell.com>
While looking at older unconfirmed bug reports, I noticed there was an ubsan found issue and noticed tree_nonzero_bits was being called with a vector type. How ubsan found it was at the end of tree_nonzero_bits, did "return wi::shwi (-1, TYPE_PRECISION (TREE_TYPE (t)));" and it was with a vector of 1 elements which meant precision was 0 as precision stores the log2 of the number of elements in a vector. Anyways we want to catch these kind of errors of calling tree_nonzero_bits with a vector or a complex type. And fix the places where it is called. Thanks, Andrew Pinski Andrew Pinski (2): Fix PR 105532: match.pd patterns calling tree_nonzero_bits with vector types Add assert for type on tree_nonzero_bits gcc/fold-const.cc | 3 +++ gcc/match.pd | 25 +++++++++++-------- .../gcc.c-torture/compile/vector-shift-1.c | 8 ++++++ 3 files changed, 25 insertions(+), 11 deletions(-) create mode 100644 gcc/testsuite/gcc.c-torture/compile/vector-shift-1.c -- 2.17.1