LLVM force vector width on individual loops

If we have multiple loops in a single program like loop 1 with 20 iterations, loop 2 with 40 iterations, loop 3 with 10 iteration, loop 4 with 7 iterations and so on.

How can we set different vector width for each loop? using force-vector-width
like if i pass 16 with force vector width it does not vectorize loop 3 and 4. so i want to pass vec width 16 for loop 1 & 2. width =8 for loop 3 and width=4 for loop 4.

i think it can work this way using #pragma. but how to achieve this using auto vectorization without pragmas. some special flag?

Please reply

Thank You