This patch ensures that vector predication and vectorization width pragmas work together correctly/as expected.
Specifically, this patch fixes the issue that when vectorization_width > 1, the vector predication behaviour (this would matter
if it has NOT been disabled explicitly by a pragma) was getting ignored, which was incorrect.
The fix here removes the dependence of vector predication on the vectorization width.
The loop metadata corresponding to clang loop pragma vectorize_predicate is always emitted,
if the pragma is specified, even if vectorization is disabled by vectorize_width(1) or vectorize(disable).
Can you add a test for vectorize_predicate(enable) vectorize_width(4)